SQL Server’a yapılan Brute Force saldırısını tespit etmek için aşağıdaki yöntemleri kullanabilirsiniz:
1. SQL Server Error Log Analizi
SQL Server, başarısız giriş denemelerini hata günlüklerine kaydeder. Bu logları kontrol etmek, saldırı belirtilerini tespit etmek için önemli bir adımdır.
- Hata Günlüğü: SQL Server’da,
ERRORLOGdosyasında “Login failed for user” gibi ifadeler arayarak başarısız giriş denemelerini tespit edebilirsiniz. - TSQL: SQL Server Management Studio (SSMS) üzerinden şu sorgu ile hata loglarını inceleyebilirsiniz: sqlKopyalaDüzenle
EXEC xp_readerrorlog; - Bu loglar genellikle kimlik doğrulama hataları, başarısız girişler ve saldırıya dair ipuçları sunar.
2. SQL Server Güvenlik Olayları (Event Log)
SQL Server ayrıca Windows Event Log’a güvenlik olaylarını kaydeder. Bu loglar, özellikle tekrarlanan başarısız giriş girişimlerini tespit etmek için yararlıdır.
- Windows Event Viewer üzerinden “Security” sekmesinde, “Failed login” veya “Login failed” olaylarını inceleyebilirsiniz.
- Olay kimlikleri (event IDs) genellikle 18456 ve 18452’dir. Bu ID’ler, başarısız giriş denemeleri hakkında bilgi verir.
3. SQL Server Audit Kullanımı
SQL Server Audit, veritabanı aktivitelerini izlemek ve raporlamak için kullanılabilir. Bağlantı girişimleri, oturum açma hataları ve şüpheli aktiviteler için özel denetimler (audit) oluşturabilirsiniz.
- Örnek bir audit sorgusu: sqlKopyalaDüzenle
CREATE SERVER AUDIT [Audit_Logins] TO FILE ( FILEPATH = 'C:\SQLAuditLogs' ) WITH ( QUEUE_DELAY = 1000, ON_FAILURE = CONTINUE ); CREATE SERVER AUDIT SPECIFICATION [Audit_Logins_Spec] FOR SERVER AUDIT [Audit_Logins] ADD (FAILED_LOGIN_GROUP); ALTER SERVER AUDIT [Audit_Logins] WITH (STATE = ON);
4. SQL Server Profiler Kullanımı
SQL Server Profiler, sorguları ve bağlantı denemelerini izlemek için güçlü bir araçtır. Ancak, performans etkilerini göz önünde bulundurmalısınız.
- Profiler ile, şüpheli bağlantı denemelerini (örneğin aynı kullanıcı için çok fazla başarısız giriş) izleyebilirsiniz.
- “Audit Login” olaylarını izleyerek, bağlantıların başarısız olup olmadığını kontrol edebilirsiniz.
5. Şüpheli Giriş Denemelerinin Sıklığına Bakmak
- Eğer belirli bir IP adresinden çok sayıda başarısız giriş denemesi yapılıyorsa, bu bir Brute Force saldırısının belirtisi olabilir.
- Dynamic Management Views (DMVs) kullanarak aktif oturumları ve bağlantıları izleyebilirsiniz. Örneğin: sqlKopyalaDüzenle
SELECT login_name, COUNT(*) AS failed_attempts FROM sys.dm_exec_sessions WHERE login_name != 'sa' -- 'sa' dışında başka bir kullanıcıyı izlemek GROUP BY login_name HAVING COUNT(*) > 10; -- 10'dan fazla başarısız giriş
6. Firewall ve IPS/IDS Sistemlerini Kullanmak
- SQL Server’ın ağ erişimi üzerinde bir firewall veya Intrusion Prevention/Detection System (IPS/IDS) kullanarak, Brute Force saldırılarını tespit edebilirsiniz. Çok fazla başarısız giriş denemesi veya aynı IP’den gelen çok sayıda istek, bu sistemler tarafından tespit edilebilir.
7. Gelişmiş Şifreleme ve Hesap Kilitleme Politikaları
- Hesap Kilitleme: SQL Server’da, belirli sayıda başarısız giriş denemesi sonrasında hesabın kilitlenmesini sağlamak, Brute Force saldırılarını engellemeye yardımcı olabilir.
- Şifre Politikaları: Güçlü şifre politikaları uygulamak, tahmin edilebilir şifrelerin kullanılmasını engelleyerek Brute Force saldırılarını zorlaştırır.
8. Gelişmiş Analitik Araçlar
- Third-party Security Tools: Brute Force saldırılarını tespit etmek için üçüncü parti güvenlik araçlarını kullanmak faydalı olabilir. Bu araçlar, şüpheli aktiviteleri analiz eder ve saldırılara karşı uyarılar verir.
Bu yöntemler SQL Server’da Brute Force saldırılarını tespit etmek için etkili araçlar ve stratejiler sağlar. Yine de, bu saldırıların başarılı olmasını engellemek için güçlü bir güvenlik yapılandırması ve güncel yazılım kullanmanız gerekmektedir.














Bir Cevap Yazın