2009-07-07 3 views
0

t-sql을 사용하면 모든 SQL 로그인에 SQL 2000 및 2005 서버의 강력한 암호가 있는지 어떻게 알 수 있습니까?tsql- strong passwords

도움을 주시면 감사하겠습니다.

감사 Manjot

+1

아주 좋은 이유로 암호가 해시되었습니다 ... 이것 역시 그 중 하나입니다. – Eric

답변

1

당신은 할 수 없어! 취약한 암호를 식별 할 수 있다면 보안 문제가 될 수 있습니다. 모든 사용자가 강제로 암호를 변경하고 암호 정책을 적용 할 수 있습니다.

크래커 :

// pseudocode: 
foreach (var username in 
    exec(@"SELECT username FROM hypothetical.fn_get_users_with_weak_passwords()")) 
    PerformDictionaryAttack(username); 

너무 좋지 않아 ... 그렇지?

+0

나는 sys 권한을 가지고있다. 감사를 위해 로그인에 약한 암호가 있는지 찾아야합니다. 감사 할 항목이 없습니까? – Manjot

+0

Manjot : no. 당신이 sysadmin인지 아닌지는 중요하지 않습니다. 관리자 *는 암호를 변경할 수 있지만 현재 암호는 볼 수 없습니다. –

+0

글쎄, 더 정확하려면 ** 공식적으로 ** 당신이 이것을 할 수있는 방법이 없습니다. –

1

데이터베이스에있는 비밀번호의 강도를 확인하라는 것을 알고있는 감사관은 위에서 설명한 바와 같이 권한이 무엇이든 상관없이 DB 서버에서 비밀번호를 쿼리 할 수 ​​없다고 생각합니다. 아르. 암호와 암호 강도에 대한 프로세스가 무엇인지 물어볼 가능성이 큽니다.

로그인은 도메인 계정에 연결해야하며 도메인 컨트롤러에는 적어도 Windows 환경에서 강력한 암호를 강제 적용하는 프로필이 있어야합니다.

사용자가 아닌 사용자, 즉 웹 앱, 보고서 등의 경우 응용 프로그램의 도메인 수준에서 또는 더 나아가 데이터베이스를 사용하는 그룹의 기능 계정을 만들어야합니다.

감사 목적으로 이것은 기본적으로 우리가 관리하는 방식에서 Windows 도메인 컨트롤러가 자신의 일을하고 로그인의 측면을 처리하는 것이 훨씬 쉽습니다.

0

예, 가능합니다.

SQL 2005는 그룹 정책 암호 정책에 연결할 수 있습니다. 즉, NT 로그인과 동일한 길이, 만료 등의 SQL 로그인 암호를 가질 수 있습니다. 물론 정책이 없다면 왜 SQL 로그인에 관심이 있습니까?

두 버전 모두 암호를 해시하기 위해 NGS Squirrel을 사용할 수 있습니다. 암호를 빨리 해독하면 (일주일? 월?) 암호가 충분하지 않습니다.

순수한 T-SQL 솔루션을 원할 경우 pwdencrypt 함수를 사용하여 다람쥐를 에뮬레이션하고 루프를 사용하여 모든 순열을 실행할 수 있습니다.

그렇지 않으면 : 아니요. 암호를 해독하여 암호를 확인할 수만 있습니다 ...

도메인 서비스/시스템 계정을 사용하기 때문에 SQL 로그인이 전혀 없습니다.

+0

감사 정책이 괜찮을 것입니다. 감사합니다. 논평. – Manjot

0

난 최선의 방법은 gooddictionary을 사용하여 시도하는 것입니다, SQL Ping 3 그것이 일을하는 것처럼 보입니다.