Veritabanları sistemlerde verilerin tutulduğu yer olduğu göz önüne alınca sistemdeki en değerli ve en güvende olması gereken yerlerden biridir. Yapılan araştrmalara göre dünya genelinde veritabanları güvenliğine verilen önemin az olduğu görülmektedir. Veritabanı güvenliği gerektiği gibi sağlanmadığında finansal verileri, müşteri bilgilerini, sağlık kayıtlarını, fikri mülkiyet hazinelerini ve daha fazlasını tehlikeye atmaktadır.
Yakın zamandaki veritabanı zafiyetlerini incelediğimizde;
2016 Kasım ayında MySQL i etkileyen 2 zafiyet ortaya çıktı bunlar kod çalıştırmaya veya sunucu üzerinde root yetkisine erişilmesine neden olmaktaydı. 2017 başlarında ise MongoDB de yapılandırma hataları veya eksikleri yüzünden veritabanları şifrelenip karşılığında para istemiştir.(MongoDB vakasına bağlantıdan ulaşabilirsiniz.)
Yapılan araştırmalara göre 2012-2016 yıllarında veritabanı zafiyetleri yüzünden meydana gelen veri sızıntıları yüzde yüzden fazla artmıştır.
2016 yılında veritabanları zafiyetleri karşılaştırıldığında MySQL %32 ile birinci sırada yer alırken, Microsoft %26 ile ikinci %14 ile de Oracle üçüncü sırada yer almaktadır.
Kuruluşların veritabanlarını etkiliyen zafiyetleri en kısa zamanda kapatması kilit adımlardan bir tanesidir.
Veritabanları saldırıya uğramadan yapılabilecek birkaç adımı incelersek;
- Veritabanı sistemlerinin eksiksiz güncellenen zafiyeti bulunmayan halde anlık yedeklerini alın.
- Zafiyetlerin yamanma sırasını CVSS puanlarına göre sıralayınız.
- Zafiyeti sömürevek kodun yayınladığı zafiyetlere önem veriniz.
- Sistem üzerinde kod çalıştırabilen ve sistem üzerinde yetki yükseltilebilen zafiyetlerin yamanmasına öncelik verin.
Veritabanı Yapılandırma Hataları
Veritabanlarının diğer en büyük düşmanları ise yanlış yapılandırmalardır. Dikkatsizlik veya bilgisizlikten dolayı veritabanları saldırılara maruz kalabilir.
- Ortak kullanıcılar oluşturulup gerektiğinden fazla yetki verilmesi
- Sistem üzerinde bilgi toplanmasına neden olabilecek başlık bilgileri ve hata mesajlarının açık bırakılması
- Güvenlik korumasının devre dışı bırakılması
en sık rastlanan yapılandırma hatalarıdır.
MySQL üzerinde alınabilecek birkaç güvenlik önlemine değinecek olursak;
- Ayrık ve olabildiğince en az yetkili hesaplar oluştrun.
- Etkileşimli girişi devredışı bırakın.
- Yalnızca veritabanı yöneticilerine tam erişim verin, diğer kullanıcılardan gereksiz izinlerin kaldırıldığından emin olun.
- Loglama mekanizmasını aktif hale getirin.
- İstemci-Sunucu arasındaki trafiğin TLS ile şifrelendiğine emin olun.
- Kaba kuvvet saldırılarından kaçınmak için parola politikalarınızı katı kurallarla oluşturun, parola koruması gibi mekanizmaları aktifleştirin ve güncel olmayan kimlik doğrulama sistemlerine ait istemcilerin bağlantılarını engelleyin.
- Tüm hesaplar için parolaların oluşturulduğuna emin olun.
- Kullanıcıların sadece belirttikleri sistem üzerinden bağlandıklarından emin olun.
- İsimsiz hesapların varlığına izin vermeyin.