Inicio > Base de datos > Bloquear una dirección IP para iniciar sesión en Sql Server

Bloquear una dirección IP para iniciar sesión en Sql Server

jueves, 18 de enero de 2024 Dejar un comentario Ir a comentarios

Estábamos probando un escenario y quería bloquear la conexión al servidor SQL solo a determinadas direcciones IP. He aquí cómo se resolvió el problema utilizando un trigger de inicio de sesión

CREATE TRIGGER AllowLocalOnly
ON ALL SERVER
FOR LOGON
AS
BEGIN
    DECLARE @IP Varchar(500)
    SET @IP = EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'varchar(500)')
    IF @IP IN ('172.16.255.11', '172.20.254.1', '172.26.254.12')
    BEGIN
        Print 'Capture tu IP ' + @IP
        ROLLBACK TRANSACTION
    END
END
GO

Si el usuario intenta acceder a través de cualquiera de estas direcciones IP, el desencadenador de inicio de sesión se activará después de la fase de autenticación del registro, pero antes de que la sesión del usuario se establezca, y cancela la transacción. Esto restringirá la sesión para SQL Server.

Si hay un intento de inicio de sesión desde cualquiera de estas direcciones IP, se puede descubrir buscando en el registro de errores del servidor SQL Server algo similar a – ‘Capture tu 172.16.255.11’. Aunque no lo he probado, pero también se puede enviar un correo electrónico en vez de imprimir el error en el registro de errores.

Nota: los desencadenador de inicio de sesión sólo están disponibles en SQL Server 2005 Service Pack 2 en adelante.

Comparte y diviertete:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • BarraPunto
  • Bitacoras.com
  • BlinkList
  • Blogosphere
  • Live
  • Meneame
  • MSN Reporter
  • MySpace
  • RSS
  • Suggest to Techmeme via Twitter
  • Technorati
  • LinkedIn
  • email
  • FriendFeed
  • PDF
  • Reddit
  • Wikio IT
  • Add to favorites
  • blogmarks
Top Footer