Veri tabanında güvenlik nasıl sağlanır saydamlık için neler yapılır

Her şeyden önce veri tabanı güvenliğini iç ve dış olarak ikiye ayırmak lazım. İç güvenlik kullanıcılar ve veri tabanı ile ilgilidir. Dış güvenlik ise veri tabanına kurum dışından gelecek tüm tehditleri kapsamaktadır.

İç güvenlikle başlayalım: Kullanıcıların şifreleri karmaşık şekilde verilmelidir. Büyük harf, işaret, vb. ayırıcı ve zorlayıcı olmalıdır. Kullanıcıların yetkileri sınırlandırılmalıdır. Her kullanıcı (veri tabanı yöneticisi dahil) istediği tabloya erişip veri çekmemelidir. Bu yetkileri sınırlayan ve tanıyan kişi ile veri tabanının idaresinden sorumlu olan kişiyi ayırabilirseniz çok daha verimli olacaktır. Aksi halde varsayılan olarak bir veri tabanı yöneticisi dilediği tabloya ve bilgiye erişebilir. Biz bunu istemeyiz. Veri tabanında bulunan ve uzun zamandır giriş yapmamış kullanıcılar düşürülmelidir, silinmelidir. Bunu bir güvenlik açığı olarak tanımlarız. Hele ki bu kullanıcılarda geniş yetkiler varsa ve şifreleri de kolay tahmin edilebilirse müthiş bir güvenlik açığı oluştururlar. Veri tabanındaki transaction'lar(veri tabanı işlemleri) kaydedilmelidir. Belki hepsi değil ama özellikle kritik tablolarda mutlaka! Kim, ne zaman hangi tabloya, hangi sorguyu gönderdi? Hangi tablodan, hangi verileri sildi? Bu işlemi ne zaman yaptı, neyi güncelledi? Bütün bu işlemlerin tarihçesi mutlaka tutulmalıdır. Daha sonra saydamlığı sağlamak için raporlanmalıdır.

Bir veri tabanı yöneticisi, yine veri tabanının içine kaydedilen bu bilgileri silebilir. Buna çözüm olarak işlemleri, OS'e yazmak gerekir. OS, yani işletim sistemi, başka birisi tarafından yönetildiğinden, veri tabanı yöneticisi bile ters bir işlem yapsa, bu kaydedilir. İşletim sistemine kaydolunan bu bilgileri bir veri tabanı yöneticisi silemeyebilir. Böyle olduğundan tam iç güvenlikten söz edebiliriz. Ayrıca veri tabanını yedeklerken AES şifreleme ile yedeklemeli ve olası kayıplarda verilerin görüntülenmesi engellenmelidir. Duruma göre Kurum içi ağın da şifrelenmesi gerekebilir. Böylelikle veri aktarımı sırasında oluşacak kayıpların önüne geçilebilir.

Peki, dış tehditler nelerdir? Bir veri tabanı internete açıksa, dış tehditlere de açık demektir. Yapılan bilimsel araştırmalar gösteriyor ki bir veri tabanında hırsızlık olduğunda bu, %80 oranında içeriden, %20 dışarıdan tehditle. Dolayısıyla öncelikle iç tehditleri bertaraf etmek ve şeffaflığı sağlamak gerek, daha sonra dış tehditlere odaklanabiliriz. Veri tabanına dışarıdan gelecek tehditler için mutlaka bir SQL güvenlik durumu olması gerekiyor. SQL'in yapısını anlık olarak inceleyen. SQL injection olarak bildiğimiz bir saldırı ile veri tabanına dışarıdan girerek, içerideki açıkları bulup, veri hırsızlığı yapılabiliyor. SQL injection'da yapısı bozuk SQL geldiğinden ve veri tabanı bunu varsayılan olarak anlamadığından araya yazılımlar konumluyoruz. Bütün bunları göz önünde bulundurarak çalışan bir kurum saydamdır ve sorgulanabilir durumdadır. Hem kendini, hem de çalışanlarını korur. Bulut bilişim sistemlerinin bugün tüm dünyada yaygınlaşmasının sebebi de işte budur, hesap verilebilirlik.

Az önce saydığım bütün bu işlemler bir bulut bilişim üreticisi tarafından sağlandığından ve sözleşme altında olduğundan bir sorun çıkmıyor. Kişisel tavsiyem ve tecrübelerim bu yöndedir. Umarım faydalı olmuştur.

Kaynaklar:
(*) Ogan Özdoğan

Blog içeriklerinin temel paylaşım amacı o konuyu tartışmaya açmaktır. Sende fikirlerin ile konu hakkında katkıda bulun.
İfadeleri Gösterİfadeleri Gizle