확장된 보호를 사용하여 데이터베이스 엔진에 연결
적용 대상:SQL Server
SQL Server는 SQL Server 2008 R2(10.50.x)부터 확장된 보호를 지원합니다.
확장된 보호 클라이언트가 연결하는 서비스를 알고 있는지 확인하여 인증 릴레이 공격을 방지하는 데 도움이 됩니다.
확장된 보호 운영 체제에서 구현하는 네트워크 구성 요소의 기능입니다. 확장된 보호 는 Windows 7 및 Windows Server 2008 R2에서 지원됩니다. 확장된 보호는 이전 Microsoft 운영 체제용 서비스 팩에 포함되어 있습니다.
SQL Server 확장된 보호 를 사용하여 연결하면의 보안이 강화됩니다.
확장된 보호 설명
확장된 보호 는 서비스 바인딩 및 채널 바인딩을 사용하여 인증 릴레이 공격을 방지합니다. 인증 릴레이 공격에서는 NTLM 인증을 수행할 수 있는 클라이언트(예: Windows 탐색기, Microsoft Outlook, .NET SqlClient 애플리케이션 등)가 악의적인 CIFS 파일 서버 등의 공격자에 연결하면, 공격자는 클라이언트의 자격 증명을 사용하여 클라이언트로 가장하고 서비스(예: 데이터베이스 엔진 인스턴스)에 인증합니다.
이 공격에는 두 가지 변형이 있습니다.
유인 공격에서 클라이언트는 자발적으로 공격자에 연결하도록 유도됩니다.
스푸핑 공격에서 클라이언트는 유효한 서비스에 연결하려고 하지만 하나 또는 둘 다 DNS 및 IP 라우팅이 공격자에게 연결을 리디렉션하기 위해 포이즌된다는 것을 인식하지 못합니다.
SQL Server에서는 SQL Server 인스턴스에서 이러한 공격을 줄이는 데 도움을 주는 서비스 바인딩 및 채널 바인딩을 지원합니다.
서비스 바인딩
서비스 바인딩은 클라이언트가 연결하려는 SQL Server 서비스의 서명된 SPN(서비스 사용자 이름)을 보내도록 요구하여 유인 공격을 해결합니다. 서비스는 인증 응답의 일부분으로 패킷에서 받은 SPN이 자체 SPN과 일치하는지 확인합니다. 클라이언트가 공격자에 연결하도록 유도되는 경우 클라이언트에는 공격자의 서명된 SPN이 포함됩니다. 공격자는 공격자의 SPN을 포함하기 때문에 실제 SQL Server 서비스에 클라이언트로 인증하기 위해 패킷을 릴레이할 수 없습니다. 서비스 바인딩은 1회, 무시할 수 있는 비용이 발생하지만 스푸핑 공격을 해결하지는 않습니다. 서비스 바인딩은 클라이언트 애플리케이션이 암호화를 사용하여 SQL Server에 연결하지 않을 때 발생합니다.
채널 바인딩
채널 바인딩에서는 SQL Server 서비스 인스턴스와 클라이언트 간에 Schannel(보안 채널)을 설정합니다. 이 서비스는 해당 채널과 관련된 클라이언트의 CBT(채널 바인딩 토큰)를 자체 CBT와 비교하여 클라이언트의 신뢰성을 확인합니다. 채널 바인딩을 수행하면 유인 공격과 스푸핑 공격을 모두 해결할 수 있습니다. 그러나 모든 세션 트래픽의 TLS(전송 계층 보안) 암호화가 필요하기 때문에 더 큰 런타임 비용이 발생합니다. 클라이언트 애플리케이션에서 SQL Server에 연결하는 데 암호화를 사용하는 경우에는 암호화를 클라이언트에서 적용하는지 또는 서버에서 적용하는지에 관계없이 채널 바인딩이 수행됩니다.
경고
SQL Server와 SQL Server의 Microsoft 데이터 공급자는 TLS 1.0 및 SSL 3.0을 지원합니다. 운영 체제 SChannel 계층을 변경하여 다른 프로토콜(예: TLS 1.1 또는 TLS 1.2)을 적용하면 SQL Server에 대한 연결이 실패할 수 있습니다. TLS 1.1 또는 TLS 1.2를 지원하는 최신 SQL Server 빌드가 있는지 확인합니다. 자세한 내용은 https://support.microsoft.com/topic/kb3135244-tls-1-2-support-for-microsoft-sql-server-e4472ef8-90a9-13c1-e4d8-44aad198cdbe를 참조하세요.
운영 체제 지원
다음 링크에서는 Windows에서 확장된 보호를 지원하는 방법에 대해 자세히 설명합니다.
설정
세 가지 SQL Server 연결 설정이 서비스 바인딩과 채널 바인딩에 영향을 줍니다. SQL Server 구성 관리자 또는 WMI를 사용하여 설정을 구성하고 정책 기반 관리의 서버 프로토콜 설정 패싯을 사용하여 볼 수 있습니다.
암호화 강제 적용
가능한 값은 설정 및 해제입니다. 채널 바인딩을 사용하려면 강제 암호화를 켬으로 설정해야 하며, 모든 클라이언트가 암호화해야 합니다. 경우, 서비스 바인딩만 보장됩니다. 암호화 적용은 SQL Server 구성 관리자의 MSSQLSERVER 속성에 대한 프로토콜(플래그 탭)에 있습니다.
확장된 보호
가능한 값은 해제, 허용및 필수입니다. 사용자는 확장된 보호 변수를 사용하여 각 SQL Server 인스턴스에 대한 확장된 보호 수준을 구성할 수 있습니다. 확장된 보호는 SQL Server 구성 관리자의 MSSQLSERVER 속성에 대한 프로토콜(고급 탭)에 있습니다.
해제로 설정하면 확장된 보호 를 사용할 수 없습니다. SQL Server 인스턴스는 클라이언트가 보호되는지 여부에 관계없이 모든 클라이언트의 연결을 허용합니다. Off 이전 및 패치되지 않은 운영 체제와 호환되지만 보안은 떨어집니다. 클라이언트 운영 체제에서 확장된 보호를 지원하지 않는 경우 이 설정을 사용합니다.
허용으로 설정하면 확장된 보호 를 지원하는 운영 체제로부터의 연결에 대해 확장된 보호를 사용해야 합니다.
확장 보호 를 지원하지 않는 운영 체제에서 오는 연결에 대해서는 확장 보호가 무시됩니다. 보호된 클라이언트 운영 체제에서 실행되는 보호되지 않는 클라이언트 애플리케이션의 연결은 거부됩니다. 이 설정은 off보다 안전하지만 가장 안전하지는 않습니다. 혼합 환경에서 이 설정을 사용합니다. 일부 운영 체제는 확장된 보호
필수로 설정하면 보호된 운영 체제에서 실행되는 보호된 애플리케이션으로부터의 연결만 허용됩니다. 이 설정은 가장 안전하지만 확장된 보호
허용되는 NTLM SPN들
둘 이상의 SPN이 서버에 대해 알고 있는 경우에는 허용된 NTLM SPN 변수가 필요합니다. 클라이언트가 서버가 모르는 유효한 SPN을 사용하여 서버에 연결하려고 하면 서비스 바인딩이 실패합니다. 이 문제를 방지하기 위해 사용자는 수락된 NTLM SPN사용하여 서버를 나타내는 여러 SPN을 지정할 수 있습니다. 허용되는 NTLM SPN들은 세미콜론으로 구분된 SPN들의 일련입니다. 예를 들어 MSSQLSvc/ HostName1.Contoso.com 및 MSSQLSvc/ HostName2.Contoso.comSPN을 허용하려면 허용되는 NTLM SPN 상자에 MSSQLSvc/HostName1.Contoso.com;MSSQLSvc/HostName2.Contoso.com 을 입력합니다. 변수의 최대 길이는 2,048자입니다. 허용되는 NTLM SPN은 SQL Server 구성 관리자의 MSSQLSERVER 속성에 대한 프로토콜(고급 탭)에 있습니다.
데이터베이스 엔진에 대해 확장된 보호 사용
확장 보호사용하려면 서버와 클라이언트 모두 확장된 보호 지원하는 운영 체제가 있어야 하며 운영 체제에서 사용하도록 설정해야 합니다. 운영 체제에 대해 확장된 보호 를 사용하도록 설정하는 방법에 대한 자세한 내용은 인증에 대한 확장된 보호를 참조하십시오.
확장 보호 및 NTLMv2 지원되는 모든 Windows 버전에서 기본적으로 사용하도록 설정되어 있지만 확장된 보호 SQL Server 연결에는 기본적으로 사용하도록 설정되지 않습니다. 사용자는 SQL Server Configuration Manager에서
SQL Server 연결에 확장된 보호 사용하도록 설정하려면 관리자가 SQL Server Configuration Manager설정을 구성해야 합니다. 여기에는 다양한 유형의 인증 릴레이 공격을 완화하기 위한 서비스 바인딩 및 채널 바인딩 옵션이 포함됩니다. 자세한 지침은 확장 보호구성에 대한 SQL Server 설명서를 참조하세요.
서버 컴퓨터에서 확장된 보호 를 사용하도록 설정한 후에는 다음 단계를 수행하여 확장된 보호를 사용하도록 설정합니다.
시작 메뉴에서 모든 프로그램을 선택하고 Microsoft SQL Server 를 가리킨 다음 SQL Server Configuration Manager을 선택합니다.
SQL Server 네트워크 구성
을 확장한 다음 프로토콜을 마우스 오른쪽 버튼으로 클릭합니다. 그런 다음 __InstanceName* *에 대해 속성 을 선택합니다.고급 탭에서 확장된 보호를 적절한 설정으로 설정하고, 채널 바인딩 및 서비스 바인딩 모두에 적용합니다.
선택적으로, 둘 이상의 SPN이 서버를 알고 있는 경우, 고급 탭에서 "설정" 섹션에 설명된 대로 수락된 NTLM SPN 필드를 구성합니다.
채널 바인딩에 대해 플래그 탭에서 암호화 적용 을 켜기로 설정합니다.
데이터베이스 엔진 서비스를 다시 시작합니다.
다른 SQL Server 구성 요소 구성
Reporting Services를 구성하는 방법에 관한 자세한 내용은 Reporting Services 인증에 대한 확장된 보호를 참조하세요.
IIS를 사용하여 HTTP 또는 HTTPS 연결을 사용하여 Analysis Services 데이터에 액세스할 때 Analysis Services는 IIS에서 제공하는 확장된 보호를 활용할 수 있습니다. IIS에서 확장된 보호를 사용하도록 구성하는 방법에 대한 자세한 내용은 IIS 7.5에서 확장된 보호 구성을 참조하십시오.