다음을 통해 공유


SQL Server 설치에 대한 보안 고려 사항

보안은 모든 제품과 모든 비즈니스에 중요합니다. 간단한 모범 사례를 따르면 많은 보안 취약성을 방지할 수 있습니다. 이 항목에서는 SQL Server를 설치하기 전과 SQL Server를 설치한 후에 고려해야 하는 몇 가지 보안 모범 사례에 대해 설명합니다. 특정 기능에 대한 보안 지침은 해당 기능에 대한 참조 항목에 포함되어 있습니다.

SQL Server를 설치하기 전에

서버 환경을 설정할 때 다음 모범 사례를 따릅니다.

물리적 보안 강화

물리적 및 논리적 격리는 SQL Server 보안의 기초를 구성합니다. SQL Server 설치의 물리적 보안을 강화하려면 다음 작업을 수행합니다.

  • 권한이 있는 사용자만 액세스할 수 있는 방에 서버를 배치합니다.

  • 데이터베이스를 호스트하는 컴퓨터를 물리적으로 보호된 위치에 배치합니다. 이상적으로는 모니터링되는 홍수 감지 및 화재 감지 또는 억제 시스템이 있는 잠긴 컴퓨터실에 배치합니다.

  • 회사 인트라넷의 보안 영역에 데이터베이스를 설치하고 SQL Server를 인터넷에 직접 연결하지 않습니다.

  • 모든 데이터를 정기적으로 백업하고 오프사이트 위치에서 백업을 보호합니다.

방화벽 사용

방화벽은 SQL Server 설치를 보호하는 데 중요합니다. 다음 지침을 따르는 경우 방화벽이 가장 효과적입니다.

  • 서버와 인터넷 사이에 방화벽을 배치합니다. 방화벽을 사용하도록 설정합니다. 방화벽이 꺼져 있으면 방화벽을 켜십시오. 방화벽이 켜져 있으면 해제하지 마세요.

  • 네트워크를 방화벽으로 구분된 보안 영역으로 나눕니다. 모든 트래픽을 차단한 다음 필요한 항목만 선택적으로 인정합니다.

  • 다중 계층 환경에서 여러 방화벽을 사용하여 스크린된 서브넷을 만듭니다.

  • Windows 도메인 내에 서버를 설치하는 경우 Windows 인증을 허용하도록 내부 방화벽을 구성합니다.

  • 애플리케이션에서 분산 트랜잭션을 사용하는 경우 MS DTC(Microsoft Distributed Transaction Coordinator) 트래픽이 별도의 MS DTC 인스턴스 간에 흐를 수 있도록 방화벽을 구성해야 할 수 있습니다. 또한 MS DTC와 SQL Server와 같은 리소스 관리자 간에 트래픽이 흐르도록 방화벽을 구성해야 합니다.

기본 Windows 방화벽 설정 방법과 데이터베이스 엔진, Analysis Services, Reporting Services 및 Integration Services에 영향을 주는 TCP 포트에 대한 설명은 SQL Server 액세스를 허용하도록 Windows 방화벽 구성을 참조하세요.

서비스의 격리

서비스를 격리하면 손상된 서비스가 다른 서비스를 손상시키는 데 사용될 수 있는 위험이 줄어듭니다. 서비스를 격리하려면 다음 지침을 고려하세요.

  • 별도의 Windows 계정으로 별도의 SQL Server 서비스를 실행합니다. 가능하면 각 SQL Server 서비스에 대해 별도의 낮은 권한의 Windows 또는 로컬 사용자 계정을 사용합니다. 자세한 내용은 Windows 서비스 계정 및 권한 구성를 참조하세요.

보안 파일 시스템 구성

올바른 파일 시스템을 사용하면 보안이 강화됩니다. SQL Server 설치의 경우 다음 작업을 수행해야 합니다.

  • NTFS 파일 시스템(NTFS)을 사용합니다. NTFS는 FAT 파일 시스템보다 안정적이고 복구가 가능하기 때문에 SQL Server 설치에 선호되는 파일 시스템입니다. 또한 NTFS를 사용하면 파일 및 ACL(디렉터리 액세스 제어 목록) 및 EFS(파일 시스템 암호화) 파일 암호화와 같은 보안 옵션을 사용할 수 있습니다. 설치하는 동안 SQL Server는 NTFS를 검색하는 경우 레지스트리 키 및 파일에 적절한 ACL을 설정합니다. 이러한 사용 권한은 변경해서는 안 됩니다. SQL Server의 향후 릴리스에서는 FAT 파일 시스템이 있는 컴퓨터에서 설치를 지원하지 않을 수 있습니다.

    비고

    EFS를 사용하는 경우 데이터베이스 파일은 SQL Server를 실행하는 계정의 ID로 암호화됩니다. 이 계정만 파일의 암호를 해독할 수 있습니다. SQL Server를 실행하는 계정을 변경해야 하는 경우 먼저 이전 계정에서 파일의 암호를 해독한 다음 새 계정으로 다시 암호화해야 합니다.

  • 중요한 데이터 파일에는 RAID(독립 디스크)의 중복 배열을 사용합니다.

NetBIOS 및 서버 메시지 블록 사용 안 함

경계 네트워크의 서버에는 NetBIOS 및 SMB(서버 메시지 블록)를 포함하여 모든 불필요한 프로토콜을 사용하지 않도록 설정해야 합니다.

NetBIOS는 다음 포트를 사용합니다.

  • UDP/137(NetBIOS 이름 서비스)

  • UDP/138(NetBIOS 데이터그램 서비스)

  • TCP/139(NetBIOS 세션 서비스)

SMB는 다음 포트를 사용합니다.

  • TCP/139

  • TCP/445

웹 서버 및 DNS(도메인 이름 시스템) 서버에는 NetBIOS 또는 SMB가 필요하지 않습니다. 이러한 서버에서 두 프로토콜을 모두 사용하지 않도록 설정하여 사용자 열거 위협을 줄입니다.

도메인 컨트롤러에 SQL Server 설치

보안상의 이유로 도메인 컨트롤러에 SQL Server 2014를 설치하지 않는 것이 좋습니다. SQL Server 설치 프로그램은 도메인 컨트롤러인 컴퓨터에서 설치를 차단하지 않지만 다음과 같은 제한 사항이 적용됩니다.

  • 도메인 컨트롤러에서는 로컬 서비스 계정으로 SQL Server 서비스를 실행할 수 없습니다.

  • SQL Server 를 컴퓨터에 설치한 후에는 도메인 멤버에서 도메인 컨트롤러로 컴퓨터를 변경할 수 없습니다. 호스트 컴퓨터를 도메인 컨트롤러로 변경하려면 먼저 SQL Server 를 제거해야 합니다.

  • SQL Server 를 컴퓨터에 설치한 후에는 도메인 컨트롤러에서 도메인 멤버로 컴퓨터를 변경할 수 없습니다. 호스트 컴퓨터를 도메인 멤버로 변경하려면 먼저 SQL Server 를 제거해야 합니다.

  • SQL Server 장애 조치(failover) 클러스터 인스턴스는 클러스터 노드가 도메인 컨트롤러인 경우 지원되지 않습니다.

  • SQL Server 설치 프로그램은 읽기 전용 도메인 컨트롤러에서 보안 그룹을 만들거나 SQL Server 서비스 계정을 프로비전할 수 없습니다. 이 경우 설치 프로그램에서 오류가 발생합니다.

SQL Server 설치 중 또는 설치 후

설치 후에는 계정 및 인증 모드와 관련된 모범 사례를 따라 SQL Server 설치의 보안을 강화할 수 있습니다.

서비스 계정

  • 가능한 가장 낮은 권한을 사용하여 SQL Server 서비스를 실행합니다.

  • 낮은 권한의 Windows 로컬 사용자 계정 또는 도메인 사용자 계정과 SQL Server 서비스를 연결합니다.

  • 자세한 내용은 Windows 서비스 계정 및 권한 구성를 참조하세요.

인증 모드

강력한 암호

  • 항상 계정에 강력한 암호를 할당합니다 sa .

  • 항상 암호 강도 및 만료에 대한 암호 정책 검사를 사용하도록 설정합니다.

  • 모든 SQL Server 로그인에 항상 강력한 암호를 사용합니다.

중요합니다

SQL Server Express를 설정하는 동안 BUILTIN\Users 그룹에 대한 로그인이 추가됩니다. 이렇게 하면 컴퓨터의 모든 인증된 사용자가 공용 역할의 멤버로 SQL Server Express 인스턴스에 액세스할 수 있습니다. 개별 로그인이 있거나 로그인이 있는 다른 Windows 그룹의 구성원인 컴퓨터 사용자에 대한 데이터베이스 엔진 액세스를 제한하기 위해 BUILTIN\Users 로그인을 안전하게 제거할 수 있습니다.

또한 참조하십시오

SQL Server 2014 설치를 위한 하드웨어 및 소프트웨어 요구 사항
네트워크 프로토콜 및 네트워크 라이브러리
Kerberos 연결에 대한 서비스 주체 이름 등록