이 검사 목록에서는 SQL Server 데이터베이스 엔진에 연결할 때 사용하는 주요 옵션을 검토합니다. 이 검사 목록을 사용하여 데이터베이스 엔진에 대한 연결이 비즈니스 요구에 적합한 수준으로 안전하게 설정되었는지 확인하여 사용자 환경을 검토합니다.
데이터베이스 엔진 구성
.gif) |
- 데이터베이스 엔진이 필수 프로토콜만을 수신하도록 구성되었습니까?
팁 SQL Server 구성 관리자를 사용하여 클라이언트에서 요청할 경우에만 TCP/IP 또는 명명된 파이프를 사용하도록 설정하십시오. 자세한 내용은 네트워크 프로토콜 선택 및 방법: 서버 네트워크 프로토콜 설정 또는 해제(SQL Server 구성 관리자)를 참조하십시오.
|
.gif) |
- 필요할 경우에만 Service Broker, HTTP 및 데이터베이스 미러링 끝점을 만듭니까?
팁 자세한 내용은 네트워크 프로토콜 및 TDS 끝점을 참조하십시오.
|
.gif) |
- 가능한 경우 항상 Windows 인증을 사용하여 연결을 만듭니까?
팁 자세한 내용은 인증 모드 선택을 참조하십시오.
|
.gif) |
- 데이터베이스 엔진이 보안 통신을 위해 신뢰할 수 있는 기관의 인증서만 사용하도록 구성되어 있습니까?
팁 자체 서명 인증서를 사용한 기본 구성은 안전도가 떨어집니다. Windows 인증서 도구(certmgr.msc) 및 SQL Server 구성 관리자를 사용하여 인증서를 설치하십시오. 자세한 내용은 방법: 데이터베이스 엔진에 암호화 연결 사용(SQL Server 구성 관리자)을 참조하십시오.
|
.gif) |
- SQL Server가 네트워크를 통한 보안 연결만을 허용하도록 구성되어 있습니까?
팁 SQL Server 구성 관리자에서 암호화 적용 서버 설정을 사용하십시오. 자세한 내용은 방법: 데이터베이스 엔진에 암호화 연결 사용(SQL Server 구성 관리자)을 참조하십시오.
|
.gif) |
- 가능한 경우 SQL Server에서 Windows 인증 클라이언트에 대해 Kerberos 인증을 사용합니까?
팁 자세한 내용은 Kerberos 인증 및 SQL Server를 참조하십시오.
|
.gif) |
- Windows Server 2003 및 Windows XP에서 데이터베이스 엔진이 다른 서비스에서 사용하지 않는 도메인 계정으로 실행되고 있습니까?
팁 여러 서비스에 대해 별도의 계정을 사용하면 손상된 서비스가 다른 서비스에 액세스하는 것을 방지할 수 있습니다.
|
.gif) |
- 데이터베이스 엔진을 도메인 계정으로 실행 중인 경우 계정의 암호를 정기적으로 변경합니까?
팁 Windows 7 및 Windows Server 2008 R2에서 데이터베이스 엔진을 관리되는 서비스 계정으로 실행하면 도메인에서 암호를 관리합니다. 이 경우 네트워크 서비스가 효율적입니다. 관리되는 서비스 계정에 대한 자세한 내용은 서비스 계정 단계별 가이드를 참조하십시오.
|
.gif) |
- 데이터베이스 엔진의 명명된 인스턴스가 고정 포트를 수신하도록 구성되어 있습니까?
팁 고정 포트를 사용하면 방화벽에서 올바른 포트만 열 수 있습니다. SQL Server 구성 관리자를 사용하여 고정 포트를 구성하십시오. 자세한 내용은 Configuring a Fixed Port을 참조하십시오.
|
.gif) |
- 로그인 감사를 실패한 로그인에 대한 기록을 보존하도록 구성했습니까?
팁 SQL Server Management Studio에서 서버 속성(보안 페이지)을 사용하여 구성하십시오.
|
.gif) |
- 실패한 로그인을 감사하기 위해 SQL Server 감사를 구성했습니까?
팁 자세한 내용은 SQL Server Audit 이해를 참조하십시오.
|
.gif) |
- 데이터베이스 엔진에서 불필요하거나 사용되지 않는 로그인을 제거했습니까?
팁 이 항목은 정기적으로 직접 검토해야 합니다. 주로 Windows 그룹을 통해 액세스 권한을 부여하면 이러한 태스크를 쉽게 수행할 수 있습니다.
|
클라이언트 설정
.gif) |
- 클라이언트가 SSL(Secure Sockets Layer)을 사용해서만 연결하도록 구성되어 있습니까?
팁 SQL Server 구성 관리자에서 프로토콜 암호화 강제 사용 클라이언트 설정을 사용하십시오. 자세한 내용은 방법: 데이터베이스 엔진에 암호화 연결 사용(SQL Server 구성 관리자)을 참조하십시오.
|
.gif) |
- 클라이언트가 비즈니스 요구에 따라 필요한 최소한의 권한을 가진 계정을 사용하여 연결하도록 구성되어 있습니까?
팁 응용 프로그램은 sysadmin 고정 서버 역할의 멤버 또는 dbo_owner 데이터베이스 역할의 멤버인 계정을 사용하여 연결하지 않아야 합니다. 제한된 권한을 가진 계정으로 연결하도록 응용 프로그램을 설정하면 SQL 삽입 같은 응용 프로그램 문제로 인한 위험을 줄일 수 있습니다.
|
.gif) |
- 관리자가 sa 계정 대신 Windows 로그인을 사용하여 연결합니까?
팁sysadmin 고정 서버 역할의 멤버인 Windows 계정은 sa 계정과 동일한 권한을 가지고 있습니다. 관리자는 Windows 로그인을 사용할 때 개별적인 식별 및 감사의 대상이 됩니다. sa 계정을 사용하면 어떤 관리자가 동작을 수행했는지 알 수 없을 수 있습니다. 혼합 모드 인증을 사용할 경우 sa 계정을 해제하는 것이 좋습니다.
|
.gif) |
- 관리자가 관리 동작을 수행하지 않을 때 권한이 적은 계정을 사용하여 연결합니까?
팁 관리자 연결의 수를 줄이면 오류 및 악의적 동작의 위험을 줄일 수 있습니다. 관리 액세스가 거의 필요 없는 사용자에게는 권한이 적은 계정을 만들어 주는 것이 좋습니다.
|