Cómo permitir la conexión remota a la instancia de SQL Server solo a una dirección IP pública específica (lista blanca) y restringir el acceso a todas las demás IP

Cómo permitir la conexión remota a la instancia de SQL Server solo a una dirección IP pública específica (lista blanca) y restringir el acceso a todas las demás IP

¿Cómo permito la conexión remota a la instancia de SQL Server solo a una dirección IP pública específica (lista blanca)?

Por ejemplo, inicie sesión desde SSMS en una instancia de SQL Server alojada en un servidor dedicado de Windows que permita el acceso solo desde una IP pública específica.

Además, la necesidad de restringir el acceso a todas las demás IP, es decir, evitar el inicio de sesión desde SSMS.

A continuación se muestra un desencadenante de origen: ¿puedo cambiar a host remoto para permitir el acceso a una IP pública específica?

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

Respuesta1

Suena como algo que haría usando el firewall de Windows (puede bloquear los puertos de SQL Server y permitir excepciones para ciertas direcciones IP).

Podrías hacer esto con algo como undisparador de inicio de sesióneso verificó la dirección IP usando sys.dm_exec_connections pero creo que es una opción mucho menos deseable que bloquear el tráfico directamente.

Ciertamente, es mucho más difícil de hacer a nivel de base de datos.

Respuesta2

No.

De verdad, por favor no lo hagas.

Instale una VPN.

información relacionada