Kategorie szkoleń | Egzaminy | Kontakt

Odpowiedź (1)

  • 3

Przy tworzeniu loginów można skorzystać z mechanizmu z konfiguracji zasad haseł zdefiniowanych w systemie operacyjnym. Jednak dla loginów już istniejących bezpośrednio nie ma możliwości zweryfikowania czy poziom skomplikowania hasła jest zgodny z aktualną GPO. Z drugiej strony, za pomocą GPO nie zabronimy tworzenia loginów z hasłami typu "Pa$$w0rd",które niby spełniają reguły GPO, ale są dość łatwe do odgadnięcia.

Można tu skorzystać z z funkcji SQL PWDCompare. Jeśli chcemy znaleźć loginy, które mają hasło "1234" musimy napisać takie zapytanie:

SELECT name FROM sys.sql_logins
WHERE PWDCOMPARE('1234', password_hash) = 1


Jeśli chcemy zrobić bardziej uniwersalne rozwiązanie, warto utworzyć sobie tabelę z listą haseł potencjalnie łatwych do odgadnięcia (takie statystyki są dostępne zwykle w Internecie do pobrania). Poniżej przykładowy do testu tego rozwiązania:

--tworze login ze słabym hasłem:

create login WeekLogin with password = 'P@ssw0rd'


--tworzę tabelę z listą przykładowych słabych haseł, których istnienie chcę zweryfikować:

create table WeekPasswords(
id int not null primary key identity(1,1),
pwd nvarchar(500))
insert into WeekPasswords values ('Pa$$w0rd'),('P@ssw0rd'),('1234'),(''),(' ')


--i zapytanie wyszukujące loginy ze słabymi hasłami:

SELECT distinct name FROM sys.sql_logins s
JOIN WeekPasswords w ON PWDCOMPARE(w.pwd, s.password_hash) = 1

 

 

  • Odpowiedział
  • @ | 06.06.2014
  • TRENER ALTKOM AKADEMII