SQL Server 보안

적용 대상:SQL Server

SQL Server 보안은 플랫폼, 인증, 개체(데이터 포함) 및 시스템에 액세스하는 애플리케이션의 네 가지 영역을 포함하는 일련의 단계로 볼 수 있습니다. 이 문서에서는 효과적인 보안 계획을 만들고 구현하는 방법에 대해 설명합니다.

SQL Server 보안 모범 사례에서 SQL Server 보안에 대한 자세한 정보를 찾을 수 있습니다. 여기에는 모범 사례 가이드 및 보안 검사 목록이 포함됩니다. 최신 서비스 팩 또는 누적 업데이트를 설치해야 합니다.

플랫폼 및 네트워크 보안

SQL Server용 플랫폼에는 클라이언트를 데이터베이스 서버에 연결하는 물리적 하드웨어 및 네트워킹 시스템과 데이터베이스 요청을 처리하는 데 사용되는 이진 파일이 포함됩니다.

물리적 보안

물리적 보안에 대한 모범 사례는 물리적 서버 및 하드웨어 구성 요소에 대한 액세스를 엄격하게 제한합니다. 예를 들어 데이터베이스 서버 하드웨어 및 네트워킹 디바이스에 대한 액세스가 제한된 잠긴 회의실을 사용합니다. 또한 안전한 오프사이트 위치에 저장하여 미디어 백업에 대한 액세스를 제한합니다.

물리적 네트워크 보안을 구현하는 것은 권한이 없는 사용자를 네트워크에서 벗어나게 하는 것부터 시작합니다. 자세한 내용은 SQL Server 보안 모범 사례 - 인프라 위협을 참조하세요.

운영 체제 보안

운영 체제 서비스 팩 및 업그레이드에는 중요한 보안 향상 기능이 포함됩니다. 데이터베이스 애플리케이션을 사용하여 테스트한 후 모든 업데이트 및 업그레이드를 운영 체제에 적용합니다.

방화벽을 사용하는 것도 효과적인 보안 구현 방법입니다. 논리적으로 방화벽은 네트워크 트래픽을 분리 또는 제한하므로 방화벽을 구성하여 조직의 데이터 보안 정책을 강화할 수 있습니다. 방화벽을 사용하는 경우 보안 조치에 집중할 수 있는 초크포인트를 제공하여 운영 체제 수준에서 보안을 강화합니다. 다음 표에는 SQL Server에서 방화벽을 사용하는 방법에 대한 자세한 정보가 포함되어 있습니다.

추가 정보 참조
SQL Server에서 작동하도록 방화벽 구성 데이터베이스 엔진 액세스에 대한 Windows 방화벽 구성
Integration Services를 사용하도록 방화벽 구성 Integration Services 서비스(SSIS 서비스)
Analysis Services를 사용하도록 방화벽 구성 Analysis Services 액세스를 허용하도록 Windows 방화벽 구성
SQL Server에 액세스할 수 있도록 방화벽에서 특정 포트 열기 SQL Server 액세스를 허용하도록 Windows 방화벽 구성
채널 바인딩 및 서비스 바인딩을 사용하여 인증에 대한 확장된 보호 지원 구성 확장된 보호를 사용하여 데이터베이스 엔진 커넥트

노출 영역 감소는 사용하지 않는 구성 요소를 중지하거나 사용하지 않도록 설정하는 보안 조치입니다. 노출 영역 감소는 시스템에 대한 잠재적 공격에 대한 더 적은 방법을 제공하여 보안을 개선하는 데 도움이 됩니다. SQL Server의 노출 영역을 제한하는 키에는 서비스 및 사용자에게 적절한 권한만 부여하여 "최소 권한"을 가진 필수 서비스를 실행하는 것이 포함됩니다. 다음 표에는 서비스 및 시스템 액세스에 대한 자세한 정보가 포함되어 있습니다.

추가 정보 참조
SQL Server에 필요한 서비스 Windows 서비스 계정 및 권한 구성

SQL Server 시스템에서 IIS(인터넷 정보 서비스)를 사용하는 경우 플랫폼 표면을 보호하는 데 도움이 되는 추가 단계가 필요합니다. 다음 표에는 SQL Server 및 인터넷 정보 서비스 대한 정보가 포함되어 있습니다.

추가 정보 참조
SQL Server Compact를 사용하는 IIS 보안 SQL Server 보안 - 운영 체제 보안
Reporting Services 인증 Reporting Services의 인증
SQL Server Compact 및 IIS 액세스 인터넷 정보 서비스 보안 순서도

SQL Server 운영 체제 파일 보안

SQL Server는 운영 체제 파일을 작업 및 데이터 스토리지에 사용합니다. 파일 보안에 대한 모범 사례를 사용하려면 이러한 파일에 대한 액세스를 제한해야 합니다. 다음 표에서는 이러한 파일에 대해 설명합니다.

추가 정보 참조
SQL Server 프로그램 파일 SQL Server 기본 인스턴스 및 명명된 인스턴스의 파일 위치

SQL Server 서비스 팩 및 업그레이드는 향상된 보안을 제공합니다. SQL Server에 사용할 수 있는 최신 서비스 팩을 확인하려면 SQL Server 웹 사이트를 참조하세요.

다음 스크립트를 사용하여 시스템에 설치된 서비스 팩을 확인할 수 있습니다.

SELECT CONVERT(char(20), SERVERPROPERTY('productlevel'));  

보안 주체 및 데이터베이스 개체 보안

보안 주체는 SQL Server에 대한 액세스 권한이 부여된 개인, 그룹 및 프로세스입니다. "보안 개체"는 서버, 데이터베이스 및 데이터베이스에 포함된 개체입니다. 각각에는 SQL Server 노출 영역을 줄이기 위해 구성할 수 있는 사용 권한 집합이 있습니다. 다음 표에는 보안 주체 및 보안 개체에 대한 정보가 포함되어 있습니다.

추가 정보 참조
서버 및 데이터베이스 사용자, 역할 및 프로세스 보안 주체(데이터베이스 엔진)
서버 및 데이터베이스 개체 보안 보안 개체
SQL Server 보안 계층 구조 사용 권한 계층(데이터베이스 엔진)

암호화 및 인증서

암호화는 액세스 제어 문제를 해결하지 않습니다. 그러나 암호화를 사용하면 드물게 발생하긴 하지만 액세스 제어가 무시되는 경우에도 데이터 손실을 제한하여 보안이 향상됩니다. 예를 들어 데이터베이스 호스트 컴퓨터가 잘못 구성되고 악의적인 사용자가 신용 카드 번호와 같은 중요한 데이터를 가져오는 경우 도난당한 정보는 암호화된 경우 쓸모가 없을 수 있습니다. 다음 표에는 SQL Server의 암호화에 대한 자세한 정보가 포함되어 있습니다.

추가 정보 참조
SQL Server의 암호화 계층 구조 암호화 계층
안전한 연결 구현 데이터베이스 엔진에 암호화 연결 사용(SQL Server 구성 관리자)
암호화 함수 암호화 함수(Transact-SQL)

인증서는 강력한 인증을 통해 보안 통신을 가능하게 하는 두 서버 간에 공유되는 소프트웨어 "키"입니다. SQL Server에서 인증서를 만들고 사용하여 개체 및 연결 보안을 강화할 수 있습니다. 다음 표에는 SQL Server에서 인증서를 사용하는 방법에 대한 정보가 포함되어 있습니다.

추가 정보 참조
SQL Server에서 사용할 인증서 만들기 CREATE CERTIFICATE(Transact-SQL)
데이터베이스 미러ing과 함께 인증서 사용 데이터베이스 미러링 엔드포인트에 대한 인증서 사용(Transact-SQL)

애플리케이션 보안

클라이언트 프로그램

SQL Server 보안 모범 사례에는 보안 클라이언트 애플리케이션 작성이 포함됩니다. 네트워킹 계층에서 클라이언트 애플리케이션을 보호하는 방법에 대한 자세한 내용은 클라이언트 네트워크 구성을 참조하세요.

WDAC(Windows Defender 애플리케이션 제어)

WDAC(Windows Defender 애플리케이션 제어)는 무단 코드 실행을 방지합니다. WDAC는 실행 파일 기반 맬웨어의 위협을 완화하는 효과적인 방법입니다. 자세한 내용은 Windows Defender 애플리케이션 제어 설명서를 참조하세요.

SQL Server 보안 도구, 유틸리티, 뷰 및 함수

SQL Server는 보안을 구성하고 관리하는 데 사용할 수 있는 도구, 유틸리티, 뷰 및 함수를 제공합니다.

SQL Server 보안 도구 및 유틸리티

다음 표에는 보안을 구성하고 관리하는 데 사용할 수 있는 SQL Server 도구 및 유틸리티에 대한 정보가 포함되어 있습니다.

추가 정보 참조
SQL Server에 커넥트, 구성 및 제어 SQL Server Management Studio 사용
SQL Server에 커넥트 명령 프롬프트에서 쿼리 실행 sqlcmd 유틸리티
SQL Server에 대한 네트워크 구성 및 제어 SQL Server 구성 관리자
정책 기반 관리를 사용하여 기능 사용 및 사용 안 함 관리 정책 기반 관리를 사용하여 서버 등록
보고서 서버에 대한 대칭 키 조작 rskeymgmt 유틸리티(SSRS)

SQL Server 보안 카탈로그 뷰 및 함수

이 데이터베이스 엔진 성능 및 유틸리티에 최적화된 여러 보기 및 함수에 보안 정보를 노출합니다. 다음 표에는 보안 보기 및 함수에 대한 정보가 포함되어 있습니다.

추가 정보 참조
데이터베이스 수준 및 서버 수준 권한, 보안 주체, 역할 등에 대한 정보를 반환하는 SQL Server 보안 카탈로그 뷰입니다. 또한 암호화 키, 인증서 및 자격 증명에 대한 정보를 제공하는 카탈로그 뷰가 있습니다. 보안 카탈로그 뷰(Transact-SQL)
현재 사용자, 권한 및 스키마에 대한 정보를 반환하는 SQL Server 보안 함수입니다. 보안 함수(Transact-SQL)
SQL Server 보안 동적 관리 뷰. 보안 관련 동적 관리 뷰 및 함수(Transact-SQL)