Trigger para barrar servidor

Pessoal por segurança nos servidores de desenvolvimento e homologação de banco de dados eu barro os acessos dos servidores de aplicação de produção, evitando que alguém possa esquecer o ip errado na string de conexão e salvar dados de produção nos ambientes errados.

Obs: Tenham muito cuidado e coloquem os logins e ips que queiram barrar ali na lista, pois caso façam errado ninguém conseguira acessar ao servidor, testem bem nos seus ambientes de testes.

USE [master]
GO
 
CREATE TRIGGER [TG_BLOQUEIA_ACESSO] 
ON ALL SERVER WITH EXECUTE AS 'sa'
FOR LOGON
AS
BEGIN
DECLARE @IP VARCHAR(50);
DECLARE @SERVIDOR VARCHAR(100);
DECLARE @MSG VARCHAR(300);
 
SET @IP          = EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]','NVARCHAR(50)');
SET @SERVIDOR    = @@SERVERNAME;
SET @MSG = 'REGRA TG_ACESSO - NÃO É PERMITIDO A CONEXÃO DE APLICAÇÕES DE PRODUÇÃO A ESTE AMBIENTE:'+@SERVIDOR;
 
 
IF ORIGINAL_LOGIN() NOT IN('sa','cesar','dominio\cesarcarvalho','admsql') -- lista de logins para bypass por segurança
BEGIN 
    IF RTRIM(LTRIM(@IP)) IN ('192.168.0.22','192.168.0.46') -- ips para bloquear acesso
        BEGIN
            RAISERROR (@MSG, 16, 1);
            ROLLBACK;
        END;
END;
END
GO
SQL

Leave a Reply

Your email address will not be published. Required fields are marked *

search previous next tag category expand menu location phone mail time cart zoom edit close