Makalem önceden ayarladıysanız yardımcı olacaktır, ancak olay geçmişte gerçekleştiğinde ve herhangi bir denetim mekanizması ayarlanmadığında değil.
Yine de umut var. Diyelim ki bunu yaptım:
CREATE LOGIN flooberella WITH PASSWORD = N'x', CHECK_POLICY = OFF;
Bu bilgiler, EventClass 104 (Denetim Eklenti Olayı) altındaki varsayılan izdedir. Ancak, şu yöntemlerden birini kullanarak parolayı değiştirirsem:
ALTER LOGIN flooberella WITH PASSWORD = N'y';
EXEC sp_password N'y', N'z', N'flooberella';
Bu olaylar vardır değil başkasının şifresi ne olduğunu şekle varsayılan iz erişimi olan herkes için mümkün olmamalı, ne de hatta öğrenmek için kolay yapmak istiyorum yapmak - bariz güvenlik nedenleriyle varsayılan iz tarafından yakalanan bir şifre değiştirildi (örneğin, bu olayların sıklığını sorgulamak güvenlik stratejinizin belirli özelliklerini ortaya çıkarabilir).
Peki başka ne yapabilirsiniz? Bu, hala günlükte bulunan bilgilere dayanırken ve aynı zamanda bir sistem veritabanına karşı belgelenmemiş bir DBCC komutu kullanmaya dayanır (master'ı yedeklemek ve başka bir yerde geri yüklemek isteyebilirsiniz), işlem günlüğünden bazı bilgiler alabilirsiniz , Örneğin:
DBCC LOG(master, 1);
Bu, yukarıdaki iki komut için, aşağıdaki (kısmi) bilgilere sahip satırlar verecektir:
Current LSN Description
====================== ======================================================================
000000f2:000001b8:0002 ALTER LOGIN;0x01050000000000051500000093a3bcd7a9f8fb1417ab13bce8030000
000000f2:000001b8:0004 Alter login change password;0x01050000000000 ... same sid as above ...
Çok fazla görünmüyor, ancak şimdi açıklamanın 0x bölümünü al ve sonra yap:
SELECT name FROM sys.server_principals
WHERE sid = 0x01050000000000051500000093a3bcd7a9f8fb1417ab13bce8030000;
Tütsüleme tabancası! Bu olaydan sorumlu olan kişi budur.
Elbette, ALTER LOGIN
tüm işlemler için sözdizimi kullanıyorlarsa (bunun yerine kullanmaları gerekir sp_password
), varsayılan veritabanını değiştiren ve parolayı değiştiren biri arasında ayrım yapamazsınız. Ayrıca bunun hangi girişi etkilediğini (en azından görebildiğimi) söyleyemezsiniz, sadece bu kişinin bir girişi değiştirdiğini söyleyemezsiniz . Jon, bu bilgilerin de günlükte olduğunu düşünüyor gibi görünüyor, ancak bulamadım (zaman bilgilerinin aksine, bir şekilde sağa kaydırdım).
SQL Server 2012'de içerilen kullanıcılar için farklı yanıtlar olabilir - ancak şifre değişikliklerinin yine de benzer şekilde gizlendiğinden şüpheleniyorum. Ayrı bir soru için bırakacağım.