Veritabanı Programlama Dersi 6. Ünite Sorularla Öğrenelim

Güvenlik ve Yetkilendirme

Veritabanı Programlama

1- Donanımsal güvenlik tehditleri ne tür sonuçlara yol açabilir?

Cevap:

  • Kasıtsız Zarar
  • Yiyecek – İçeçek
  • Hayvanlar
  • Toz
  • Yıldırım
  • Kaba Kullanım
  • Su Basması
  • Kasıtlı Zarar
  • Hırsızlık
  • Fiziksel Zararlar (kırma, bozma, parçalama)

2- Yazılımsal güvenlik tehditleri ne tür sonuçlara yol açabilir?

Cevap:

  • Silinme
  • Kasıtsız
  • Kasıtlı
  • Değiştirilme
  • Truva Atları
  • Virüsler
  • Arka Kapılar
  • Bilgi Sızdırma
  • Solucanlar
  • Hırsızlık
  • Lisansız Kullanım
  • İzinsiz kopyalama

3- Verisel güvenlik tehditleri ne tür sonuçlara yol açabilir?

Cevap:

  • Gizliliğin İhlali
  • Dinleme (dinleyiciler, alıcılar)
  • Bilgi Sızdırma (insanlar yoluyla)
  • Engelleme
  • Silme
  • Ulaşılamaz ya da kullanılamaz hâle getirme
  • Bütünlüğün Bozulması
  • Veri Değişikliği
  • Sahte Ver

4- SQL Server Yapılandırma Yöneticisi ile hesap değişikliği işlemleri için hangi adımları izlemek gerekir?

Cevap: SQL Server bir Windows servisi olarak çalışmaktadır. Her Windows servisini çalıştıran bir kullanıcı hesabı vardır. SQL Server içinde bu hesabı doğru seçmek güvenlik için önemlidir. SQL Server kurulumunda, SQL Server’ı çalıştıracak hesabı değiştirmediyseniz, SQL Server Yapılandırma Yöneticisinden bu değişikliği yapabilirsiniz. Bunun için Windows da program sekmesi içindeki SQL Server 2014 programını, daha sonra ise Configuration Tools, sonra ise SQL Server 2014 Yapılandırma Yöneticisi programını çalıştırmanız gerekmektedir. Programı çalıştırdığınız zaman SQL Server listenizin görülebileceği bir ekran açılır. Bu ekranda çalışan SQL Server seçeneğine sağtıklayıp özelliklerine tıklarsanız şifreleri değiştirebileceğiniz ekrana ulaşmışolursunuz. Burada istediğiniz şifreyi girmeniz mümkündür.

5- Ağiçindeki SQL Server’ın koklayıcılar kullanılarak tespit edilmesi istenmediğinde izelenecek yollar nelerdir?

Cevap: Koklayıcı araçları ile bir saldırganın bir sistemdeki SQL sunucuları ve bu sunuculara bağlı istemcileri tespit etmesi oldukça kolaydır. Eğer ağınızdaki SQL Server’ın koklayıcılar kullanılarak tespit edilmesini istemiyor iseniz bir SSL setifikası almanız gerekmektedir. SSL sertifikası kısaca internet sitelerinde veri güvenliğinin sağlanması amacıyla kullanılan uygulamadır. Aldığınız sertifikayı yönergelerine uygun olarak sizin SQL Server servisini çalıştıran kullanıcıya yüklemeniz gerekmektedir. Sertifikayı yükledikten sonra, SQL Server Configuration Manager – SQL Server Network Configuration – Protocols for Sql Server açıp farenin sağtuşu ile tıklayıp özellikler sekmesi seçildiği zaman arayüz karşımızda görünür.

6- SQL Server Veritabanı'nda kullanıcı oluşturmak için hangi adımların izlenmesi gerekmektedir?

Cevap: 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 belirlene - bilmektedir. 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 son- ra ilgili veritabanına erişim sağlamak için ataması yapılır. SQL Server üzerin- de kullanıcı açmak için SS Management Studio – Security – Logins üzerinde sağklik “New Login” denilerek yeni kullanı- cı oluşturulma ekranına geçilir. Windows kimlik doğrulama ile tanım kümesi kulla - nıcısına SQL Server için yetki verilebilir. Search (Arama) kısmından yetki verilmek istenen kullanıcı seçilebilir veya Server authentication (Sunucu kimlik doğrula- ması) sekmesi ile yeni bir kullanıcı ve ona yetkiler verilebilir.

7- Güvenli bir veritabanı uygulamasını tasarlarken hangi ana hedefler dikkate alınmaldır?

Cevap: 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 Standar- dına göre dikkate alınması gereken üç ana hedef olmalıdır: Gizlilik, Bütünlük ve Kullanılabilirlik.

8- Bilgi Güvenliği Yönetim Sistemi Standardına göre Gizlilik kavramı ne anlama gelmektedir?

Cevap: Gizlilik, kuruma veya bireye özel ve gizliliği olan bilgilere, sadece yetkisi olan kişi- lerin erişim hakkına sahip olmasının gerekliliğidir. Bunun için gizlilik bilginin yet - kisiz kişilerce açığa çıkarılmasının engellenmesidir. Örneğin, bir öğrenciye diğer öğrencilerin notlarını incelemek için izin verilmemelidir.

9- Bilgi Güvenliği Yönetim Sistemi Standardına göre Bütünlük kavramı ne anlama gelmektedir?

Cevap: 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şı korun- ması, yalnızca yetkili kullanıcılara verileri değiştirmek için izin verilmesi olarak özetlenebilir. Örneğin, öğrencilere notlarını görmek için izin verilebilir, ancak not- ların öğrenciler tarafından değiştirilmesi için izin verilmemesi gerekmektedir.

10- Bilgi Güvenliği Yönetim Sistemi Standardına göre Kullanılabilirlik kavramı ne anlama gelmektedir?

Cevap: Kullanılabilirlik, bilgi ve kaynakların ihtiyaç duyan kişilerce sürekli erişilebilir du- rumda olması olarak özetlenebilir. Örneğin, dersi veren kişinin, öğrencinin notla- rına erişebilmesi ve onları düzeltebilmesi gerekmektedir.

11- Kısıtlı erişim denetim mekanizması ne anlama gelmektedir?

Cevap: Kısıtlı erişim denetim mekanizması, kullanıcı veya kullanıcı grupları için veri dosyala- rı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.

12- Veri koruma ve veri erişimi konularındaki hedeflere ulaşmak için ne tür bir yol izlemek gerekir?

Cevap: VTYS’de yer alan bilgilerin mahremiyetlerinin korunması, herhangi bir kaybın oluşma- ması ve verilerin bütünlüğünün bozulmaması için VTYS’de bulunan bilgilerin güvenliği- nin yüksek düzeyde sağlanması gerekmektedir. Özellikle, verilerden hangisinin korunması ve kullanıcıların hangi veriye ne ölçüde erişim hakkının olduğunun belirlenmesi gerek- mektedir. Bu hedeflere ulaşmak için açık ve tutarlı bir güvenlik politikası oluşturulmalıdır. Oluşturulan güvenlik politikasını gerçekleyebilmek için gerekli önlemlerin alındığı uygu- lamalar geliştirilmelidir. Verilerin güvenliğinin çeşitli düzeylerde sağlanması gerektiğini belirtmek gerekir. Örneğin, güvenlik politikası deyince VTYS’deki güvenliklerin yanı sıra sistemin bulunduğu binanın / mekânın her türlü tehdide karşı güvence altına alınması da kastedilmektedir. Bunun yanı sıra işletim sistemi veya ağbağlantılarındaki tehditlere karşı da önlemler alınması gerekmektedir. İşletim sisteminde veya ağ bağlantılarında oluşabilecek sızıntılardan dolayı bir kullanıcının veritabanına tüm erişimi olan yönetici olarak girişyapmaması sağlanmalıdır. Bununla beraber veritabanına izinsiz girişlerin de engellenmesi gerekmektedir.

13- Veritabanı yönetim sistemlerindeki erişimi düzenleme yöntemleri nasıl yapılabilmektedir?

Cevap: Veritabanı yönetim sistemlerindeki bu erişimi düzenleme yöntemleri iki farklı şekilde yapılabilmektedir. Kısıtlı erişim denetim mekanizması: Kullanıcı veya kullanıcı grupları için veri dosyala- rı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 meka- nizmaları, 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ştu- rulan bu sınıflara atanır. Oluşturulan bu sınıflara istenilen kurallar konabilir. Bir okul oto-masyonu gerçekleştiriyorsak, birçok öğretmen kullanıcısının aynı tablo ya da SQL ifadelerine erişimleri olmak durumundadır. Öğrenciler için de aynı şey geçerlidir. Aynı şekildeki örnek veritabanımızdaki birçok çalışan aynı haklara sahip olabilmektedir. Bu tür durumlar için her kullanıcı için ayrı ayrı erişim hakkı tanımlamak yerine rollerin kullanılması daha uygundur.

14- Kısıtlı erişim denetim mekanizmasında GRANT ve REVOKE komutlarının ne tür işlevleri bulunmaktadır?

Cevap: 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 meka-nizmaları, genellikle etkili olurken, kişi bazlı çalışmasından dolayı bazı zayıflıkları vardır.

15- Sistemsel erişim denetim mekanizmasında güvenlik sistemi nasıl oluşturulmaktadır?

Cevap: 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. Bir okul otomasyonu gerçekleştiriyorsak, birçok öğretmen kullanıcısının aynı tablo ya da SQL ifadelerine erişimleri olmak durumundadır. Öğrenciler için de aynı şey geçerlidir. Aynı şekildeki örnek veritabanımızdaki birçok çalışan aynı haklara sahip olabilmektedir. Bu tür durumlar için her kullanıcı için ayrı ayrı erişim hakkı tanımlamak yerine rollerin kullanılması daha uygundur.

16- SQL Server üzerindeki sunucu rolü kavramı ne anlama gelmektedir?

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

17- SQL Server üzerindeki sunucu rolleri ve bu rollerin hakları nelerdir?

Cevap: 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

18- SQL Server üzerindeki sunucu rolü kavramı ne anlama gelmektedir?

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

19- "db_accessadmin" rolünün veritabanı üzerinde sağladıpı haklar nelerdir?

Cevap: Var olan Windows kullanıcıları ve SQL Server hesapları için veritabanına erişim yetkisi verebilme.

20- SQL Server üzerindeki veritabanı rolleri ve bu rollerin hakları nelerdir?

Cevap: db_owner: Veritabanı üzerinde tüm ayarlamaları yapabilme ve silebilme db_accessadmin: Var olan Windows kullanıcıları ve SQL Server hesapları için veritabanına erişim yetkisi verebilme db_securityadmin: Veritabanı üzerindeki yetkilendirmeleri değiştirebilme db_datareader: Kullanıcı tabloları üzerinde SELECT işlemleri yapabilme db_datawriter: Kullanıcı tabloları üzerinde INSERT/DELETE/UPDATE işlemleri yapabilme db_denydatawriter: Kullanıcı tabloları üzerinde INSERT/DELETE/UPDATE işlemleri yapamaz db_denydatareader: Kullanıcı tabloları üzerinde SELECT işlemleri yapamaz db_backupoperator: Veritabanı yedeğini alabilme

Sıra-(Soruid) 1-(909813) 2-(909823) 3-(909833) 4-(909845) 5-(909851) 6-(909859) 7-(909866) 8-(909885) 9-(909891) 10-(909899) 11-(909932) 12-(909909) 13-(909921) 14-(909938) 15-(909946) 16-(909951) 17-(909959) 18-(909963) 19-(909975) 20-(909970)