원격 서버의 보안

원격 서버에 대한 RPC(원격 프로시저 호출)를 설정하려면 해당 원격 서버 및 SQL Server 인스턴스가 실행되는 로컬 서버에서 로그인 매핑을 설정해야 합니다. SQL Server에서 RPC는 기본적으로 해제되어 있습니다. 이 구성은 공격 받을 수 있는 노출 영역을 줄여 서버의 보안을 향상시킵니다. RPC를 사용하기 전에 이 기능을 설정해야 합니다. 자세한 내용은 sp_configure(Transact-SQL)를 참조하십시오.

[!참고]

원격 서버에 대한 지원은 이전 버전과의 호환성을 위해서만 제공됩니다. SQL Server의 원격 인스턴스에 대해 저장 프로시저를 실행해야 하는 새 응용 프로그램은 연결된 서버를 대신 사용해야 합니다. 자세한 내용은 서버 연결을 참조하십시오.

원격 서버 설정

원격 서버에서 원격 로그인 매핑을 설정해야 합니다. 원격 서버에서는 이 매핑을 사용하여 지정된 서버와의 RPC 연결에 대한 수신 로그인을 로컬 로그인으로 매핑합니다. 원격 로그인 매핑은 원격 서버에서 sp_addremotelogin 저장 프로시저를 사용하여 설정할 수 있습니다.

[!참고]

SQL Server에서는 sp_remoteoptiontrusted 옵션이 지원되지 않습니다.

로컬 서버 설정

SQL Server 인증 로컬 로그인에 대해서는 로컬 서버에 로그인 매핑을 설정할 필요가 없습니다. SQL Server는 원격 서버 연결에 로컬 로그인과 암호를 사용합니다. Windows 인증 로그인에 대해서는 SQL Server의 인스턴스가 원격 서버에 RPC 연결을 할 때 사용할 로그인과 암호를 정의하는 로컬 로그인 매핑을 로컬 서버에 설정합니다.

Windows 인증에서 만든 로그인의 경우 사용자는 sp_addlinkedservlogin 저장 프로시저를 사용하여 로그인 이름 및 암호에 대한 매핑을 만들어야 합니다. 이 로그인 이름과 암호는 원격 서버에서 예상하는 sp_addremotelogin이 만든 수신 로그인 및 암호와 일치해야 합니다.

[!참고]

가능하면 Windows 인증을 사용하십시오.

원격 서버 보안 예

다음 두 SQL Server 설치 serverSendserverReceive를 살펴보십시오. serverReceiveserverSend로부터의 Sales_Mary라는 수신 로그인을 serverReceiveAlice라는 SQL Server 인증 로그인에 매핑하도록 구성되어 있습니다. serverSend로부터의 Joe라는 또 다른 수신 로그인은 serverReceiveJoe라는 SQL Server 인증 로그인에 매핑됩니다.

다음 Transact-SQL 코드 예는 serverReceive에 대해 RPC를 수행하도록 serverSend를 구성합니다.

--Create remote server entry for RPCs 
--from serverSend in serverReceive.
EXEC sp_addserver 'serverSend'
GO

--Create remote login mapping for login 'Sales_Mary' from serverSend
--to Alice.
EXEC sp_addremotelogin 'serverSend', 'Alice', 'Sales_Mary'
GO
--Create remote login mapping for login Joe from serverReceive 
--to same login.
--Assumes same password for Joe in both servers.
EXEC sp_addremotelogin 'serverSend', 'Joe', 'Joe'
GO

serverSend에서 Windows 인증 로그인 Sales\Mary에 대해 로그인 Sales_Mary로의 로컬 로그인 매핑이 만들어집니다. 동일한 로그인 이름과 암호를 사용하는 것이 기본값이고 serverReceive가 Joe에 대한 매핑을 가지고 있으므로 Joe에게는 로컬 매핑이 필요하지 않습니다.

--Create a remote server entry for RPCs from serverReceive.
EXEC sp_addserver 'serverReceive'
GO
--Create a local login mapping for the Windows authenticated login.
--Sales\Mary to Sales_Mary. The password should match the
--password for the login Sales_Mary in serverReceive.
EXEC sp_addlinkedsrvlogin 'serverReceive', false, 'Sales\Mary',
   'Sales_Mary', '430[fj%dk'
GO