[위 에]제 2 장 사용자 인증,인증 및 보안(3):서버 를 보호 하여 폭력 공격 을 피하 기

원문의 출처:http://blog.csdn.net/dba_huangzj/article/details/38756693
,테마 목록:http://blog.csdn.net/dba_huangzj/article/details/37906349
작가 의 동의 없 이 그 누구 도'오리지널'형식 으로 발표 할 수 없고 상업 용도 로 사용 할 수 없 으 며 본인 은 어떠한 법률 적 책임 도 지지 않 습 니 다.
        전편:http://blog.csdn.net/dba_huangzj/article/details/38705965
 
선언:
 
폭력 공격(Brute-force attack)은 거의 모든 가능 한 문자 조합 을 통 해 비밀 번 호 를 풀 거나 사전 표를 사용 하여 가능 한 모든 비밀 번 호 를 포함 하여 비밀 번 호 를 풀 어 내 는 방법 이다.만약 너의 비밀번호 가 매우 간단 하 다 면 곧 해 제 될 것 이다.그래서 비밀 번 호 를 테스트 하 는 것 이 중요 하 다.
 
실현:
 
1.먼저 SQL 암 호 를 찾 습 니 다.강제 암호 정책 을 사용 하지 않 은 경우:
 
SELECT name, is_disabled 
FROM sys.sql_logins 
WHERE is_policy_checked = 0 
ORDER BY name;

 
2.그리고 이 로그 인 에 강 한 암호 정책 을 사용 합 니 다.
 
ALTER LOGIN Fred WITH CHECK_POLICY = ON,CHECK_EXPIRATION = ON;

 
이 명령 은 암호 가 만 료 되 기 전 까지 기 존 암 호 를 변경 하지 않 습 니 다.다음 함수 로 비밀번호 만 료 시간 을 확인 할 수 있 습 니 다:
SELECT LOGINPROPERTY('Fred', 'DaysUntilExpiration');

 
3.로그 인 할 때 비밀 번 호 를 수정 하도록 강제 할 수도 있 지만 먼저 협 의 된 비밀 번 호 를 제공 하고 사용자 에 게 알려 야 합 니 다.예 를 들 어 아래 코드 는 Fred 라 는 로그 인 이름 을 강제로 로그 인 할 때 비밀 번 호 를 수정 한 다음 에 You need to change me 를 사용 하 는 것 입 니 다!이것 은'초기 비밀번호'로 서 로그 인 할 때 사용 하 라 고 알려 야 합 니 다.로그 인 에 성공 하면 비밀 번 호 를 수정 하 라 고 알려 줍 니 다.
ALTER LOGIN Fred WITH PASSWORD = 'You need to change me !' MUST_CHANGE, CHECK_POLICY = ON, CHECK_EXPIRATION = ON;

원문의 출처:http://blog.csdn.net/dba_huangzj/article/details/38756693
[置顶] Chapter 2 User Authentication, Authorization, and Security(3):保护服务器避免暴力攻击_第1张图片
 
4.수정 할 로그 인 이름 을 스 크 립 트 로 모두 표시 할 수 있 습 니 다.
SELECT  'ALTER LOGIN ' + QUOTENAME(name) + ' WITH PASSWORD = ''You 
need to change me 11'' MUST_CHANGE, CHECK_POLICY = ON, CHECK_ 
EXPIRATION = ON; 
' 
FROM    sys.sql_logins 
WHERE   is_policy_checked = 0 
ORDER BY name;

 
프로그램 에서 사용자 가 비밀 번 호 를 수정 할 수 있 도록 해 야 한다 면 이 글 을 참조 하 십시오.http://msdn.microsoft.com/zh-cn/library/ms131024.aspx (프로 그래 밍 방식 으로 비밀번호 변경)
 
원리:
 
 
폭력 공격 을 피 하 는 가장 좋 은 방법 은 WIndows 암호 정책 을 사용 하 는 것 입 니 다.강 한 암호 만 사용 할 수 있 기 때 문 입 니 다.또한 폭력 공격 비밀 번 호 는 SQL Server 의 오류 로그 와 Windows 의 이벤트 로그 에 남 습 니 다.
SQL 로그 인 암호 나 키 는 시스템 시트 에 저장 되 지 않 고 암호 만 저장 하 는 hash 값 입 니 다.즉,복호화 할 방법 이 없습니다.hash 값 은 시스템 테이블 에 저 장 됩 니 다.나중에 로그 인 할 때 전 송 된 암호 와 hash 함수 로 생 성 된 hash 값 이 일치 하도록 합 니 다.
 
 원문의 출처:http://blog.csdn.net/dba_huangzj/article/details/38756693
더 많은:
 
만 료 정책 의 구성 부분 중 하 나 는[lockout threshold]입 니 다.SQL 로그 인 에 실 패 했 을 때 잠 금 을 시도 하려 면 CHECK 이 필요 합 니 다.POLICY 옵션 을 ON 으로 설정 하고 계 정 잠 금 정책 을 Active Directory 나 로 컬 설정 에 설정 합 니 다.
 
[置顶] Chapter 2 User Authentication, Authorization, and Security(3):保护服务器避免暴力攻击_第2张图片
 
잠 겨 있 는 계 정 이 있 는 지 아래 문 구 를 사용 하여 조회 할 수 있 습 니 다.
SELECT name 
FROM sys.sql_logins 
WHERE LOGINPROPERTY(name, N'isLocked') = 1 
ORDER BY name;

원문의 출처:http://blog.csdn.net/dba_huangzj/article/details/38756693
다음 편:http://blog.csdn.net/dba_huangzj/article/details/38817915

좋은 웹페이지 즐겨찾기