SQL Server Failed Login Spike (Error 18456): Source and Cause Analysis
Distinguishes bad app credentials, access issues and attack traffic, then applies account containment and network isolation with safeguards.
Operational Safety & Risk Notice
This runbook contains operational intervention steps; several are write-impacting (KILL, terminate, DROP, RESIZE). Verify in a staging environment first, and apply sequentially in production with verification.
1. Symptom & Signals
- M36: Hata 18456 sayısı baseline'a göre artıyor; uygulama kimlik doğrulama hatası veya güvenlik uyarısı veriyor.
- SQL Server error log'da `Login failed for user ...` satırları (başarısız login denetimi etkinse).
2. Business & Technical Impact
Geçerli kullanıcılar bağlanamayabilir; aşırı deneme CPU/log gürültüsü ve güvenlik riski yaratır. Yanlış müdahale servis hesabını kapatıp kesintiyi büyütebilir.
3. Diagnosis & Root-Cause Analysis
EXEC master.dbo.xp_readerrorlog 0, 1, N'Login failed';Sorgu veri döndürmüyorsa **denetimin etkin olduğunu varsaymayın**; SQL Server Audit/harici SIEM'i kontrol edin. Loglara erişimi en az yetkiyle sınırlandırın.
SELECT p.name, p.type_desc, p.is_disabled,
sl.is_policy_checked, sl.is_expiration_checked,
sl.default_database_name
FROM sys.server_principals AS p
LEFT JOIN sys.sql_logins AS sl ON sl.principal_id = p.principal_id
WHERE p.name = N'OrnekLogin';
SELECT SERVERPROPERTY('IsIntegratedSecurityOnly') AS windows_auth_only;`sys.dm_exec_connections` başarısız girişleri **göstermez**; yalnızca gerçekleşmiş bağlantıları listeler. Kaynak IP için error log/Audit veya ağ kayıtlarını kullanın.
4. Remediation & Action Plan
ALTER LOGIN [OrnekLogin] DISABLE;Bu, **mevcut oturumları otomatik sonlandırmaz**; oturumları ayrıca araştırın. `sa` veya kritik servis login'ini körlemesine kapatmayın.
4. **Kalıcı çözüm:** SQL Server Audit'te başarısız giriş olaylarını merkezi SIEM'e iletin; ayrı servis hesapları, en az yetki, ağ erişim kısıtı ve parola rotasyonu uygulayın. Error log saklama/denetim ayarlarını gözden geçirin.
5. **Yapmayın:** Sorunu bastırmak için başarısız login denetimini kapatmayın veya tüm SQL login'leri devre dışı bırakmayın.
5. Verification & Health Checks
- M36 normale indi, yetkili uygulama hesapları tekrar bağlanıyor, şüpheli kaynak denemeleri kesildi.
- SIEM/error log izleme devam ediyor; servis hesaplarında yeni 18456 oluşmuyor.
6. Rollback & Contingency Plan
- Hesap için yanlış pozitif durumunda olay müdahale onayıyla `ALTER LOGIN [OrnekLogin] ENABLE;`.
- Ağ engelini geri alırken kaynağı yeniden doğrulayın. Kimlik bilgisi rotasyonunu güvenli değişim planı olmadan geri çevirmeyin.