mssql-ayhanarda

MsSQL Server Güvenliği

MSSQL Server Güvenliği

*Herşeyin başı Patch ve Update
Öncelikle mssql server çalışan sunucumuzu en güncel hali ile tutmalı ve güvenlik güncellemelerini aksatmadan yapmalıyız , kaçırdığımız bir update olması ihtimaline karşı Microsoft’un Baseline Security Analyzer ı ile periyodik olarak taramalıyız. Ayrıca bu sonuç Size sadece eksik güncellemeleri değil , şifresi uzun süredir değiştirilmemiş kullanıcılardan tutunda sunucudaki açık paylaşımlara kadar geniş bir güvenlik raporu verecektir.

Download : Microsoft Baseline Security Analyzer

*Kullanmadığımız Servisleri Kapatalım
Standart bir mssql server kurulumunda aşağıdaki 4 servis kurulur,

MSSQLSERVER
SQLSERVERAGENT
MSSQLServerADHelper
Microsoft Search

Eğer biz, sadece veritabanımız çalışsın , benim active directory entegrem yok , full text search kullanmıyorum , şu sorguyu şu zaman çalıştır ve sonucunu şuna mail gönder gibi bir tanımlamam da yok , sadece veritabanım çalışsın ve erişebileyim istiyorum diyor iseniz MSSQLSERVER servisi haricindeki diğer servisleri gönül rahatlığı ile kapatabilirsiniz ki hatta servisi durdurmak ile yetinmeyip sunucu reboot olduktan sonra da çalışmaması için disabled duruma getirebilirsiniz.)

Bu işlemi servislerde ilgili servisin üzerine sağ tıklayıp startup type kısmında Disabled seçerek tamamlayabilirsiniz.

*Fazla Protokol Göz Çıkarır
Eğer mssql veritabanınızı sadece tcp/ip protokolü ile kullanıyorsanız Shared Memory, Named Pipes, VIA protokollerine ihtiyacınız yok demektir , bunları Sql Server Configuration Manager dan disabled duruma getirebilirsiniz.
Ayrıca sunucunuzda birden fazla ip var ise bunlardan hangisinin 1433 e cevap vermesi gerektiğini yine Sql Server Configuration Manager üzerinden ayarlayabilirsiniz ya da sql server erişimi için 1433 yerine custom bir port belirtmek isterseniz yine buradan yapabilirsiniz , portu değiştirmeniz faydalı olacaktır , böylece standart olarak bu portlara gelen bruteforce lardan kurtulmuş olacaksınız.

*Hesaplar
Sql server Servisini çalıştıracak kullanıcı olarak Local service account değilde sunucuda yeni oluşturacağınız bir kullanıcı çalıştıracak şekilde konfigure etmelisiniz. Hatta bu user ı Users grubundan da çıkartın.

Sonrasında sa ile oturum açmayı engellemek için aşağıdaki sorguyu execute edebilirsiniz.

ALTER LOGIN [sa] DISABLE
GO

Kullanılmayan hesapları da silmeliyiz , örneğin server kurulumu sırasında Sql Debugger kullanıcısı oluşur ancak production ortamında bu gereksizdir , sadece visual studio .net in debug için kullandığı bir hesaptır ve kullanılmıyor ise silinmesi gerekir.

Bir diğer konu ise windows üzerindeki Guest hesabının disable edilmesidir.

Bir adım daha ileriye gidersek önerim windows üzerindeki administrator kullanıcısının da adını farklı bir isim yapmanız olmalıdır , Sql iniz güvenli olabilir ama windows a erişildikten sonra gizlilik/bütünlük/erişilebilirlik ilkelerinden birinin bile zarar görmesi ciddi bir kayba yol açabilir.

Ayrıca şifre seçiminizde dikkatli olmalısınız , güçlü ve komplex şifreler kullanmalı , bu şifreler için bir expire zamanı belirlemelisiniz, böylece o dönem sonunda sizden şifrenizi güncellemeniz istenecektir.
Bu zorlamayı local security policy üzerindeki Account policy den yapabilirsiniz.

Null session ları registry üzerinden kapayalım. Key yolu aşağıdaki gibi , değerini 1 yapınız.
HKLM\System\CurrentControlSet\Control\LSA\RestrictAnonymous

*Paylaşımlar
Sunucuda administrative shares dediğimiz ön tanımlı gelen paylaşımlar açık olabilir (c$ , d$ gibi) , bunları kapatmalısınız.
Eğer bir paylaşıma ihtiyaç duyuyorsanız bu spesifik bir klasör ve spesifik bir user olmalı , everyone için bir paylaşım açmamalısınız.

*Portlar
1433 nolu porta erişebilecek ip aralığını sunucu üzerindeki firewall a tanımlayabilirsiniz , böylece belirlediğiniz ipler haricinde erişim mümkün olmayacaktır.

Devamını bugün yarın yazmaya çalışacağım.

Ayhan ARDA

Share Button

Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.