SQL Server 설치에 대한 보안 고려 사항
보안은 Microsoft SQL Server를 포함한 Microsoft의 제품 뿐만이 아니라 모든 제품과 모든 비즈니스에서 중요합니다. 간단한 권장 사항을 따르면 많은 보안상의 취약점을 방지할 수 있습니다. 이 항목에서는 SQL Server를 설치하기 전과 SQL Server를 설치한 후에 모두 적용해야 하는 보안 권장 사항에 대해 설명합니다. 특정 기능에 대한 보안 지침은 해당 기능에 대한 참조 항목에 포함되어 있습니다.
SQL Server 설치 전
서버 환경을 설정하는 경우 다음 권장 사항을 따르십시오.
- 물리적 보안 강화
- 방화벽 사용
- 서비스 격리
- 최소 권한을 가진 서비스 계정 만들기
- NetBIOS 및 서버 메시지 블록 비활성화
물리적 보안 강화
물리적 및 논리적 격리는 SQL Server 보안의 기반이 됩니다. SQL Server 설치의 물리적 보안을 강화하려면 다음 작업을 수행하십시오.
- 허가 받지 않은 사람은 출입할 수 없는 공간에 서버를 둡니다.
- 데이터베이스를 호스팅하는 컴퓨터를 물리적으로 보호된 위치에 둡니다. 누수 및 화재 감지 또는 억제 시스템을 갖춘 밀폐된 컴퓨터실이 가장 좋습니다.
- 데이터베이스를 기업 인트라넷의 보안 영역에 설치하고 인터넷에 직접 연결하지 않습니다.
- 모든 데이터를 정기적으로 백업하고 멀리 떨어진 안전한 지역에 복사본을 보관합니다.
방화벽 사용
SQL Server 설치를 안전하게 하려면 방화벽이 필수적입니다. 방화벽의 효율적인 작동을 위해 지켜야할 지침은 다음과 같습니다.
- 방화벽을 서버와 인터넷 사이에 둡니다.
- 네트워크를 방화벽으로 분리된 여러 보안 영역으로 나눕니다. 모든 트래픽을 차단한 다음 필요한 것만 선택적으로 허용합니다.
- 다중 계층 환경일 경우 여러 방화벽을 사용하여 보호된 서브넷을 만듭니다.
- Windows 도메인 안에 서버를 설치할 때 Windows 인증을 허용하도록 내부 방화벽을 구성합니다.
- 모든 버전의 Windows가 Windows XP 또는 Windows Server 2003 이상인 Windows 도메인의 경우 NTLM 인증을 비활성화합니다. .
- 응용 프로그램에서 배포된 트랜잭션을 사용하는 경우 MS DTC(Microsoft Distributed Transaction Coordinator) 트래픽이 별도의 MS DTC 인스턴스들 사이, 그리고 MS DTC와 SQL Server 등의 리소스 관리자 사이에서 전달될 수 방화벽을 구성해야 합니다.
서비스 격리
서비스를 격리하면 하나의 손상된 서비스가 다른 서비스를 손상시키는 위험을 줄일 수 있습니다. 서비스를 격리하려면 다음 지침을 따르십시오.
- 가능하면 도메인 컨트롤러에는 SQL Server를 설치하지 마십시오.
- 별도의 Windows 계정으로 별도의 SQL Server 서비스를 실행합니다.
- 다중 계층 환경에서는 별도의 컴퓨터에서 웹 논리 및 비즈니스 논리를 실행합니다.
최소 권한을 가진 서비스 계정 만들기
SQL Server 설치 프로그램에서는 자동으로 서비스 계정을 SQL Server에 필요한 특정 권한으로 구성합니다. SQL Server 2005에서 사용하는 Windows 서비스를 수정하거나 구성하는 경우 필요한 권한만 부여해야 합니다. 자세한 내용은 Windows 서비스 계정 설정을 참조하십시오.
NetBIOS 및 서버 메시지 블록 비활성화
경계 네트워크에 있는 서버는 NetBIOS 및 SMB(서버 메시지 블록) 등의 불필요한 모든 프로토콜을 비활성화해야 합니다.
NetBIOS는 다음 포트를 사용합니다.
- UDP/137(NetBIOS 이름 서비스)
- UDP/138(NetBIOS 데이터그램 서비스)
- TCP/139(NetBIOS 세션 서비스)
SMB는 다음 포트를 사용합니다.
- TCP/139
- TCP/445
웹 서버 및 DNS(Domain Name System) 서버에는 NetBIOS 또는 SMB가 필요 없습니다. 이러한 서버에서 두 프로토콜을 모두 비활성화하여 사용자 목록 노출 위협을 줄이십시오. 이러한 프로토콜을 비활성화하는 방법은 방법: TCP/IP의 NetBIOS 해제 및 방법: 서버 메시지 블록 비활성화를 참조하십시오.
SQL Server 설치 후
설치 후에도 계정 및 인증 모드에 대한 권장 사항을 수행하여 SQL Server의 보안을 강화할 수 있습니다.
서비스 계정
- 가능한 최소 권한으로 SQL Server 서비스를 실행합니다.
- SQL Server 서비스를 Windows 계정과 연결합니다.
인증 모드
- SQL Server 연결을 위해 Windows 인증이 필요합니다.
강력한 암호
- 항상 sa 계정에 강력한 암호를 지정합니다.
- 암호 정책 확인은 항상 활성화합니다.
- 모든 SQL Server 로그인에 대해 항상 강력한 암호를 사용합니다.