Como permitir a conexão remota à instância do SQL Server apenas para endereços IP públicos específicos (lista branca) e restringir o acesso a todos os outros IPs

Como permitir a conexão remota à instância do SQL Server apenas para endereços IP públicos específicos (lista branca) e restringir o acesso a todos os outros IPs

Como permito a conexão remota à instância do SQL Server apenas para um endereço IP público específico (lista branca)?

Por exemplo, faça login do SSMS na instância do SQL Server hospedada em um servidor dedicado Windows, permitindo acesso apenas a partir de um IP público específico.

Além disso, a necessidade de restringir o acesso a todos os outros IPs, ou seja, impedir o login do SSMS.

Abaixo está um gatilho de origem: posso mudar para host remoto para permitir acesso IP público específico

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

Responder1

Parece algo que você faria usando o firewall do Windows (você pode bloquear as portas do SQL Server e permitir exceções para determinados endereços IP).

Você poderia fazer isso com algo como umgatilho de logonque verificou o endereço IP usando sys.dm_exec_connections, mas acho que é uma opção muito menos desejável do que bloquear completamente o tráfego.

Certamente muito mais difícil de fazer no nível do banco de dados.

Responder2

Não.

Sério, por favor, não faça isso.

Instale uma VPN.

informação relacionada