Как разрешить удаленное подключение к экземпляру SQL Server только для определенного публичного IP-адреса (белый список) и ограничить доступ для всех остальных IP-адресов

Как разрешить удаленное подключение к экземпляру SQL Server только для определенного публичного IP-адреса (белый список) и ограничить доступ для всех остальных IP-адресов

Как разрешить удаленное подключение к экземпляру SQL Server только с определенного публичного IP-адреса (белый список)?

Например, вход из SSMS в экземпляр SQL Server, размещенный на выделенном сервере Windows, разрешающий доступ только с определенного публичного IP-адреса.

Также необходимо ограничить доступ ко всем остальным IP-адресам, т. е. запретить вход из SSMS.

Ниже приведен исходный триггер: могу ли я изменить его на remotehost, чтобы разрешить доступ по определенному публичному IP-адресу?

EXEC sp_cycle_errorlog ;  
GO  
CREATE TRIGGER trigLogon_CheckForIPAddress
ON ALL SERVER
FOR LOGON
AS
BEGIN
  IF NOT EXISTS (
    SELECT
      client_net_address AS ipaddress
    FROM sys.dm_exec_connections
    WHERE session_id = @@spid
      AND ISNULL(client_net_address ,'Named Pipes?') IN('<localhost>','Named Pipes?','192.168.0.1','192.168.0.2','192.168.0.40') )
    BEGIN
      RAISERROR('Unauthorized use of login from inpermissible machine IP.', 16, 1)
      ROLLBACK
    END
END;
GO
ENABLE TRIGGER trigLogon_CheckForIPAddress ON ALL SERVER

решение1

Похоже, это можно сделать с помощью брандмауэра Windows (можно заблокировать порт(ы) SQL Server и разрешить исключения для определенных IP-адресов).

Вы можете сделать это с помощью чего-то вродетриггер входа в системукоторый проверил IP-адрес с помощью sys.dm_exec_connections, но я думаю, что это гораздо менее желательный вариант, чем прямая блокировка трафика.

Конечно, на уровне базы данных это сделать гораздо сложнее.

решение2

Не.

Серьёзно, пожалуйста, не надо.

Установите VPN.

Связанный контент