none
SQL Server - tentativa de invasão. RRS feed

  • Pergunta

  • Bom dia,

    Eu estou sendo atacado quase que dirariamente por alguém que tenta sempre efetuar login com o usuário SA em meu SQL Server, porém ele não consegue pois o usuário está bloqueado. Porém, como são feitas diversas requisições ao mesmo tempo, o meu DB acaba saindo do ar. Ele utiliza um IP dinâmico, então eu bloqueio mais ele sempre volta. Eu não posso alterar a porta de conexão. Existe algum script ou software que possa identificar quando é um ataque e bloquear aquele IP do atacante automaticamente, evitando a queda de meu SQL Server?

    sábado, 29 de outubro de 2011 12:43

Todas as Respostas

  • Allan,

    Uma tentativa inicial seria utilizar a ferramenta SQL Server Profiler!!!

    Esta ferramenta realiza um monitoramento em tempo real, apresentando exatamente o que ocorrendo no seu servidor.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    sábado, 29 de outubro de 2011 18:51
    Moderador
  • Boa Noite,

    Esse é um tipo de ataque do tipo DOS (Deny Of Service). Não há muitas funcionalidades em bancos de dados para evitar ataques desse tipo já que pressupõe-se que o banco de dados está bem isolado e normalmente não é aberto ao mundo para que hosts não autorizados possam atacá-lo. Adicionalmente, o banco de dados hospeda-se sobre um SO e cabe ao SO cuidar disso.

    No seu caso, sem muitas sugestões. Sugiro conversar com os demais profissionais de infraestrutura para definir o que pode ser feito. Para o SQL Server é complicado realmente diferenciar o DOs e uma quantidade de várias requisições legítimas.

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos: http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível
    • Sugerido como Resposta carlos.fernando terça-feira, 1 de novembro de 2011 13:09
    domingo, 30 de outubro de 2011 03:56
  •    Bom dia Allan, em ataques desse tipo eu faria como o Gustavo falou, de estar procurando pessoal de Infra para trazer alguma solução. Se a sua empresa tem um profissional de segurança ele pode estar criando um método bastante usado que é o honeypot,  aonde você cria todo um ambiente falso porém muito parecido com o seu, isso serve de uma isca para o invasor e você faz o que bem entender para descobrir o que ele quer ou de aonde vem. Se os ataques continuarem eu aconselharia a estar entrando em contato com alguma empresa de Segurança da informação para estar vendo o que poderiam estar lhe ajudando.
    E-mail: eduardo-schmidt@hotmail.com
    segunda-feira, 31 de outubro de 2011 11:46
  • Obrigado pessoal, estou vendo com os responsáveis sobre isso, acredito que vamos descobrir um meio de nos defender.
    segunda-feira, 31 de outubro de 2011 17:13
  • Bom dia Allan, alltuamente criei uma rotina que bloqueia acesso de um determinado usuário, através dessa rotina toda vez que alguém tenta se logar no banco de dados usando um usuário expecifico do SQL server a rotina bloqueia, como tenho uma outra rotina que me envia informações do event view recebo informações da maquina que tentou logar no banco de dados, segue abaixo minha rotina que bloqueia o acesso:

    CREATE

    TRIGGER [application_limit_trigger100]

    ON

    ALL SERVER WITH EXECUTE AS

    'widl'

    FOR

    LOGON

    AS

    BEGIN

    IF

    ORIGINAL_LOGIN()= 'use1' OR ORIGINAL_LOGIN()= 'use2'

     

    AND ( SELECT count(1)

     

    FROM sys.dm_exec_sessions

     

    WHERE login_name IN ('use1', 'use2')

     

    and program_name LIKE '%SQL%' ) > 0

    rollback

    END

    GO

    sexta-feira, 4 de novembro de 2011 12:51