점검 목적
적절한 Windows 인증 모드를 적용해 적합한 복잡성 수준을 유지하기 위함.
※ DB 엔진 인증 모드에는 ①Windows 인증 모드 or ②SQL Server가 있는 혼합 모드로 구성됨.
※ Windows 인증은 kerberos 보안 프로토콜을 사용해 강력한 암호정책을 적용하여 적합한 복잡성 수준을 유지함.
Windows 인증 모드 사용 시 SQL Server 인증을 위해 sa 라는 비활성화된 계정을 생성하고,
혼합 모드 사용함으로써 sa 계정이 활성화됨.
※ sa 계정 : 데이터베이스 설치 시 자동으로 생성되는 DB 서버 관리자 계정.
보안 위협
혼합 인증모드를 사용하고 sa 계정이 활성화되어 있을 경우, 잘 알려진 sa 계정에 대한 계정 추측 공격 가능성이 존재함.
판단기준
양호 : Windows 인증 모드 사용, sa 계정 비활성화된 경우 sa 계정 사용 시 강력한 암호정책을 설정한 경우
취약 : 혼합 인증 모드를 사용, 활성화된 sa 계정에 대해 강력한 암호정책 설정을 하지 않은 경우
점검 방법
1. 인증 모드 확인
① SQL Server를 통한 확인 방법
- SSMS(SQL Server Management Studio) > Security > Server authentication 설정 확인할 것.
- SQL Server and Windows Authentication mode 일 경우 취약
② 또는 레지스트리 LoginMode 값 확인할 것.
[ 컴퓨터\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSWIN8.SQLWID\MSSQLSERVER ]
- LoginMode 값이 2일 경우 취약
2. sa 계정 활성화 여부 확인
① SQL Server를 통한 확인 방법 - sa 계정 암호정책 설정 확인할 것.
조치방안
1. 인증 모드 변경할 것.
① SSMS(SQL Server Management Studio) > Security > Server authentication 에서 "Windows Authentication mode"로 변경할 것.
② 또는 레지스트리 LoginMode 값 을 1로 변경할 것.
[ 컴퓨터\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSWIN8.SQLWID\MSSQLSERVER ]
2. sa 계정 활성화 여부 확인
① SSMS 에서 sa 계정 로그인 상태를 "사용 안 함"으로 변경할 것.
② sa 계정 로그인 활성화 시, "암호 정책 강제 적용", "암호 만료 강제 적용" 체크할 것.