Veritabanı Güvenliği
Veritabanı, çoğu işletmenin en değerli varlığını tutar; ele geçirilirse itibar ve uyum açısından en pahalı ihlaller buradan doğar. MySQL/MariaDB veritabanınızı erişim daraltma, en az yetki, ağ maruziyetini kapatma, aktarım şifreleme ve doğrulanabilir yedekle sertleştirir — üstelik uygulamanızı bozmadan.
Bu hizmet hangi sorunu çözer?
Veritabanları sık sık "arka planda çalışan, kimsenin dokunmadığı" bileşenler olarak bırakılır. Oysa gerçekte tüm arayüzlerde dinleyen bir port, tek bir her şeye yetkili kullanıcı, şifrelenmemiş bağlantılar ve hiç geri yüklenmemiş yedekler taşırlar. Bir saldırgan uygulama katmanını geçtiğinde ya da doğrudan açık porta ulaştığında, en değerli veri savunmasız kalır. Veritabanı güvenliği; erişimi yalnızca gerekene indirmek, yetkileri en aza çekmek, veriyi aktarımda korumak ve bir felakette geri dönüşü garantileyecek doğrulanmış yedekleri kurmaktır. Kritik olan, bunları uygulama davranışını bozmadan yapmaktır.
- Tüm arayüzlerde dinleyen veritabanı portuyla doğrudan dışarıdan erişim
- Her şeye yetkili tek kullanıcıyla en az yetki ilkesinin ihlali
- Şifrelenmemiş bağlantılar nedeniyle veri dinleme riski
- Zayıf/varsayılan kimlik bilgileri ve kaldırılmamış test hesapları
- Hiç geri yüklenmemiş yedekler nedeniyle felakette veri kaybı
Bu sorunu görmezden gelmenin riski
Neyi değerlendirir ve düzeltiriz?
Ağ ve erişim
- bind-address ile dış maruziyeti kapatma
- Erişimi yalnızca uygulama sunucusu/güvenilir kaynaklara kısıtlama
- Yönetim erişiminin ayrılması ve daraltılması
Kimlik ve yetki
- En az yetkili uygulama kullanıcıları
- Varsayılan/test hesaplarının kaldırılması, anonim erişim kapatma
- Güçlü kimlik bilgileri ve rol ayrımı
Şifreleme ve sertleştirme
- TLS ile aktarım şifreleme
- Güvenli yapılandırma parametreleri
- Gereksiz özelliklerin ve eklentilerin devre dışı bırakılması
Yedek ve denetim
- PITR (point-in-time recovery) destekli yedek stratejisi
- Yedek geri yükleme doğrulaması (restore testi)
- Audit log / erişim kaydı yapılandırması
Ele aldığımız teknik alanlar
Nasıl çalışırız?
Tipik olarak neler tespit ederiz?
Aşağıdakiler illüstratif örneklerdir; gerçek müşteri verisi değildir.
Veritabanı tüm arayüzlerde dinliyor ve dışarıdan erişilebilir
Saldırgan uygulamayı hiç geçmeden doğrudan veritabanına ulaşabilir; zayıf kimlik doğrulamayla tam veri sızıntısı riski.
Öneribind-address yerelleştirildi, erişim yalnızca uygulama sunucusuna kısıtlandı ve güvenlik duvarıyla desteklendi.
Uygulama, her şeye yetkili tek kullanıcıyla bağlanıyor
Bir SQL enjeksiyonu veya sızıntı, tüm veritabanı üzerinde sınırsız yetki demektir.
ÖneriEn az yetkili uygulama kullanıcıları tanımlandı; yönetim yetkileri ayrıldı.
Bağlantılar şifrelenmemiş (TLS yok)
Ağ üzerinde veri ve kimlik bilgileri dinlenebilir.
ÖneriTLS ile aktarım şifreleme etkinleştirildi ve uygulama bağlantısı uyumlu hale getirildi.
Varsayılan/anonim hesaplar ve test veritabanları mevcut
Kaldırılmamış varsayılanlar bilinen giriş yolları oluşturur.
ÖneriAnonim erişim kapatıldı, varsayılan/test hesapları ve veritabanları kaldırıldı.
Yedekler hiç geri yüklenerek doğrulanmamış
Bir felakette yedeklerin gerçekten geri yüklenebildiği belirsiz; "yedek var" yanılsaması riski.
ÖneriPITR destekli yedek düzeni kuruldu ve başarılı bir geri yükleme testiyle doğrulandı.
Ne teslim alırsınız, kimler için?
Ne teslim alırsınız?
- Sertleştirilmiş veritabanı yapılandırması (öncesi/sonrası)
- Kullanıcı ve yetki matrisi (en az yetki uygulanmış)
- Ağ erişim kısıtlama kuralları
- TLS aktarım şifreleme yapılandırması
- PITR yedek stratejisi ve doğrulanmış geri yükleme testi
- Uygulama uyumluluk ve işlevsellik doğrulaması
Kimler için?
- Kişisel/finansal veri tutan uygulamalar
- Veritabanı portu açık kalmış işletmeler
- Tek yetkili kullanıcıyla çalışan ekipler
- KVKK/uyum gereksinimi olan firmalar
Bu hizmeti ne zaman düşünmelisiniz?
- Kişisel veri işleyen bir uygulamayı yayına almadan önce
- Denetimde veritabanı maruziyeti tespit edildikten sonra
- Uyum veya müşteri güvenlik anketi öncesinde
- Yedeklerin gerçekten çalıştığından emin olmak istediğinizde
Varsayılan kurulum vs. sertleştirilmiş veritabanı
| Varsayılan kurulum | Sertleştirilmiş | |
|---|---|---|
| Ağ maruziyeti | Sık sık açık | Yalnızca gerekene |
| Yetki modeli | Tek güçlü kullanıcı | En az yetki |
| Aktarım şifreleme | Genellikle yok | TLS ile |
| Yedek güvenilirliği | Doğrulanmamış | Restore testli PITR |
Sıkça Sorulan Sorular
Sertleştirme uygulamamı bozar mı?
Veritabanı parolamı vermem gerekir mi?
Mevcut veriyi şifreleme (at-rest) sağlıyor musunuz?
Uygulamamı tek kullanıcıdan en az yetkiye geçirmek zor mu?
PITR yedek tam olarak ne sağlar?
Yedeklerimin çalıştığını nasıl kanıtlıyorsunuz?
Redis veya başka veri depoları için de geçerli mi?
Audit log performansı etkiler mi?
"%100 güvenli" olur muyum?
İlgili hizmetler, araçlar ve rehberler
Veritabanı Güvenliği için başlayalım
Kapsamı netleştirelim, önceliklerinizi belirleyelim ve size özel, şeffaf bir güvenlik yol haritası çıkaralım — abartılı vaat değil, ölçülebilir risk azaltma.