위협 요소 및 취약성 완화(복제)
적용 대상: SQL Server Azure SQL Managed Instance
이 항목에서는 복제 토폴로지에 대한 위협을 줄일 수 있는 기술을 설명합니다.
암호화
암호화는 데이터를 특수 키 없이는 읽을 수 없는 형식으로 변환해서 의도한 받는 사람만 데이터를 읽을 수 있도록 하는 프로세스입니다. 복제는 테이블에 저장되거나 네트워크 연결을 통해 전송되는 데이터를 암호화하지 않습니다. 암호화는 VPN(가상 사설망), TLS(전송 계층 보안), 이전에 SSL(Secure Sockets Layer) 및 IPSEC(IP Security)와 같은 업계 표준 기술을 비롯한 다양한 기술을 사용하여 전송 수준에서 사용할 수 있기 때문입니다. 복제 토폴로지의 컴퓨터 간 연결에 이러한 암호화 방법 중 하나를 사용하는 것이 좋습니다. 자세한 내용은 데이터베이스 엔진에 대한 암호화된 연결 사용(SQL Server 구성 관리자)을 참조하세요. 인터넷을 통해 데이터를 복제하기 위해 VPN 및 TLS를 사용하는 방법에 대한 자세한 내용은 인터넷을 통해 복제 보안 설정을 참조하세요.
TLS를 사용하여 복제 토폴로지에서 컴퓨터 간의 연결 보안을 유지하는 경우 각 복제 에이전트의 -EncryptionLevel 매개 변수 값을 1 또는 2로 지정합니다(값 2가 권장됨). 값 1을 지정하면 암호화가 사용되지만 에이전트에서 TLS/SSL 서버 인증서가 신뢰할 수 있는 발급자에 의해 서명된 것인지 확인하지는 않습니다. 값 2를 지정하면 인증서가 확인됩니다. 에이전트 매개 변수는 에이전트 프로필 및 명령줄에서 지정할 수 있습니다. 자세한 내용은 다음을 참조하세요.
복제는 데이터를 암호화하는 데 사용되는 데이터베이스 마스터 키와 관련하여 다음과 같이 동작합니다.
복제(게시 데이터베이스, 구독 데이터베이스 또는 배포 데이터베이스)와 관련된 데이터베이스에 마스터 키가 있는 경우 복제는 SQL Server 2012(11.x) 데이터베이스 대칭 키를 사용하여 해당 데이터베이스의 에이전트 암호를 암호화하고 암호 해독합니다. 마스터 키를 사용하는 경우 복제와 관련된 각 데이터베이스에 마스터 키를 만들어야 합니다. 마스터 키 생성에 대한 자세한 내용은 CREATE MASTER KEY(Transact-SQL)를 참조하세요.
복제는 마스터 키를 복제하지 않습니다. 구독자에서 마스터 키가 필요한 경우 BACKUP MASTER KEY를 사용하여 게시 데이터베이스에서 해당 키를 내보낸 다음 RESTORE MASTER KEY를 사용하여 구독 데이터베이스로 가져와야 합니다. 자세한 내용은 BACKUP MASTER KEY(Transact-SQL) 및 RESTORE MASTER KEY(Transact-SQL)를 참조하세요.
마스터 키가 연결 가능한 구독 데이터베이스에 정의된 경우 sp_attachsubscription(Transact-SQL)의
@db_master_key_password
매개 변수를 사용하여 마스터 키 암호를 지정합니다. 이렇게 하면 데이터베이스를 구독자에 연결할 수 있습니다.
암호화 및 마스터 키에 대한 자세한 내용은 암호화 계층 구조를 참조하세요.
복제를 사용하여 암호화된 열 데이터를 게시할 수 있습니다. 구독자에서 이 데이터를 해독하고 사용하려면 게시자에서 데이터를 암호화하는 데 사용된 키도 구독자에 있어야 합니다. 복제는 암호화 키를 전송하는 보안 메커니즘을 제공하지 않습니다. 구독자에서 암호화 키를 수동으로 다시 만들어야 합니다. 자세한 내용은 암호화된 열에서 데이터 복제(SQL Server Management Studio)를 참조하세요.