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.. Isso é um possível ataque ao meu SQL Server vindo dos chineses???! Procurei o endereço IP em ip-lookup.net, que afirmava ser chinês.
E o que fazer?
- Bloquear o endereço IP no firewall?
- Excluir o usuário sa?
E como eu protejo melhor meu servidor web?!
Desde já, obrigado!
Se você possui um firewall, por que o servidor de banco de dados está exposto à Internet?
A primeira coisa que você deve fazer é relatar isso ao responsável pela segurança de redes e sistemas da sua empresa. Se não houver tal pessoa, envie isso para o administrador da rede. Se não houver tal pessoa, ligue para o CIO/CTO agora mesmo -- melhor ainda, exija uma reunião cara a cara -- e explique a situação.
A primeira coisa que essa pessoa deve fazer é bloquear o IP do firewall. Isso lhe dará um pouco de tempo, mas não muito, talvez apenas alguns minutos. Se o IP for mapeado para um intervalo de IPs conforme relatado por WhoIs.net, bloqueie todo o intervalo de IP fornecido por WhoIs. Isso vai evitar que o cara peça um novo IP ao seu ISP e entre com 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, você precisa de uma verificação forense imediata para ver se os servidores intermediários entre você e o firewall foram comprometidos (provavelmente sim). Altere TODAS as senhas de administrador para senhas muito longas e complexas - sa, Windows Admin, administradores de domínio, administradores locais, TODOS ELES. Em seguida, revise todos os servidores em toda a sua rede e exclua todas as contas de administrador que você não reconhece ou de ex-funcionários ou consultores que deixaram a empresa. Em seguida, os vírus e malware verificam tudo em todos os servidores.
Em seguida, faça uma segunda passagem e verifique todos os itens acima novamente.
Boa sorte.
Bloqueie todas as conexões com seu banco de dados que não se originam de seu(s) servidor(es) web. Sério.
Além de configurar o firewall para bloquear o tráfego não autorizado, não se esqueça de adicionar sua conta do Windows à função sysadmin e DESATIVAR a conta SA! Desabilite a autenticação SQL também.
Você não deve ter nenhum dos seus servidores na Internet pública sem ter um firewall bloqueando TODO o acesso à rede da Internet aos SQL Servers. Se você tiver a porta 1433 aberta, quais outras portas devem ser abertas? Meu palpite é que você tem muitas portas abertas para a Internet e, se for esse o caso, provavelmente há pessoas usando seu SQL Server para coisas que você não deseja.
Você precisa trazer um profissional para examinar os sistemas e consertar sua segurança o mais rápido possível. Só Deus sabe se as pessoas conseguiram invadir o 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 (até tenho um livro sobre o assunto) e proteger seus sistemas.
Os passos que você basicamente precisa seguir neste ponto são...