VERİTABANI PROGRAMLAMA - Ünite 6: Güvenlik ve Yetkilendirme Özeti :

PAYLAŞ:

Ünite 6: Güvenlik ve Yetkilendirme

Bilgi Güvenliği ve Bilgi Mahremiyeti

Elektronik ortama alınan bilgilerin işletilmesi VTYS’ler ile gerçekleştirilmektedir. Bunun için veritabanında yer alan bilgilerin mahremiyetlerinin korunması ve herhangi bir kaybın oluşmaması için güvenliğinin yüksek düzeyde sağlanması gerekmektedir.

Bilgi güvenliği, verilerin yetkisiz kişilerce kötüye kullanımı engellemek üzere tedbirler alınması ve bunun için gerekli yasal düzenlemeler yapılması demektir.

95/46/EC sayılı Avrupa Birliği Veri Koruma Direktifinin 17’nci maddesinde: “Üye devletler kişisel verilerin kazara kaybını, yetkisiz kişilerin eline geçmesini ve bu kişilerce yasa dışı bir biçimde imha edilmesini önlemek amacıyla veri koruma kontrollerinin uygun teknik ve kurumsal önlemler almasını sağlayacaktır.” ifadesi yer almaktadır.

Sunucu ve Ağ Güvenliği

SQL Server bilindiği üzere sunucu / istemci ve istemci / sunucu bir yapıdadır. Bu yapılardan dolayı, doğal olarak ağ üzerinden haberleşirler. Yine ağ üzerinden veri girişleri ve veri sorgulamaları yapılır. SQL Server ile istemciler arasındaki haberleşmenin ağ üzerinde, koklayıcı dediğimiz araçlar ile izlenmesi gayet kolaydır.

Koklayıcı (Sniffer) Paket çözümleyicisi ya da koklayıcı, bir sayısal ağ üzerinden geçen trafiği izlemeye yarayan yazılımların genel adıdır.

SSL sertifikası: Eğer ağınızdaki SQL Server’ın koklayıcılar kullanılarak tespit edilmesini istemiyor iseniz bir SSL sertifikası almanız gerekmektedir. SSL sertifikası kısaca internet sitelerinde veri güvenliğinin sağlanması amacıyla kullanılan uygulamadır.

Veritabanında Kullanıcı Oluşturma

SQL Server’daki kullanıcıların hesaplarına Logins (kullanıcılar) denmektedir. Her bir kullanıcıya ayrı yetkiler verilebilmekte, erişebileceği veritabanları ve tablolar belirlenebilmektedir. SQL Server’da sunucu ve veritabanı düzeyinde olmak üzere iki katmandan oluşmaktadır. Kullanıcı hesabı ilk önce sunucu düzeyi oluşturulur, daha sonra ilgili veritabanına erişim sağlamak için ataması yapılır.

Veritabanı Yönetim Sisteminde Yetkilendirme

VTYS, kurumların veya bireylerin bilgilerini yönetmek isteyen herkese hizmet etmek üzere geliştirilen kritik bilgilerinin tutulduğu hassas ve korunması gereken yazılımlardır. Güvenli bir veritabanı uygulamasını tasarlarken Bilgi Güvenliği Yönetim Sistemi Standardına göre dikkate alınması gereken üç ana hedef olmalıdır:

  • Gizlilik: Kuruma veya bireye özel ve gizliliği olan bilgilere, sadece yetkisi olan kişilerin erişim hakkına sahip olmasının gerekliliğidir.
  • Bütünlük: Kısaca bilinçli veya bilinçsiz olarak verinin bozulmaması gerekliliğidir. Kurumsal veya bireysel bilgilerin yetkisiz değişim veya bozulmalara karşı korunması, yalnızca yetkili kullanıcılara verileri değiştirmek için izin verilmesi olarak özetlenebilir.
  • Kullanılabilirlik: Bilgi ve kaynakların ihtiyaç duyan kişilerce sürekli erişilebilir durumda olması olarak özetlenebilir.

Kısıtlı erişim denetim mekanizması: Kullanıcı veya kullanıcı grupları için veri dosyalarına, kayıtlara veya veritabanının bazı alanlarına seçme, ekleme, silme veya güncelleme gibi erişim hakkı veya ayrıcalıklar vermektir.

Sistemsel erişim denetim mekanizması: Roller olarak isimlendirilen ve bireysel kullanıcılar tarafından değiştirilemeyen ve kuruluşun güvenlik politikalarını gerçekleştirmek için kullanılan bu yöntemde veriler ve kullanıcılar için belirli güvenlik etiketleri tahsis edilir.

Kısıtlı Erişim Denetim Mekanizması

Kullanıcı veya kullanıcı grupları için veri dosyalarına, kayıtlara veya veritabanının bazı alanlarına seçme, ekleme, silme veya güncelleme gibi erişim hakkı veya ayrıcalıklar vermektir. SQL Server’da kısıtlı erişim yöntemi için GRANT ve REVOKE komutları kullanılmaktadır. GRANT komutu ile kullanıcılara erişim hakkı verilirken REVOKE komutu ile verilmiş olan haklar geri alınmaktadır. Kısıtlı erişim denetim mekanizmaları, genellikle etkili olurken, kişi bazlı çalışmasından dolayı bazı zayıflıkları vardır.

Sistemsel Erişim Denetim Mekanizması

Roller olarak isimlendirilen ve bireysel kullanıcılar tarafından değiştirilemeyen ve kuruluşun güvenlik politikalarını gerçekleştirmek için kullanılan bu yöntemde veriler ve kullanıcılar için belirli güvenlik etiketleri tahsis edilir. Bu yaklaşımda her veritabanı nesnesi için bir güvenlik sınıfı oluşturulur ve her kullanıcı oluşturulan bu sınıflara atanır. Oluşturulan bu sınıflara istenilen kurallar konabilir. SQL Server’da rol kavramı ikiye ayrılır.

Sunucu Rolü: SQL Server yüklendiğinde sistemde otomatik olarak oluşturulan ve üzerinde herhangi bir değişiklik yapılamayan rollerdir. Bu roller:

  • Veritabanı oluşturma – Veritabanı oluşturabilme, silme ve değişiklik yapabilme
  • Disk yöneticisi – dosyaları yönetme hakkı
  • Süreç yöneticisi – süreçleri / işlemleri yönetme hakkı
  • Güvenlik yöneticisi – kullanıcıları ve onların erişim haklarını yönetme
  • Sunucu yöneticisi – sunucu ayarlarını yapabilme
  • Kurma yöneticisi – Birbirine bağlı sunucuların ayarlarını yapabilme ve genişletilmiş saklı yordamları yönetebilme hakkı
  • Sistem yöneticisi – bütün aktiviteleri yapabilme yetkisi

Veritabanı Rolü: Veritabanı rolleri ise her veritabanı üzerinde tanımlı olan rollerdir. Tanımlı olan rollerin dışında roller eklemek de mümkündür. Ancak burada dikkat edilmesi gereken, sistem tarafından her veritabanı için otomatik olarak oluşturulan roller üzerinde değişiklik yapılamayıp sadece bu rollere kullanıcı atanabilmektedir.