Firewall Interno – MS SQL Server

Embora tendo vários dispositivos para manter a segurança na rede como firewall, IPS etc. Podemos criar um firewall interno no banco de dados definindo quais maquinas, usuários e aplicação podem conectar.

Mesmo não tendo essa função no MS SQL Server podemos implementar as funcionalidade do firewall utilizando “trigger de logon”.

Utilizando esse recurso podemos negar até a conexão de um “sysadmin” se não estiver conectando de uma determinada máquina.

Para capturar as informações das conexões utilizamos as funções eventdata, host_name e app_name.

set @data = eventdata()
set @PostTime = @data.value('(/EVENT_INSTANCE/PostTime)[1]', 'datetime')
set @LoginName = @data.value('(/EVENT_INSTANCE/LoginName)[1]', 'varchar(200)')
set @HostIP = @data.value('(/EVENT_INSTANCE/ClientHost)[1]', 'varchar(200)')
set @HostName = HOST_NAME()
set @AppName = APP_NAME()

Importante registrar o que está sendo bloqueado, para isso criamos uma tabela para guardar as informações do que está sendo bloqueado pela trigger, e uma stored procedure para mostrar um relatório quantitativo dos bloqueios.

Uma dica para implementação, comente no código da trigger o comando “rollback”, dessa forma será registrado todas as atividades que seriam bloqueadas, facilitando a análise das regras que devem ser implementadas.

Para fazer download do código completo CLIQUE AQUI.

Publicado em Segurança, TechNet, Transact SQL, Virtual PASS BR and tagged . Bookmark permalink.

Uma resposta para "Firewall Interno – MS SQL Server"

Escreva um comentário...

*