Windows 2000/2003 Server da var olan kullanıcı yetkileri, kullanıcıların domain içinde veya lokaldeki üyelikleri sistem güvenliği için çok nemlidir. Aynı şekilde SQL Server 2000'de de kullanıcılara tanımlanan oturumları, izinleri ve rolleri detaylı bir şekilde bilmek ve bu gereksinimlere gre tanımlamalar yapmak sistem güvenliğini sağlamak açısından belirleyici. SQL Server Güvenliği Windows 2000/2003 Server da var olan kullanıcı yetkileri, kullanıcıların domain içinde veya lokaldeki üyelikleri sistem güvenliği için çok nemlidir. Aynı şekilde SQL Server 2000'de de kullanıcılara tanımlanan oturumları, izinleri ve rolleri detaylı bir şekilde bilmek ve bu gereksinimlere gre tanımlamalar yapmak sistem güvenliğini sağlamak açısından belirleyici zelliklerdir. Atadığınız roller ve izinler veritabanına bağlanan kullanıcıların hangi tür veriye ulaşabileceklerini veya neleri yapıp yapamayacaklarını belirler. SQL Server Güvenlikleri drt ana başlıktan oluşmaktadır. Bunlar; SQL Server Kimlik Doğrulama Kipleri Sunucu Oturumları İzinler Roller 1. Adım Olarak SQL Server Kimlik Doğrulama Kipleri SQL Server'da iki tür kimlik doğrulama kipi vardır Windows Authentication Only:Windows etki alanında bulunan kullanıcı ve grup hesaplarını kullanabilirsiniz. Domain'de tanımlı kullanıcılara birde SQL Server oturum açma adı ve parolası vermenize gerek kalmadan veritabanlarına erişim yapabilirler. Karma Güvenlik: Veritabanına şirket dışından erişim oluyorsa, etki alanı kullanılmıyorsa Karma Güvenlik kipiyle veritabanlarına erişim sağlanabilir. SQL Server kimlik doğrulama kiplerini grmek için Enterprise Manager tıklayın çalışmak istediğiniz Sunucuyu içeren sunucu grubuna erişin, sonra da ve Enterprise Manager ağaç yapısındaki sunucu adını farenin sağ düğmesiyle tıklayın ve zelikleri seçin. Security tabında kimlik doğrulama modları yer almaktadır. 2. Adım Olarak Sunucu Oturumları İki tür kimlik doğrulama kipi bulunduğu gibi iki türde sunucu oturumu mevcuttur. Etki alanın oturumlarını, etki alanında ya da yerel kullanıcı hesabını yerel grup hesaplarında ya da evrensel veya genel etki alanı grup hesapları olabilen etki alanı hesaplarını kullanarak yaratabilirsiniz. SQL Server oturumlarınız unique bir oturum adı ve parola belirleyerek yaratırsınız. Varsayılan ayar olarak gelen oturumlar aşağıda yer almaktadır. Yerel Administrators grup Yerel Administrator hesabı sa oturumu guest oturumu dbo oturumu 3. Adım Olarak İzinler İzinler, kullanıcıların SQL Server üzerinde yada bir veritabanında yapabileceklerini belirler ve kullanıcılara oturum kimlik'ine, grup üyeliğine ve rol üyeliğine gre verirler. Kullanıcıların veritabanında bir değişiklik yapma yada bir şeyi silme gibi eylemleri gerçekleştirmeden nce uygun izinlere sahip olmaları gerekmektedir. SQL Server izinler üç ana başlıkta toplanır: Nesne izinleri Bildiri izinleri Kendiliğinden izinler Nesne İzinleri:Tablo, grünüm ve sütunları erişimi düzenleyen izinlerdir. rneğin sadece raporlama üzerinde çalışan bir kullanıcıya bir tablodan sadece bilgi seçme hakkı verilebilir, bu kullanıcı tabloya herhangi bir bilgi ekleme , güncelleme ve silme yetkisi vermeyebiliriz Nesne Türü Eylemler Column select ve update Row N/A Stored Procedure Execute Table Select, insert, update, delete ve references View Select, insert, update, delete Bildiri İzinleri:Bir veritabanı yaratmak veya bir veritabanına nesne eklemek için kullanılan ynetici izinleridir. Bu tür izinleri System Administrators rolüne sahip üyeler kullanabilir. Varsayılan ayarlarda normal oturumlara bildiri izinleri verilmez, daha sonra isteğe bağlı olarak verilebilir. rneğin bir kullanıcıya veritabanını yedekleme izni vermek istiyorsanız backup database yürütme izni verilmelidir. Bu tür izinler verilebilir ve daha sonra o kullanıcıda geri alınabilir izinlerdir. Bu izinler aşağıda yer almaktadır: Create Database: Kullanıcının Veritabanı yaratıp yaratmayacağı belirler. Create Default: Kullanıcının tablo sütunu içinde varsayılan bir değer yaratıp yaratmayacağını belirler. Create Function: Kullanıcının veritabanında kendi tanımladığı bir işlev değer yaratıp yaratmayacağını belirler. Create Procedure: Kullanıcının saklı yordam değer yaratıp yaratmayacağını belirler. Create Rule: Kullanıcının bir tablo sütunu değer yaratıp yaratmayacağını belirler. Create Table: Kullanıcının bir tablo değer yaratıp yaratmayacağını belirler. Create View: Kullanıcının bir grünüm değer yaratıp yaratmayacağını belirler. Backup Database: Kullanıcının veritabanını yedekleyip yedekleyemeyeceğini belirler. Backup Log: Kullanıcını işlem günlüğünü yedekleyip yedekleyemeyeceğini belirler. Kendiliğinden İzinler: nceden tanımlı rollerin üyeleri yada veritabanı nesnesi sahiplerin kendiliğinden olan izinleridir. Kendiliğinden olan izinler değiştirilemezler. rneğin System Administrators'ın SQL Server'da tüm eylemleri gerçekleştirebilmesi gibi. 4. Adım Olarak Roller Bir grup kullanıcıya kolayca izin atayabilmek için kullanılan ve değiştirilemeyen nceden tanımlı izinlerdir. Sunucu Rolleri Veritabanı Rolleri Sunucu Rolleri: Sunucuyu ynetebilmek için kullanılır. Sunucu rolleri sunucu düzeyinde ayarlanır ve nceden tanımlıdırlar. Bu izinler tüm sunuyu etkiler ve değiştirilemezler. Resimdeki sunucu rollerinin açıklamaları ise şu şekildedir. Bulk Insert Administrators : Veritabanına yığın eklemeleri yapmaları gereken etki alanı hesapları için tanımlanmış roldür. Bu rolün üyeleri bulkadmin'e üyeler ekleyebilir ve Aşağıda belirtilen izinlere sahiptirler. Database Creators : Veritabanı yaratma, değiştirme ve iptal etme yetkisini içeren roldür. Aşağıda belirtilen izinlere sahiptirler. Disk Administrators hack forum https://www.turkhacks.com