Possível ataque no meu servidor SQL?

15

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 .. Esse é um possível ataque ao meu SQL Server dos chineses ???! Procurei o endereço IP em ip-lookup.net, que dizia ser chinês.

E o que fazer?

  • Bloquear o endereço IP no firewall?
  • Excluir o usuário sa?

E como eu protejo meu servidor da Web da melhor maneira ?!

Desde já, obrigado!

Behrens
fonte

Respostas:

30

Se você possui um firewall, por que o servidor de banco de dados está exposto à Internet?

  • O firewall deve bloquear todo o acesso aos dois servidores, exceto as portas necessárias. Normalmente, isso seria 80 (http) e 443 (https) SOMENTE para o servidor da web.
  • Se (e somente se) um serviço externo exigir acesso ao SQL Server, permita o acesso aos endereços IP específicos exigidos no firewall. Isso deve ocorrer por meio de uma conexão VPN, não exposto abertamente 1433.
  • Crie uma nova conta de administrador e desative o padrão 'sa'.
  • De preferência, alterne do uso da autenticação "modo misto" para as contas do Windows.
Mark Storey-Smith
fonte
10

A primeira coisa que você deve fazer é relatar isso à pessoa responsável pela segurança de redes e sistemas em sua empresa. Se não houver essa pessoa, jogue isso para o administrador da rede. Se não houver essa pessoa, ligue para o CIO / CTO agora - melhor ainda, exija um contato pessoal - e explique a situação.

A primeira coisa que essa pessoa deve fazer é bloquear o IP do firewall. Isso economizará um pouco de tempo, mas não muito, talvez apenas alguns minutos. Se o IP for mapeado para um intervalo de IPs conforme relatado pelo WhoIs.net, bloqueie todo o intervalo de IP fornecido pelo WhoIs. Isso impedirá que o indivíduo solicite um novo IP de seu ISP e obtenha um novo IP. Por alguns minutos, talvez.

Então faça o que Mark-Storey Smith diz acima.

Em seguida, adicione um firewall ou mova o banco de dados da DMZ. Se você já possui um firewall e o banco de dados não está na DMZ, é necessário uma verificação forense imediata para verificar se os servidores intervenientes entre você e o firewall foram comprometidos (provavelmente eles têm). Altere TODAS as senhas de administrador para senhas complexas muito longas - sa, Windows Admin, administradores de domínio, administradores locais, TODOS ELES. Em seguida, revise todos os servidores em qualquer lugar da sua rede e exclua as contas de administrador que você não reconhece ou as de ex-funcionários ou consultores que deixaram a empresa. Em seguida, vírus e malware verificam tudo em todos os servidores.

Em seguida, faça um segundo passe e verifique todas as opções acima novamente mais uma vez.

Boa sorte.

bretlowery
fonte
2
É bem provável que a pessoa que está atacando o servidor não esteja sentada na frente do computador tentando uma senha após a outra. Provavelmente é um botnet distribuído apenas procurando por buracos. Esse tipo de ataque é comum a todo tipo de serviço que você expõe na Internet. Portanto, o primeiro passo não é bloquear um único IP, mas alterar a senha e o nome de usuário do administrador. Se for uma boa senha, esse passo simples comprará anos, não minutos.
Phil
8

Bloqueie todas as conexões com o banco de dados que não sejam originárias do (s) servidor (es) da web. Realmente.

Antti Rytsölä
fonte
atualmente o SQL Server não pode fazer isso. Você precisará depender de um firewall ou do Windows para fazer isso. Consulte este blogs.msdn.com/b/sql_protocols/archive/2006/04/10/572605.aspx
Dharmendar Kumar 'DK'
8

Além de configurar o firewall para bloquear tráfego não autorizado, não se esqueça de adicionar sua conta do Windows à função sysadmin e desabilitar a conta SA! Desative a autenticação SQL também.

datagod
fonte
8

Você não deve ter nenhum servidor na Internet pública sem ter um firewall bloqueando TODOS os acessos à rede da Internet para os SQL Servers. Se você tiver a porta 1433 aberta, que outras portas devem ser abertas? Meu palpite seria que você tem muitas portas abertas para a Internet e, se for esse o caso, provavelmente tem pessoas usando o SQL Server para coisas que não deseja.

Você precisa contratar um profissional para analisar os sistemas e obter sua segurança corrigida o mais rápido possível. Só Deus sabe se as pessoas entraram com sucesso no sistema ou não. (Sim, sou consultor , sim, posso fazer o trabalho, não, não estou dizendo que você precisa me contratar.)

No mínimo, você precisa ler sobre segurança de rede e segurança de banco de dados (tenho até um livro sobre o assunto) e proteger seus sistemas.

Os passos que você basicamente precisa seguir neste momento são ...

  1. Configure seu firewall para bloquear todas as conexões de entrada, exceto aquelas que você realmente precisa
  2. Faça uma verificação de vírus MUITO boa no SQL Server. Se você ainda não possui um antivírus instalado no SQL Server, suponha que ele esteja infectado e formate a máquina.
  3. Configure a segurança do banco de dados seguindo as práticas recomendadas: senhas fortes, menos permissões etc.
  4. Faça uma verificação de vírus em todos os outros servidores da empresa. Se eles não tiverem antivírus já instalados, assuma que eles estão infectados e formate-os.
Mrdenny
fonte
O problema é que eu realmente não sei de quais conexões de entrada preciso, e meu orçamento não me permite contratar um profissional. --- Também estou usando meu servidor como servidor de correio, o que me faz precisar das portas pop3, imap e smtp. Estou usando o FTP para fazer upload de minhas páginas da web, o MSSQL como servidor SQL e o PLESK estão instalados (incluindo o webmail HORDE). --- Essa é basicamente a minha configuração. - Renomeei e desabilitei o SQLs SA acc e renomeei o Windows Administrator acc.
Behrens
Minhas configurações de firewall são: oltm.dk/x/settings.jpg - Minhas regras de entrada são: oltm.dk/x/inbound.txt - Minhas regras de saída são: oltm.dk/x/outbound.txt - Talvez você me ajudar a verificar as configurações e remover as regras que não são necessárias? --- As regras listadas são APENAS as que estão ativadas. Tudo com deficiência não são mostrados (eles não são de qualquer maneira ativa?)
Behrens
@erizias se precisar configurar o seu firewall ajuda, você pode obter melhores respostas sobre Super User ou, possivelmente, o servidor falha ou talvez mesmo de Segurança da Informação
jcolebrand