Udostępnij za pośrednictwem


Security for Remote Servers

Aby włączyć zdalnego wywołania procedury (RPC) na serwerze zdalnym, trzeba zestaw Konfiguruj mapowania logowania na serwerze zdalnym i ewentualnie na lokalnym serwerze, na którym uruchomiono wystąpienie SQL Server. RPC jest domyślnie wyłączona w SQL Server. Tej konfiguracja zwiększa zabezpieczenie serwera przez zmniejszenie jej attackable obszar powierzchni.Przed rozpoczęciem korzystania z usługi RPC, należy włączyć tę funkcję.Aby uzyskać więcej informacji, zobacz sp_configure (języka Transact-SQL).

Uwaga

Obsługa na serwerach zdalnych jest udostępniana zgodność z poprzednimi wersjami.Nowe aplikacje, które należy wykonać procedury przechowywane dla zdalnego wystąpienia SQL Server należy używać zamiast niej serwerów połączonych. Aby uzyskać więcej informacji zobaczLinking Servers.

Konfigurowanie serwera zdalnego

Mapowanie zdalnego logowania musi być zestaw up na serwerze zdalnym.Serwer zdalny przy użyciu tych mapowań, mapuje przychodzące logowania dla połączenia RPC z określonego serwera do lokalnego logowania.Mapowanie zdalnego logowania może być zestaw się przy użyciu sp_addremotelogin procedura przechowywana na serwerze zdalnym.

Uwaga

The trusted option of sp_remoteoption is not supported in SQL Server.

Konfigurowanie serwera lokalnego

For SQL Server authenticated local logins, you do not have to set up a login mapping on the local server.SQL Server uses the local login and password to connect to the remote server.Dla uwierzytelnionych identyfikatory logowania systemu Windows skonfigurować mapowanie lokalnego logowania na serwerze lokalnym, który określa, jakie logowania i hasło są używane przez wystąpienie SQL Server Kiedy tworzy połączenie RPC do serwera zdalnego.

Dla identyfikatorów logowania utworzonych przez uwierzytelnianie systemu Windows, należy utworzyć mapowanie do nazwy logowania i hasła przy użyciu sp_addlinkedservlogin procedura przechowywana.Tę nazwę logowania i hasło muszą być zgodne z przychodzących logowania i hasło oczekiwana przez serwer zdalny postaci, w jakiej został utworzony przez sp_addremotelogin.

Uwaga

Gdy jest to możliwe, należy używać uwierzytelniania systemu Windows.

Przykład zabezpieczeń serwera zdalnego

Należy wziąć pod uwagę te SQL Server urządzenia: serverSend and serverReceive.serverReceive is configured to map an incoming login from serverSend, called Sales_Mary, to a SQL Server authenticated login in serverReceive, called Alice.Inny logowanie przychodzące z serverSend, called Janusz, jest mapowany na SQL Server uwierzytelniony logowania w serverReceive*,* called Janusz.

Konfiguruje w poniższym przykładzie kodu języka Transact-SQL serverSend Aby wykonać zdalnych wywołań procedury przed serverReceive.

--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

Na serverSend, mapowanie lokalnego logowania jest tworzony dla identyfikatora logowania systemu Windows, uwierzytelniony Sales\Mary do identyfikatora logowania Sales_Mary. Brak mapowania lokalnej jest wymagany dla Joe, ponieważ wartość domyślna to aby użyć tej samej nazwy logowania i hasła, a serverReceive znajduje się mapowanie dla 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