이 검사 목록에서는 SQL Server 데이터베이스 엔진의 주요 보안 구성 옵션을 검토합니다. 이 검사 목록을 사용하여 데이터베이스 엔진 환경을 정기적으로 감사하십시오. 다음 권장 설정은 사용자의 보안 및 비즈니스 요구에 따라 조정되어야 합니다.
물리적 보안
|
- 데이터베이스 엔진을 호스팅하는 컴퓨터가 액세스가 제한된 보안 데이터 센터에 있습니까?
팁 자세한 내용은 보안 계획 예제: Adventure Works(Sample Security Plan: Adventure Works)를 참조하십시오.
|
|
- 백업이 안전한 위치에 저장되어 있습니까?
팁 자세한 내용은 백업 및 복원에 대한 보안 고려 사항을 참조하십시오.
|
|
- 데이터베이스 엔진 파일(.mdf, .ndf, .ldf 파일)에 대한 액세스가 파일 시스템 사용 권한으로 제한됩니까?
팁 데이터베이스 파일에 대한 액세스 권한을 얻은 악의적인 사용자가 이러한 파일을 데이터베이스 엔진의 다른 인스턴스에 연결할 수 있습니다. 자세한 내용은 데이터 및 로그 파일 보안을 참조하십시오.
|
|
- 데이터베이스 엔진 이진 파일(binn 폴더의 sqlservr.exe)에 대한 액세스가 파일 시스템 사용 권한으로 제한됩니까?
팁: SQL Server 이진 파일에 액세스할 수 있는 악의적 사용자가 서비스를 손상시키고 서비스 거부 공격을 시도할 수 있습니다.
|
|
- 감사 파일에 대한 액세스가 파일 시스템 사용 권한으로 제한됩니까?
팁 보안 수준이 높은 환경에서는 Windows 보안 로그에 개체 액세스를 기록하는 이벤트를 쓰는 것이 좋습니다. 다른 감사 위치도 지원되지만 변조될 가능성이 높습니다. 자세한 내용은 방법: 보안 로그에 서버 감사 이벤트 쓰기를 참조하십시오.
|
|
- 공용 및 개인 암호화 키의 백업이 안전한 위치에 저장되어 있습니까?
팁 암호화 키를 이동식 미디어(CD 또는 플래시 드라이브)에 백업한 경우 키 백업을 안전한 위치에 저장해야 합니다. 다른 하드 드라이브에 백업하는 경우 해당 컴퓨터가 적절하게 보호되어야 합니다.
|
|
- EKM(확장 가능 키 관리)을 사용하는 경우 HSM(하드웨어 보안 모듈)을 적절하게 보호하고 있습니까?
팁 권장 사항은 HSM 공급업체에 문의하십시오.
|
운영 체제 구성
|
- SQL Server 컴퓨터가 최소한의 필수 예외만 설정된 방화벽으로 보호되고 있습니까?
팁wf.msc(또는 firewall.cpl)를 사용하여 Windows 방화벽을 구성하십시오. 자세한 내용은 SQL Server 액세스를 허용하도록 Windows 방화벽 구성을 참조하십시오.
|
|
- 서버 및 클라이언트 운영 체제에서 인증에 대한 확장된 보호를 사용하도록 구성되어 있습니까?
팁 자세한 내용은 확장된 보호를 사용하여 데이터베이스 엔진에 연결 및 인증에 대한 확장된 보호를 참조하십시오.
|
|
- 운영 체제가 가능한 경우 항상 자동 업데이트를 허용하도록 구성되어 있습니까?
팁 프로덕션 환경에서는 일반적으로 업데이트를 적용하기 전에 테스트해야 합니다. 업데이트는 정기적으로 테스트 및 적용되어야 합니다. 테스트를 수행하지 않는 경우 업데이트를 자동으로 설치하는 것이 좋습니다.
|
데이터베이스 인스턴스 구성
|
- 데이터베이스 엔진이 비즈니스 요구에 따라 필요한 최소한의 권한을 가진 계정으로 실행되도록 구성되어 있습니까?
팁 자세한 내용은 Windows 서비스 계정 설정을 참조하십시오.
|
|
- SQL Server 인증을 비즈니스 요구에 따라 필요한 경우를 제외하고 사용하지 않도록 설정했습니까?
팁인증 모드 선택을 참조하십시오.
|
|
- SQL Server 인증을 설정한 경우 SA 계정을 해제했습니까?
팁 SA 계정은 잘 알려진 계정이며 자주 악의적 사용자의 공격 대상이 됩니다. ALTER LOGIN 문을 사용하여 이 계정을 사용하지 않도록 설정하십시오. sysadmin 고정 서버 역할의 멤버 자격을 Windows 인증을 사용하는 로그인으로 제한하십시오.
|
|
- SQL Server 인증을 설정한 경우 SA 계정의 이름을 변경했습니까?
팁 SA 계정은 잘 알려진 계정이며 자주 악의적 사용자의 공격 대상이 됩니다. ALTER LOGIN 문을 사용하여 이 계정의 이름을 변경하면 계정을 보호할 수 있습니다.
|
|
- SA 계정에 강력한 암호가 설정되어 있습니까?
팁 SA 계정 암호는 SQL Server 설치 시 지정됩니다. 하지만 ALTER LOGIN 문을 사용하여 변경할 수 있습니다.
|
|
- SQL Server 인증을 설정한 경우 SQL Server에서 강력한 암호를 요구합니까?
팁 SQL Server 로그인은 별도로 지정되지 않는 한 컴퓨터의 암호 정책을 상속합니다. 자세한 내용은 CREATE LOGIN 및 ALTER LOGIN의 CHECK_POLICY 옵션을 참조하십시오.
|
|
- 불필요한 SQL Server 기능이 해제되어 있습니까?
팁 정책 기반 관리의 노출 영역 구성 패싯을 사용하십시오. 자세한 내용은 노출 영역 구성 이해를 참조하십시오.
|
|
- 반드시 필요한 경우를 제외하고 xp_cmdshell이 해제되어 있습니까?
팁 자세한 내용은 xp_cmdshell(Transact-SQL)을 참조하십시오.
|
|
- 여러 데이터베이스가 단일 단위로 배포된 경우를 제외하고 데이터베이스 간 소유권 체인이 OFF로 설정되어 있습니까?
팁 자세한 내용은 cross db ownership chaining 옵션을 참조하십시오.
|
|
- SQL Server에 대해 정기적으로 BPA(Best Practices Analyzer)를 실행하고 있습니까?
팁Microsoft SQL Server 2008 R2 Best Practices Analyzer 또는 SQL Server 2005 Best Practices Analyzer(August 2008)를 사용하십시오.
|
|
- 데이터베이스 엔진에 최신 서비스 팩이 설치되어 있습니까?
팁 프로덕션 환경에서는 일반적으로 서비스 팩을 적용하기 전에 테스트해야 합니다. 테스트를 수행하지 않는 경우 서비스 팩을 자동으로 설치하는 것이 좋습니다.
|
|
- AdventureWorks2008R2 같은 예제 데이터베이스가 프로덕션 데이터베이스에 설치되어 있지 않은지 확인했습니까?
팁 SQL Server Management Studio를 사용하여 예제 데이터베이스를 확인하십시오.
|