29.09.2010

Account Lockout olaylarının takibi

Çoğu sistem yöneticisi, etki alanındaki (domain) hesapların şifrelerinin brute-force yöntemleriyle kırılmasını engellemek için account lockout yöntemini kullanır. Belli bir denemeden sonra hesap bir süreliğine yada kalıcı olarak kilitlenir. Bu sayede deneme\yanılma ile şifrelerin tahmin edilmesi beklenenden çok zaman alır. Bu da şifreyi kırmaya çalışan kişiyi engeller.

Ancak bazen istek dışı account lockout olayları da yaşanır. Şifresini unutan veya eski şifresini hala kullanmaya devam eden kullanıcılar, hesaplarını kilitlerler. Bazen de bu otomatik (Internet Explorer'da kayıtlı proxy şifresi) olur.

Her durumda account lockout olaylarının takip edilmesi güvenlik açısından faydalı olur. Account lockout hangi bilgisayardan yapılmış, daha önce kaç kere yanlış şifre girişi olmuş vs. bilgiler sistem yöneticisinin bilmesi gereken anahtar bilgilerdir. Ancak bu bilgileri System Event Log'undan toplamak, hele ki birden fazla etki alanı denetleyicisi (domain controller) varsa, zor bir iş olabilir. Eminim piyasada bu işin takibini yapacak çok yetenekli ticari yazılımlar vardır ama bunların lisans ücretlerini ödemek istemiyorum diyenler için basit bir çözümüm var.

İşin özeti şöyle: bir kullanıcı şifresini yanlış girdiğinde etki alanı denetleyicisi System Event Log'una 675 ve/veya 680 ID'li olaylar düşer. Daha önce belirlenmiş sayıda yanlış şifre girişi sonunda kullanıcının hesabı kilitlenir ve bu sefer de 644 ID'li olay düşer. Hesabın kilitli olduğu süre boyunca her girişte yine 680 ID'li olaylar düşer. Birden fazla etki alanı denetleyiciniz varsa, PDC emulator görevini üstlenen denetleyicinin System Event Log'unda 675 ID'li olay kaydında yer alan IP adresi, kullanıcı hesabının doğruluğunu denetleyen etki alanı denetleyicisinin (domain controller) adresi olabilir. Bu durumda bu denetleyicinin de System Event Log'una bakmalıyız. Burada göreceğimiz 675 ID'li olaylar, yanlış şifrenin girişinin yapıldığı bilgisayarın IP adresini verir. Amacımız bu olay kayıtlarını tüm etki alanı denetleyicileri üzerinde takip etmek.

Sysinternals Pstools paketinden psloglist.exe ile uzak bir/birkaç bilgisayardan event log'larını çekebiliriz. Örneğin
psloglist \\dc1,dc2,dc3 -h 10 -i 644,675,680 -s security > lockouts.txt
komutuyla dc1, dc2 ve dc3 adlı etki alanı denetleyicilerinin security event log'larından son 10 saat içindeki 644, 675 ve 680 numaralı olaylarını çekip mevcut klasörün içindeki lockouts.txt dosyasına yazabilirim. Bunu başka şekillerde de yapabilriz ama son 10 saatin security loglarından 3 farklı ID için, 3 farklı DC üzerinden bunu tek işlemde yapmak süper birşey! Elbette bu işi yapabilmek için Domain Controller Security Policy ile Failure Audit'in etkinleştirilmiş olması gerek.

Bunun sonucunda lockouts.txt dosyasını bir Spreadsheet programıyla (MS Excel, OpenOffice Calculator vs.) açıp ID'lere göre süzerek ayrıntılı fikir sahibi olabiliriz.

Hiç yorum yok: