복제 보안을 위한 최선의 구현 방법Replication Security Best Practices

단일 도메인의 인트라넷에서부터 트러스트되지 않은 도메인 간이나 인터넷을 통해 데이터에 액세스하는 응용 프로그램에 이르기까지의 분산 환경에서 복제는 데이터를 이동합니다.Replication moves data in distributed environments ranging from intranets on a single domain to applications that access data between untrusted domains and over the Internet. 따라서 이러한 다양한 환경에서 복제 연결의 보안을 유지하는 최선의 방법을 이해하는 것이 중요합니다.It is important to understand the best approach for securing replication connections under these different circumstances.

다음 정보는 모든 환경에서의 복제와 관련이 있습니다.The following information is relevant to replication in all environments:

  • VPN(가상 사설망), SSL(Secure Sockets Layer) 또는 IPSEC(IP 보안)과 같은 산업 표준 방법을 사용하여 복제 토폴로지의 컴퓨터 간 연결을 암호화합니다.Encrypt the connections between computers in a replication topology using an industry standard method, such as Virtual Private Networks (VPN), Secure Sockets Layer (SSL), or IP Security (IPSEC). 자세한 내용은 데이터베이스 엔진에 암호화 연결 사용(SQL Server 구성 관리자)을 참조하세요.For more information, see Enable Encrypted Connections to the Database Engine (SQL Server Configuration Manager). VPN 및 SSL을 사용하여 인터넷에서 데이터를 복제하는 방법은 Securing Replication Over the Internet을 참조하십시오.For information about using VPN and SSL for replicating data over the Internet, see Securing Replication Over the Internet.

    SSL을 사용하여 복제 토폴로지에서 컴퓨터 간의 연결 보안을 유지하는 경우 각 복제 에이전트의 -EncryptionLevel 매개 변수 값을 1 또는 2 로 지정합니다(값 2 가 권장됨).If you use SSL to secure the connections between computers in a replication topology, specify a value of 1 or 2 for the -EncryptionLevel parameter of each replication agent (a value of 2 is recommended). 1 을 지정하면 암호화가 사용되지만 에이전트에서 SSL 서버 인증서가 신뢰할 수 있는 발급자에 의해 서명된 것인지 확인하지는 않습니다. 값 2 를 지정하면 인증서가 확인됩니다.A value of 1 specifies that encryption is used, but the agent does not verify that the SSL server certificate is signed by a trusted issuer; a value of 2 specifies that the certificate is verified. 에이전트 프로필 및 명령줄에서 에이전트 매개 변수를 지정할 수 있습니다.Agent parameters can be specified in agent profiles and on the command line. 참조 항목:For more information, see:

  • 각 복제 에이전트를 서로 다른 Windows 계정으로 실행하고 모든 복제 에이전트 연결에 Windows 인증을 사용합니다.Run each replication agent under a different Windows account, and use Windows Authentication for all replication agent connections. 계정 지정에 대한 자세한 내용은 복제의 로그인 및 암호 관리를 참조하세요.For more information about specifying accounts, see Manage Logins and Passwords in Replication.

  • 각 에이전트에 필요한 사용 권한만 부여합니다.Grant only the required permissions to each agent. 자세한 내용은 Replication Agent Security Model의 "에이전트에 필요한 사용 권한" 섹션을 참조하십시오.For more information, see the "Permissions Required by Agents" section of Replication Agent Security Model.

  • 모든 병합 에이전트 및 배포 에이전트 계정이 PAL(게시 액세스 목록)에 있는지 확인합니다.Ensure all Merge Agent and Distribution Agent accounts are in the publication access list (PAL). 자세한 내용은 게시자 보안 설정을 참조하세요.For more information, see Secure the Publisher.

  • PAL의 각 계정에 복제 태스크를 수행하는 데 필요한 사용 권한만 허용하여 최소 권한의 원칙을 따릅니다.Follow the principle of least privilege by allowing accounts in the PAL only the permissions they need to perform replication tasks. 복제에 필요하지 않은 고정 서버 역할에 로그인을 추가하지 마십시오.Do not add the logins to any fixed server roles that are not required for replication.

  • 스냅숏 공유에서 모든 병합 에이전트와 배포 에이전트의 읽기 권한을 허용하도록 구성합니다.Configure the snapshot share to allow read access by all Merge Agents and Distribution Agents. 매개 변수가 있는 필터를 포함한 게시에 대한 스냅숏의 경우 각 폴더에서 해당 병합 에이전트 계정에만 액세스를 허용하도록 구성해야 합니다.In the case of snapshots for publications with parameterized filters, ensure that each folder is configured to allow access only to the appropriate Merge Agent accounts.

  • 스냅숏 공유에서 스냅숏 에이전트의 쓰기 권한을 허용하도록 구성합니다.Configure the snapshot share to allow write access by the Snapshot Agent.

  • 끌어오기 구독을 사용하는 경우 스냅숏 폴더에 로컬 경로가 아닌 네트워크 공유를 사용합니다.If you use pull subscriptions, use a network share rather than a local path for the snapshot folder.

    복제 토폴로지에 동일한 도메인에 있지 않거나 서로 트러스트 관계가 구축되지 않은 도메인에 있는 컴퓨터가 포함되어 있으면 에이전트 연결에 대해 Windows 인증이나 SQL ServerSQL Server 인증을 사용할 수 있습니다. 도메인에 대한 자세한 내용은 Windows 설명서를 참조하십시오.If your replication topology includes computers that are not in the same domain or are in domains that do not have trust relationships with each other, you can use Windows Authentication or SQL ServerSQL Server Authentication for the connections made by agents (For more information about domains, see the Windows documentation). 최상의 권장 보안 방법은 Windows 인증을 사용하는 것입니다.It is recommended as a security best practice that you use Windows Authentication.

  • Windows 인증을 사용하려면To use Windows Authentication:

    • 각 에이전트에 대한 로컬 Windows 계정(도메인 계정 아님)을 해당 노드에 추가합니다. 각 노드에서 동일한 이름과 암호를 사용합니다.Add a local Windows account (not a domain account) for each agent at the appropriate nodes (use the same name and password at each node). 예를 들어 밀어넣기 구독의 배포 에이전트는 배포자에서 실행되며 배포자와 구독자에 연결합니다.For example, the Distribution Agent for a push subscription runs at the Distributor and makes connections to the Distributor and Subscriber. 배포 에이전트에 대한 Windows 계정은 배포자와 구독자에 추가해야 합니다.The Windows account for the Distribution Agent should be added to the Distributor and Subscriber.

    • 지정된 에이전트(예: 구독에 대한 배포 에이전트)가 각 컴퓨터에서 동일한 계정으로 실행되는지 확인합니다.Ensure that a given agent (for example the Distribution Agent for a subscription) runs under the same account at each computer.

  • SQL ServerSQL Server 인증을 사용하려면To use SQL ServerSQL Server Authentication:

    • 각 에이전트에 대한 SQL ServerSQL Server 계정을 해당 노드에 추가합니다. 각 노드에서 동일한 계정 이름과 암호를 사용합니다.Add a SQL ServerSQL Server account for each agent at the appropriate nodes (use the same account name and password at each node). 예를 들어 밀어넣기 구독의 배포 에이전트는 배포자에서 실행되며 배포자와 구독자에 연결합니다.For example, the Distribution Agent for a push subscription runs at the Distributor and makes connections to the Distributor and Subscriber. 배포 에이전트에 대한 SQL ServerSQL Server 계정은 배포자와 구독자에 추가해야 합니다.The SQL ServerSQL Server account for the Distribution Agent should be added to the Distributor and Subscriber.

    • 지정된 에이전트(예: 구독에 대한 배포 에이전트)가 각 컴퓨터에서 동일한 계정으로 연결하는지 확인합니다.Ensure that a given agent (for example the Distribution Agent for a subscription) makes connections under the same account at each computer.

    • SQL ServerSQL Server 인증이 필요한 환경에서는 UNC 스냅숏 공유에 액세스할 수 없는 경우가 많습니다. 예를 들어 방화벽에서 액세스를 차단할 수 있습니다.In situations that require SQL ServerSQL Server Authentication, access to UNC snapshot shares is often not available (for example access might be blocked by a firewall). 이 경우 FTP(파일 전송 프로토콜)를 통해 스냅숏을 구독자에게 전송할 수 있습니다.In this case, you can transfer the snapshot to Subscribers through file transfer protocol (FTP). 자세한 내용은 FTP를 통해 스냅숏 전송을 참조하세요.For more information, see Transfer Snapshots Through FTP.

관련 항목:See Also

데이터베이스 엔진에 암호화 연결 사용(SQL Server 구성 관리자) Enable Encrypted Connections to the Database Engine (SQL Server Configuration Manager)
인터넷을 통한 복제 Replication over the Internet
구독자 보안 설정 Secure the Subscriber
배포자 보안 설정 Secure the Distributor
게시자 보안 설정 Secure the Publisher
보안 및 보호(복제)Security and Protection (Replication)