Possível ataque ao meu servidor SQL?

2

Verificando meu log do SQL Server, vejo várias entradas como esta:

Date: 08-11-2011 11:40:42
Source: Logon
Message: Login failed for user 'sa'. Reason: Password did not match for the login provided. [CLIENT: 56.60.156.50]
Date: 08-11-2011 11:40:42
Source: Logon
Message: Error: 18456. Severity: 14. State: 8.


Date: 08-11-2011 11:40:41
Source: Logon
Message: Login failed for user 'sa'. Reason: Password did not match for the login provided. [CLIENT: 56.60.156.50]
Date: 08-11-2011 11:40:41
Source: Logon
Message: Error: 18456. Severity: 14. State: 8.

E assim por diante .. Este é um possível ataque ao meu SQL Server do chineese ???! Eu olhei para o endereço IP, no ip-lookup.net, que afirmou que era chinês.

E o que fazer? - Bloquear o endereço IP no firewall? - Excluir o usuário sa?

E como protejo meu servidor da Web da melhor maneira ?! :)

Obrigado antecipadamente!

    
por Behrens 08.11.2011 / 13:14

4 respostas

4

Parece um ataque de força bruta barata.

O fato de que toda a Internet pode chegar a tentar autenticar contra o seu SQL Server é provavelmente um grande problema. A menos que você tenha motivos particulares para isso, o acesso ao SQL deve ser restrito apenas aos servidores que exigem acesso ao recurso.

Além disso, não desça a linha de bloqueio de endereços IP específicos ou nunca parará. Bloqueie tudo exceto locais autorizados. E não exclua suas contas de usuário, a menos que tenha certeza de que não precisa delas.

    
por 08.11.2011 / 13:30
2

Você pode explicar seu layout um pouco melhor?

Você está permitindo logins SQL da Internet ou algum tipo de tráfego SQL? Se sim, por quê?

Você deve restringir severamente qualquer tipo de conexão com seu servidor SQL à sua rede local ou a IPs externos específicos (embora eu sugira algo mais seguro se você tiver essa necessidade).

Minha solução é que você dê uma olhada no seu firewall e bloqueie-o para permitir o acesso mínimo necessário para fornecer a disponibilidade do serviço.

    
por 08.11.2011 / 13:29
2

Para quem procura um programa que crie a política IPSEC, filtre, etc. e verifique automaticamente o log de eventos e adicione IPs à lista de bloqueio, escrevi um pequeno programa que faz exatamente isso.

Como um provedor de hospedagem na Web, meus clientes precisam de acesso externo à minha instância do SQL Server. Eu também tinha o problema em que meu log de eventos seria preenchido com milhares de entradas para hackers tentando acessar a minha instância MSSQL com o login 'sa'. Depois de muita pesquisa, decidi escrever meu próprio programa, criar os itens necessários do IPSEC e, em seguida, verificar o log de eventos a cada 60 segundos para ataques de novos endereços IP. Em seguida, adiciona o endereço IP ao filtro IPSEC e bloqueia todo o tráfego para e do IP. Eu testei apenas isso no Windows Server 2008, mas acredito que funcionará em outras versões também. Como observação, pode ser necessário executá-lo com privilégios de administrador para que ele tenha as permissões corretas para acessar o log de eventos e criar diretivas e filtros IPSec.

Sinta-se à vontade para baixar o programa usando o link abaixo. As doações são sempre apreciadas usando o link no menu do botão direito do mouse no ícone do gerenciador de tarefas.

link

Por favor, note que isso só funciona para tentativas de login SQL usando o login 'sa', mas eu poderia modificá-lo para trabalhar para outros eventos de log também. Além disso, você pode visualizar os IPs que foram bloqueados, mas continuará a ver alguns itens no log de eventos, já que o programa é executado somente a cada 60 segundos. Isso ocorre porque você não pode excluir uma única entrada do registro de eventos e não acho que excluir o registro inteiro seria uma boa ideia. Como resultado, você precisará limpar o log manualmente na ocasião. Se necessário, eu tenho uma versão que arquiva o arquivo de log após 5.000 entradas e, em seguida, apaga-o. Descobri que isso ajuda na utilização da CPU, pois o aplicativo não precisa continuar processando as mesmas entradas de log de eventos em cada execução.

EXCLUSÃO DE RESPONSABILIDADE - Ao fazer o download e instalar o programa mencionado acima, você concorda em isentar-se de qualquer dano, perda de dados, corrupção ou qualquer outro problema de funcionalidade resultante do uso do software mencionado. . Eu testei o programa com o melhor de minha capacidade e atualmente ele está sendo executado em dois servidores, mas você foi avisado para usar por sua conta e risco.

    
por 27.03.2012 / 22:34
0

Use o SQL Profiler para examinar as solicitações de login no servidor SQL. Você pode achar que é um endereço IP interno e o nome do aplicativo tentando acessar o SQL Server.

Se for um endereço IP externo, então WHY!?! Por que você expôs um servidor SQL diretamente ao tráfego público da Internet? Se você não sabe, então você vai ter que descobrir!

Verifique também se a senha sa é realmente muito strong. Em meus SQL Servers, a senha sa é, na verdade, um lixo muito longo criado aleatoriamente, uma vez e uma senha descartável.

    
por 08.11.2011 / 13:33