|
|
|
SQL Server 2008: Güvenlik ile
ilgili deðiþiklikler
|
Son güncelleme tarihi: 02 Temmuz 2008
Merhaba arkadaþlar,
SQL Server 2008' in
güvenlik ile ilgili politikalarýnýn bazýlarýnda, SQL Server' ýn önceki versiyonlarýna
göre bazý deðiþiklikler oldu. Bu yazýmda sizlere bu deðiþikliklerden bahsedeceðim.
Bildiðiniz gibi SQL Server 2005, önceki versiyonlarýna göre çok daha güvenliydi.
Gerek tasarým olarak, gerek kurulumda gerekse varsayýlan ayarlarýyla. SQL Server
2008' de bu güvenlik tedbirleri daha da sýkýlaþtýrýlarak bir adým öteye gidilmiþ.
Çok ahým þahým deðiþiklikler deðil bunlar, fakat bilmenizde ve yeri ve zamaný geldiðinde
hesaba katmanýzda yarar var. Bu arada, burada bahsedeceðim güvenlik ile ilgili olan
deðiþiklikler, SQL Server' ýn eski versiyonlarýndaki özelliklere göre yapýlan deðiþikliklerdir.
SQL Server 2008' deki güvenlik ile ilgili yeni özelliklere, farklý makalelerde deðineceðim.
Peki nedir bu deðiþiklikler?
- SQL Server 2008 Setup' ta yükleme veya sürüm yükseltme esnasýnda "sa" hesabýnýn
adýný deðiþtirebilme.
- SQL Server' ýn eski versiyonlarýnda BUILTIN\Administrators Windows Grubu, SQL
Server System Administrators "sysadmin" sunucu sabit rolüne eklenirdi. SQL Server
2008' de böyle olmayacak, yani Windows Yöneticileri doðrudan SQL Server Sistem Yöneticileri
olmayacak artýk.
- SQL Server tarafýndan oluþturulan "SQLServer2005MSSQLUser$-BÝLGÝSAYARADI-$INSTANCEADI"
gibi Windows Gruplarýna artýk doðrudan SQL Server' a eriþim izinleri verilmeyecek.
Bunun yerine bu haklar, SQL Server servislerini baþlatmak için kullanýlan Windows
hesabýna verilecek.
- Surface Area Configuration aracý SQL Server 2008' de yok, yani kaldýrýldý. Bunun
yerine Ýlke Temelli Yönetim (Policy-Based Management) özelliði ve Configuration
Manager' daki deðiþiklikler kullanýlabilecek.
- Kerberos desteði geniþletildi. TCP\IP' nin yanýnda, artýk Named Pipes ve Shared
Memory' yi de kapsýyor.
SQL Server "sa" hesabýnýn adýnýn deðiþtirilmesi:
"sa" hesabý varsayýlan SQL Login' idir. "sysadmin" üyesidir ve bu deðiþtirilemez.
Bu role üye olan bir Login, içinde bulunduðu SQL Server Instance' ýnda tüm yetkilere
sahiptir. Bunu bilen korsanlar, sisteminize girmeye çalýþacaðý zaman ilk önce "sa"
hesabýna saldýrýrlar. Bir çok saldýrý durumunda daha sonra "admin" isimli bir hesap
denediklerini gördüm. Aslýnda SQL Server' da varsayýlan olarak "admin" isminde bir
hesap yoktur. Ama bildiðiniz gibi alýþkanlýklarýmýz, güvenlik konusuna gelince en
kýrýlgan noktamýzdýr. Ýnsanlar alýþkanlýktan dolayý genelde "admin" isminde bir
Login oluþtururlar ve bunu da "sysadmin" rolünün bir üyesi yaparlar. Bu nedenle
de korsanlar, SQL Server Instance' ýnýza saldýrdýklarýnda ilk önce olduðunu varsaydýklarý
bu Login' leri kýrmaya çalýþýrlar.
"sa" hesabýnýn adýný deðiþtirmeniz ve bu hesaba güçlü bir þifre vermeniz (ki güçlü
þifre denirken kastedilen, þifrenin içinde büyük-küçük harflerin, rakamlarýn ve
iþaretlerin kullanýlmasýdýr) korsanlarýn sisteminize en güçlü Login' lerle girmelerini
engelleyici tedbirlerden olacaktýr.
Tabi ki bu deðiþiklikleri yapmadan önce sisteminizi, uygulamalarýnýzý, Function'
larý, Script' leri, CLR Assembly' leri gibi þeyleri de tekrar gözden geçirmeniz
gerekebilir. "sa" hesabýna baðlý uygulamalarýnýz, bu hesap ismini deðiþtirdiðiniz
için artýk çalýþmayabilirler. Bu nedenle gerekli deðiþiklikleri uygulamalarýnýzda
da yapmanýz gerekebilir.
Mümkün olan her zaman Windows Authentication kullanmanýz önerilir, ama öyle durumlar
olur ki SQL Authentication kullanmanýz gerekebilir. Ýþte böyle durumlarda yukarýdaki
paragraflarda deðindiðim tedbirleri almanýzda büyük yarar vardýr.
"sa" hesabý hakkýnda daha fazla bilgi için
buraya týklayýn.
Windows Yerel Gruplarýndaki deðiþiklik:
SQL Server' ýn kurulmasý esnasýnda bazý Windows yerel gruplarý oluþturulur. SQL
Server' ýn, SQL Server 2008' den önceki versiyonlarýnda SQL Server servislerinin
baþlatýlmasý için kullanýlan servis hesaplarý bu yerel gruplara ekleniyorlardý.
Servis hesabý ve Windows yerel gruplarýna, iþletim sistemi dosyalarý ve Windows
sistemi üzerinde haklar veriliyordu. Bu hesap ve gruplara SQL Server' da da bazý
haklar veriliyordu.
SQL Server' ýn yüklenmesi veya sürüm yükseltmesi esnasýnda seçtiðiniz özelliklere
göre oluþturulan Windows yerel gruplarý aþaðýdakilerden oluþur:
- SQL Server 2000
- OLAP Administrators
- SQL Server 2005
- SQLServer2005DTSUser$BÝLGÝSAYARADI
- SQLServer2005MSFTEUser$BÝLGÝSAYARADI$INSTANCEADI
- SQLServer2005MSOLAPUser$BÝLGÝSAYARADI$INSTANCEADI
- SQLServer2005MSSQLServerADHelperUser$ BÝLGÝSAYARADI
- SQLServer2005MSSQLUser$ BÝLGÝSAYARADI$INSTANCEADI
- SQLServer2005NotificationServicesUser$BÝLGÝSAYARADI
- SQLServer2005ReportingServicesWebServiceUser$BÝLGÝSAYARADI$INSTANCEADI
- SQLServer2005ReportServerUser$ BÝLGÝSAYARADI$INSTANCEADI
- SQLServer2005SQLAgentUser$ BÝLGÝSAYARADI$INSTANCEADI
- SQLServer2005SQLBrowserUser$ BÝLGÝSAYARADI
SQL Server 2008' de de bu Windows yerel gruplarý oluþturulacak, ama artýk bu gruplara
SQL Server içinde haklar verilmeyecek. Sadece, doðru Eriþim Kontrol Listesi (Access
Control List), SQL Server Motoru ve diðer özellikler için iþletim sistemi haklarý
etkinleþtirmesi amacýyla kullanýlacaklar. Ancak SQL Server Setup boyunca servis
hesaplarý olarak seçilen hesaplara SQL Server' da haklar atanacak.
Bir baþka deyiþle, Windows yerel gruplarý artýk sadece iþletim sistemi görevleri
için kullanýlacaklar. SQL Server servisleri için seçilen hesaplar da SQL Server
ve veritabaný iþlemleri için kullanýlacaklar. Bu konuda daha fazla bilgi için
buraya týklayýn.
Surface Area Configuration aracý:
Bu araç SQL Server 2005 ile birlikte geldi ve bu aracý, SQL Server' ýn bazý özelliklerini
açmak ve kapatmak için kullanýyoruz.
SQL Server 2008' de ise Surface Area Configuration aracý kaldýrýldý. Bunun yerine
çok daha geliþmiþ bir özellik olan Policy-Based Management özelliðini kullanacaðýz.
Bu konuda SQL Server' ýn sanýrým Kasým CTP' sinde bir örnek yaparak bunu yayýnlamýþtým.
Bu makalemi okumak için
buraya týklayýn. Bu özellik
kýsaca size SQL Server bileþenleri için ilkeler tanýmlamanýzý ve ayrýntýlý bir þekilde
bu ilkeleri SQL Server içindeki Principal ve Rollere uygulamanýzý saðlýyor. Bu konuda
daha fazla bilgi için
buraya týklayýn.
Surface Area Configuration aracýndaki baðlantýlarla ilgili
ayarlarý da -SQL Server 2005' te de yapabildiðimiz gibi- SQL Server Configuration
Manager' da yapabilirsiniz. Örnek vermek gerekirse, TCP\IP, Named Pipes vb. protokollerin
etkinleþtirilip kapatýlmasý gibi...
Kerberos Authentication:
SQL Server 2008' den itibaren, Kerberos Authentication desteði Named Pipes ve Shared
Memory protokollerini de kapsayacak þekilde geniþletildi. Buna ek olarak Kerberos,
Windows Active Directory olmadan da kullanýlabilecek. Bu konuda daha fazla bilgi
için
buraya týklayýn.
Ekrem Önsoy
Kaynak: Bu yazýyý yayýnlarken Books Online' dan yararlandým.
|
|
Anasayfa |
|