SlideShare a Scribd company logo
Abdülkadir BARLIK
Konu Başlıkları
 Sunucu Düzeyinde Güvenlik Nedir?
 Kimlik Denetimleri Nelerdir?
 Yeni Oturum Hesabı Oluşturma
 Genel Özellikler
 Sunucu Rolleri
 Veritabanları Üzerinde Yetkilendirme
 Nesne(Tablo, View, …) Bazlı Kısıtlamalar
 Yeni Role Oluşturma
Abdülkadir BARLIK
Sunucu Düzeyinde Güvenlik Nedir?
 Bir veritabanını yönetmenin en önemli yönlerinden
biri güvenliği sağlamaktır.
 Kimin hangi verilere erişim izninin olduğu ve hangi
veriler üzerinde işlem yapabileceği belirtilmelidir.
Abdülkadir BARLIK
Kimlik Denetimleri Nelerdir?
Sql Server’a bağlacak olan kullanıcıların sisteme
girişindeki kontrolüne kimlik denetimi(Authentication)
denir.
 Windows Authentication
 Mixed Mode(Windows Authentication ve Sql Server
Authentication)
Abdülkadir BARLIK
Kimlik Denetimleri Nelerdir?
Windows Authentication
 Aynı domain içerisindeki kullanıcıların Windows
hesaplarıyla bağlanabildiği denetim modudur.
 Cerberus isimli güvenlik yöntemiyle bilgiler
encrypt(şifrelemek) edilerek iletilir.
Abdülkadir BARLIK
Kimlik Denetimleri Nelerdir?
Sql Server Authentication
 Bu kimlik denetiminde hem Windows kullanıcısına
hem de başka bir domaindeki kişiye kullanıcı adı ve
şifresiyle sisteme girişi sağlanır.
 Veri güvenliği Windows Authentication’a göre
düşüktür.
Abdülkadir BARLIK
Yeni Oturum Hesabı Oluşturma
Security bölümünden Login’e gelip
New Login diyerek adım adım yeni bir
oturum hesabı(yani kullanıcı) nasıl
oluşturulur inceleyelim.
Abdülkadir BARLIK
Yeni Oturum Hesabı Oluşturma
Yeni bir üye oluştururken bu iki
denetimden birini seçmemiz
gerekecektir. Sql Server Authentication
kullanarak bir “abdulkadir” isimli
kullanıcı oluşturalım.
Bu üyenin sisteme girdiğinde hangi Database’in ve hangi dilin default olarak
geleceği seçilebiliyor. Dili default bırakırsa sistemin kendi dilini kullanacaktır.
Bu seçenek işaretli olursa kullanıcıya
verilen şifre Windows’ta tanımlı olan
şifre kurallarına uymak zorundadır.
General – Genel Özellikler
Abdülkadir BARLIK
Yeni Oturum Hesabı Oluşturma
Kullanıcıya server’daki tanımlı
rollerden birini vermek için
kullanılan alandır. Şimdilik buradan
herhangi birini seçmiyoruz. Bir
sonraki sayfada buradaki rollerle
ilgili açıklamalar bulunmaktadır.
Server Roles – Sunucu Rolleri
Abdülkadir BARLIK
Yeni Oturum Hesabı Oluşturma
Sunucu Rolleri
Sistem Yöneticisi (System Administrators): SQL Server'daki bütün işlemleri
gerçekleştirebilir.
Güvenlik Yöneticisi (Security Administrators): Oturum açma adlarını ve yeni
veritabanı oluşturma izinlerini yönetebilir.
Sunucu Yöneticisi (Server Administrators): Sunucu düzeyinde yapılandırma
seçeneklerini ayarlar.
Düzenleme Yöneticisi (Setup Administrators): Bağlı sunucuları yönetebilir.
İşlem Yöneticisi (Process Administrators): SQL Server'da çalışan işlemleri
yönetebilir.
Disk Yöneticisi (Disk Administrators): Disk dosyalarını yönetebilir.
Veritabanı Yöneticisi (Database Creators): Veritabanlarını oluşturur, değiştirir ve
silebilir.
Yığın Ekleme Yöneticisi (Bulk Insert Administrators): Toplu ekleme işlemlerini
yapabilir.
Abdülkadir BARLIK
Yeni Oturum Hesabı Oluşturma
Bu bölümde kullanıcıya istenilen
veritabanlarına istenilen yetkiler
atanabilir. Biz şuan ki üyeye
“Sirket” veritabanında
db_datareader yetkisi veriyoruz ve
OK’ye bastığımızda yeni üyemizin
oluştuğunu görebiliriz.
User Mapping – Veritabanları üzerinde
yetkilendirme
Abdülkadir BARLIK
Yeni Oturum Hesabı Oluşturma
“abdulkadir” isimli kullanıcı ile sisteme giriş
yapıyoruz.
Abdülkadir BARLIK
Yeni Oturum Hesabı Oluşturma
Artık bu kullanıcı ile sisteme girdiğimizde sadece “Sirket” database’ine
erişebileceğiz. Başka database’lere girmeye çalıştığımızda hata verdiğini
göreceksinizdir.
Abdülkadir BARLIK
Yeni Oturum Hesabı Oluşturma
Tekrar sistem yöneticisi şeklinde sisteme
giriş yapıyoruz. Aşağıda “Sirket”
database’inde “abdulkadir” kullanıcısının
yetkilendirildiği görülebilir. Şimdi
“abdulkadir” kullanıcısının üzerinde sağ tuşa
basarak Properties’e girelim.
Abdülkadir BARLIK
Yeni Oturum Hesabı Oluşturma
Şimdi bu kullanıcının “Sirket” database’i üzerinde tablolara
Insert ve Select işlemleri yapabilirken Delete işlemi
yapamaması için gerekli yetkilendirmenin nasıl yapılacağı
gösterilecektir.
Nesne(Tablo, View, …) Bazlı Kısıtlamalar
Abdülkadir BARLIK
Yeni Oturum Hesabı Oluşturma
Nesne(Tablo, View, …) Bazlı Kısıtlamalar
Burada herhangi bir
değişiklik yapmadan soldan
Securables kısmına
geçiyoruz.
Abdülkadir BARLIK
Yeni Oturum Hesabı Oluşturma
Nesne(Tablo, View, …) Bazlı Kısıtlamalar
Search’e bastığımızda Add
Object penceresi açılacaktır.
Buradan ikinci seçeneği
seçerek OK’e basıyoruz.
Abdülkadir BARLIK
Yeni Oturum Hesabı Oluşturma
Nesne(Tablo, View, …) Bazlı Kısıtlamalar
Burada hangi nesnelere yetki
verebileceğiniz
görülmektedir. Biz sadece
tabloya yetki vereceğimiz için
bunu seçmemiz yeterli
olacaktır.
Abdülkadir BARLIK
Yeni Oturum Hesabı Oluşturma
Nesne(Tablo, View, …) Bazlı Kısıtlamalar
Seçili alanda hangi işlemler için
izin verileceği gösterilmektedir.
Grant o işlemi yapabileceğini Deny
ise o işleme izninin olmadığını
göstermektedir. Biz Select ve
Insert işlemi için Grant’ı, Delete
işlemi için ise Deny’ı seçerek
yetkilendirmeyi tamamlıyoruz.
İşlemleri deneyerek yetkilerin
çalışıp çalışmadığını kontrol
edebilirsiniz.
Abdülkadir BARLIK
Yeni Role Oluşturma
Belirli bir grup kullanıcıya aynı yetkileri vermek istiyorsak tek tek her
kullanıcıya yetki vermektense aşağıdaki adımları gerçekleştiririz;
• Yeni bir Role tanımlanır.
• Gerekli yetkilendirme bu Role bazında yapılır.
• Son olarak da istenen kullanıcılara bu Role içerisine dahil edilir.
Şimdi söylediklerimizi uygulayalım. Sirket database’ine “Yazılım” rolü
oluşturarak yazılım elemanı olduğunu düşündüğümüz “abdulkadir”
kullanıcısını bu role dahil edelim.
Abdülkadir BARLIK
Yeni Role Oluşturma
Abdülkadir BARLIK
Yeni Role Oluşturma
Rolün ismini yazdıktan sonra
“Securables”da tablolara göre
yetki verdikten sonra OK’e
basın.
Abdülkadir BARLIK
Yeni Role Oluşturma
Şimdi “abdulkadir”i bu role dahil edelim.
Abdülkadir BARLIK
Yeni Role Oluşturma
En altta görüldüğü gibi “Yazılım”
rolünü seçerek bu kullanıcıyı bu
role dahil etmiş olduk.
Abdülkadir BARLIK
Neler Öğrendik…?
 Sql Server’da güvenliğin önemini,
 Kimlik Denetiminin ne olduğunu ve çeşitlerini,
 Yeni bir kullanıcının nasıl oluşturulduğunu,
 Kullanıcılara yetkilerine göre erişim izni vermeyi,
 Yeni Role oluşturabilmeyi öğrendik.
Abdülkadir BARLIK

More Related Content

Similar to MSSQL Server Güvenlik (Security)

Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇Anar Godjaev
 
Sql server 2012 gi̇ri̇ş
Sql server 2012 gi̇ri̇şSql server 2012 gi̇ri̇ş
Sql server 2012 gi̇ri̇ş
oktaygokgol
 
Database Vault / Verinin Güvenliği
Database Vault /  Verinin GüvenliğiDatabase Vault /  Verinin Güvenliği
Database Vault / Verinin GüvenliğiAnar Godjaev
 

Similar to MSSQL Server Güvenlik (Security) (8)

Konu anlatımı
Konu anlatımıKonu anlatımı
Konu anlatımı
 
Itt
IttItt
Itt
 
Sunu
SunuSunu
Sunu
 
Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇Veri̇tabani ve Kullanici Yöneti̇mi̇
Veri̇tabani ve Kullanici Yöneti̇mi̇
 
Sql server 2012 gi̇ri̇ş
Sql server 2012 gi̇ri̇şSql server 2012 gi̇ri̇ş
Sql server 2012 gi̇ri̇ş
 
Windows server 2008
Windows server 2008 Windows server 2008
Windows server 2008
 
Ittodev
IttodevIttodev
Ittodev
 
Database Vault / Verinin Güvenliği
Database Vault /  Verinin GüvenliğiDatabase Vault /  Verinin Güvenliği
Database Vault / Verinin Güvenliği
 

MSSQL Server Güvenlik (Security)

  • 2. Konu Başlıkları  Sunucu Düzeyinde Güvenlik Nedir?  Kimlik Denetimleri Nelerdir?  Yeni Oturum Hesabı Oluşturma  Genel Özellikler  Sunucu Rolleri  Veritabanları Üzerinde Yetkilendirme  Nesne(Tablo, View, …) Bazlı Kısıtlamalar  Yeni Role Oluşturma Abdülkadir BARLIK
  • 3. Sunucu Düzeyinde Güvenlik Nedir?  Bir veritabanını yönetmenin en önemli yönlerinden biri güvenliği sağlamaktır.  Kimin hangi verilere erişim izninin olduğu ve hangi veriler üzerinde işlem yapabileceği belirtilmelidir. Abdülkadir BARLIK
  • 4. Kimlik Denetimleri Nelerdir? Sql Server’a bağlacak olan kullanıcıların sisteme girişindeki kontrolüne kimlik denetimi(Authentication) denir.  Windows Authentication  Mixed Mode(Windows Authentication ve Sql Server Authentication) Abdülkadir BARLIK
  • 5. Kimlik Denetimleri Nelerdir? Windows Authentication  Aynı domain içerisindeki kullanıcıların Windows hesaplarıyla bağlanabildiği denetim modudur.  Cerberus isimli güvenlik yöntemiyle bilgiler encrypt(şifrelemek) edilerek iletilir. Abdülkadir BARLIK
  • 6. Kimlik Denetimleri Nelerdir? Sql Server Authentication  Bu kimlik denetiminde hem Windows kullanıcısına hem de başka bir domaindeki kişiye kullanıcı adı ve şifresiyle sisteme girişi sağlanır.  Veri güvenliği Windows Authentication’a göre düşüktür. Abdülkadir BARLIK
  • 7. Yeni Oturum Hesabı Oluşturma Security bölümünden Login’e gelip New Login diyerek adım adım yeni bir oturum hesabı(yani kullanıcı) nasıl oluşturulur inceleyelim. Abdülkadir BARLIK
  • 8. Yeni Oturum Hesabı Oluşturma Yeni bir üye oluştururken bu iki denetimden birini seçmemiz gerekecektir. Sql Server Authentication kullanarak bir “abdulkadir” isimli kullanıcı oluşturalım. Bu üyenin sisteme girdiğinde hangi Database’in ve hangi dilin default olarak geleceği seçilebiliyor. Dili default bırakırsa sistemin kendi dilini kullanacaktır. Bu seçenek işaretli olursa kullanıcıya verilen şifre Windows’ta tanımlı olan şifre kurallarına uymak zorundadır. General – Genel Özellikler Abdülkadir BARLIK
  • 9. Yeni Oturum Hesabı Oluşturma Kullanıcıya server’daki tanımlı rollerden birini vermek için kullanılan alandır. Şimdilik buradan herhangi birini seçmiyoruz. Bir sonraki sayfada buradaki rollerle ilgili açıklamalar bulunmaktadır. Server Roles – Sunucu Rolleri Abdülkadir BARLIK
  • 10. Yeni Oturum Hesabı Oluşturma Sunucu Rolleri Sistem Yöneticisi (System Administrators): SQL Server'daki bütün işlemleri gerçekleştirebilir. Güvenlik Yöneticisi (Security Administrators): Oturum açma adlarını ve yeni veritabanı oluşturma izinlerini yönetebilir. Sunucu Yöneticisi (Server Administrators): Sunucu düzeyinde yapılandırma seçeneklerini ayarlar. Düzenleme Yöneticisi (Setup Administrators): Bağlı sunucuları yönetebilir. İşlem Yöneticisi (Process Administrators): SQL Server'da çalışan işlemleri yönetebilir. Disk Yöneticisi (Disk Administrators): Disk dosyalarını yönetebilir. Veritabanı Yöneticisi (Database Creators): Veritabanlarını oluşturur, değiştirir ve silebilir. Yığın Ekleme Yöneticisi (Bulk Insert Administrators): Toplu ekleme işlemlerini yapabilir. Abdülkadir BARLIK
  • 11. Yeni Oturum Hesabı Oluşturma Bu bölümde kullanıcıya istenilen veritabanlarına istenilen yetkiler atanabilir. Biz şuan ki üyeye “Sirket” veritabanında db_datareader yetkisi veriyoruz ve OK’ye bastığımızda yeni üyemizin oluştuğunu görebiliriz. User Mapping – Veritabanları üzerinde yetkilendirme Abdülkadir BARLIK
  • 12. Yeni Oturum Hesabı Oluşturma “abdulkadir” isimli kullanıcı ile sisteme giriş yapıyoruz. Abdülkadir BARLIK
  • 13. Yeni Oturum Hesabı Oluşturma Artık bu kullanıcı ile sisteme girdiğimizde sadece “Sirket” database’ine erişebileceğiz. Başka database’lere girmeye çalıştığımızda hata verdiğini göreceksinizdir. Abdülkadir BARLIK
  • 14. Yeni Oturum Hesabı Oluşturma Tekrar sistem yöneticisi şeklinde sisteme giriş yapıyoruz. Aşağıda “Sirket” database’inde “abdulkadir” kullanıcısının yetkilendirildiği görülebilir. Şimdi “abdulkadir” kullanıcısının üzerinde sağ tuşa basarak Properties’e girelim. Abdülkadir BARLIK
  • 15. Yeni Oturum Hesabı Oluşturma Şimdi bu kullanıcının “Sirket” database’i üzerinde tablolara Insert ve Select işlemleri yapabilirken Delete işlemi yapamaması için gerekli yetkilendirmenin nasıl yapılacağı gösterilecektir. Nesne(Tablo, View, …) Bazlı Kısıtlamalar Abdülkadir BARLIK
  • 16. Yeni Oturum Hesabı Oluşturma Nesne(Tablo, View, …) Bazlı Kısıtlamalar Burada herhangi bir değişiklik yapmadan soldan Securables kısmına geçiyoruz. Abdülkadir BARLIK
  • 17. Yeni Oturum Hesabı Oluşturma Nesne(Tablo, View, …) Bazlı Kısıtlamalar Search’e bastığımızda Add Object penceresi açılacaktır. Buradan ikinci seçeneği seçerek OK’e basıyoruz. Abdülkadir BARLIK
  • 18. Yeni Oturum Hesabı Oluşturma Nesne(Tablo, View, …) Bazlı Kısıtlamalar Burada hangi nesnelere yetki verebileceğiniz görülmektedir. Biz sadece tabloya yetki vereceğimiz için bunu seçmemiz yeterli olacaktır. Abdülkadir BARLIK
  • 19. Yeni Oturum Hesabı Oluşturma Nesne(Tablo, View, …) Bazlı Kısıtlamalar Seçili alanda hangi işlemler için izin verileceği gösterilmektedir. Grant o işlemi yapabileceğini Deny ise o işleme izninin olmadığını göstermektedir. Biz Select ve Insert işlemi için Grant’ı, Delete işlemi için ise Deny’ı seçerek yetkilendirmeyi tamamlıyoruz. İşlemleri deneyerek yetkilerin çalışıp çalışmadığını kontrol edebilirsiniz. Abdülkadir BARLIK
  • 20. Yeni Role Oluşturma Belirli bir grup kullanıcıya aynı yetkileri vermek istiyorsak tek tek her kullanıcıya yetki vermektense aşağıdaki adımları gerçekleştiririz; • Yeni bir Role tanımlanır. • Gerekli yetkilendirme bu Role bazında yapılır. • Son olarak da istenen kullanıcılara bu Role içerisine dahil edilir. Şimdi söylediklerimizi uygulayalım. Sirket database’ine “Yazılım” rolü oluşturarak yazılım elemanı olduğunu düşündüğümüz “abdulkadir” kullanıcısını bu role dahil edelim. Abdülkadir BARLIK
  • 22. Yeni Role Oluşturma Rolün ismini yazdıktan sonra “Securables”da tablolara göre yetki verdikten sonra OK’e basın. Abdülkadir BARLIK
  • 23. Yeni Role Oluşturma Şimdi “abdulkadir”i bu role dahil edelim. Abdülkadir BARLIK
  • 24. Yeni Role Oluşturma En altta görüldüğü gibi “Yazılım” rolünü seçerek bu kullanıcıyı bu role dahil etmiş olduk. Abdülkadir BARLIK
  • 25. Neler Öğrendik…?  Sql Server’da güvenliğin önemini,  Kimlik Denetiminin ne olduğunu ve çeşitlerini,  Yeni bir kullanıcının nasıl oluşturulduğunu,  Kullanıcılara yetkilerine göre erişim izni vermeyi,  Yeni Role oluşturabilmeyi öğrendik. Abdülkadir BARLIK

Editor's Notes

  1. Artık bu kullanıcı ile sisteme girdiğimizde sadece “Sirket” database’ine erişebileceğiz. Başka database’lere girmeye çalıştığımızda hata verdiğini göreceksinizdir.
  2. Tabloda kolon bazlı yetkilendirme seçili alanda görülen ColumnPermissions’dan yapılabilir.