데이터베이스 미러링 전송 보안
SQL Server 2005 이상 버전의 전송 보안에는 데이터베이스 간에 교환되는 메시지에 대한 인증 및 암호화(옵션)가 포함됩니다.
데이터베이스 미러링의 경우 끝점에 인증과 암호화가 구성됩니다. 미러링 끝점에 대한 개요를 보려면 데이터베이스 미러링 끝점을 참조하십시오.
인증
인증은 사용자가 올바른지 여부를 확인하는 과정입니다. 데이터베이스 미러링 끝점 간 연결에는 인증이 필요합니다. 파트너나 미러링 모니터 서버의 연결 요청은 반드시 인증되어야 합니다.
서버 인스턴스에서 사용하는 인증 유형은 해당 데이터베이스 미러링 끝점의 속성입니다. 데이터베이스 미러링에서 사용할 수 있는 두 가지 전송 보안 유형으로 Windows 인증과 인증서 기반 인증이 있습니다.
Windows 인증에서는 NTLM(NT LAN Manager)과 Kerberos의 두 가지 인증 프로토콜을 지원합니다. 하나의 프로토콜만 사용하거나 두 프로토콜 사이에서 협상하도록 데이터베이스 미러링 끝점을 구성할 수 있습니다. 기본적으로 협상이 사용됩니다. 기본값인 NEGOTIATE를 적용하면 끝점이 Windows 협상 프로토콜을 사용하여 NTLM이나 Kerberos를 선택합니다. 끝점에서 특정 권한 부여 방법(NTLM 또는 Kerberos)을 지정하면 지정한 방법만 사용할 수 있습니다. 다른 방법만 사용하도록 반대쪽 끝점을 구성한 경우에는 끝점을 서로 연결할 수 없습니다. 이 방법에 대한 자세한 내용은 끝점 인증 유형를 참조하십시오.
[!참고]
끝점에 대한 자세한 내용은 데이터베이스 미러링 끝점을 참조하십시오.
데이터베이스 미러링 연결에는 SSPI(보안 지원 공급자 인터페이스)인 Windows 인증 또는 인증서 기반 인증이 사용됩니다.
Windows 인증
Windows 인증을 사용할 경우 각 서버 인스턴스는 프로세스가 실행되고 있는 Windows 사용자 계정의 Windows 자격 증명을 사용하여 다른 쪽에 로그인합니다. 따라서 Windows 인증을 사용하려면 SQL Server 서비스를 트러스트된 도메인의 도메인 사용자로 실행하거나 네트워크 서비스로 실행해야 합니다.
Windows 인증에서는 SQL Server 인스턴스가 실행되고 있는 Windows 사용자 계정의 자격 증명을 사용하여 연결의 양쪽 끝을 인증합니다. 따라서 각 서버 인스턴스의 사용자 계정에는 서로 로그인하여 다른 한 쪽 서버 인스턴스에 메시지를 보낼 수 있는 권한이 있어야 합니다.
Windows 인증을 사용하여 데이터베이스 미러링 세션을 설정하는 예는 예: Windows 인증을 사용하여 데이터베이스 미러링 설정(Transact-SQL)을 참조하십시오.
인증서
서버 인스턴스가 트러스트된 도메인에 없거나 SQL Server가 로컬 서비스로 실행되고 있는 경우와 같이 Windows 인증을 사용할 수 없는 경우가 있습니다. 이런 경우에는 연결 요청을 인증하는 데 사용자 자격 증명 대신 인증서가 필요합니다. 각 서버 인스턴스의 미러링 끝점은 로컬에서 만든 자체 인증서를 사용하여 구성해야 합니다.
암호화 방법은 인증서를 만들 때 결정됩니다. 자세한 내용은 방법: 데이터베이스 미러링의 아웃바운드 연결에 대한 인증서 사용 허용(Transact-SQL)을 참조하십시오. 인증서는 신중하게 관리해야 합니다.
서버 인스턴스는 자체 인증서의 개인 키를 사용하여 연결 설정 시 해당 ID를 설정합니다. 연결 요청을 수신하는 서버 인스턴스는 보낸 사람의 인증서 공개 키를 사용하여 보낸 사람의 ID를 인증합니다. 예를 들어 Server_A와 Server_B라는 서버 인스턴스가 있다고 가정합니다. Server_A가 자신의 개인 키를 사용하여 연결 헤더를 암호화한 다음 Server_B에 연결 요청을 보내면 Server_B는 Server_A의 인증서 공개 키를 사용하여 연결 헤더의 암호를 해독합니다. 해독된 헤더가 정확한 경우 Server_B는 Server_A가 헤더를 암호화했음을 확인하고 연결을 인증합니다. 해독된 헤더가 잘못된 경우 Server_B는 연결 요청을 인증할 수 없음을 확인하고 연결을 거부합니다.
보안 정보 |
---|
신뢰할 수 있는 출처에서 제공하는 인증서만 설치하십시오. |
인증서를 통해 데이터베이스 미러링 보안을 구성하는 자동화된 방법은 없습니다. 이를 위해서는 Transact-SQL을 사용해야 합니다. 인증서 기반 인증을 사용하여 데이터베이스 미러링 세션을 설정하는 예는 예: 인증서를 사용하여 데이터베이스 미러링 설정(Transact-SQL)을 참조하십시오.
데이터 암호화
기본적으로 데이터베이스 미러링 끝점에서는 미러링 연결을 통해 전송되는 데이터가 암호화되어야 합니다. 이 경우 끝점은 암호화를 사용하는 끝점에만 연결할 수 있습니다. 네트워크 보안을 보장할 수 없는 경우에는 데이터베이스 미러링 연결에 암호화를 사용하는 것이 좋습니다. 그러나 암호화를 해제할 수도 있고 암호화를 지원하지만 필수 사항은 아니도록 설정할 수도 있습니다. 암호화를 해제하면 데이터가 암호화되지 않으며 끝점은 암호화를 요구하는 다른 끝점에 연결할 수 없습니다. 암호화가 지원되면 반대쪽 끝점이 암호화를 지원하거나 암호화를 요구하는 경우에만 데이터가 암호화됩니다.
[!참고]
SQL Server Management Studio에서는 암호화를 필요로 하거나 암호화가 해제된 상태로 미러링 끝점을 만듭니다. 암호화 설정을 SUPPORTED로 변경하려면 ALTER ENDPOINT Transact-SQL 문을 사용합니다. 자세한 내용은 ALTER ENDPOINT(Transact-SQL)를 참조하십시오.
필요에 따라 CREATE ENDPOINT 문 또는 ALTER ENDPOINT 문의 ALGORITHM 옵션에 다음 값 중 하나를 지정하여 끝점에서 사용할 수 있는 암호화 알고리즘을 제어할 수 있습니다.
ALGORITHM 값 |
설명 |
---|---|
RC4 |
끝점이 반드시 C4 알고리즘을 사용하도록 지정합니다. 이것이 기본값입니다. |
AES |
끝점이 반드시 AES 알고리즘을 반드시 사용하도록 지정합니다. |
AES RC4 |
두 끝점이 암호화 알고리즘에 대해 협상하고 이 끝점이 AES 알고리즘에 우선 순위를 부여하도록 지정합니다. |
RC4 AES |
두 끝점이 암호화 알고리즘에 대해 협상하고 이 끝점이 RC4 알고리즘에 우선 순위를 부여하도록 지정합니다. |
연결하는 끝점이 두 알고리즘을 모두 지정하지만 순서가 다른 경우 연결을 수락하는 끝점의 알고리즘이 적용됩니다.
[!참고]
AES에 비해 상당히 빠르긴 하지만 RC4는 비교적 취약한 알고리즘인 반면 AES는 비교적 강력한 알고리즘입니다. 따라서 AES 알고리즘을 사용하는 것이 좋습니다.
암호화를 지정하는 Transact-SQL 구문에 대한 자세한 내용은 CREATE ENDPOINT(Transact-SQL)를 참조하십시오.