O que devo fazer sobre alguém tentando força bruta tentar acessar a conta 'sa' do SQL Server?

9

Parece que alguém ou alguma coisa está tentando uma tentativa de força bruta ao fazer login em nossa instância de produção do SQL Server com a conta 'sa'. Eles não foram bem-sucedidos porque nossa conta 'sa' está desativada, mas quais etapas devo seguir para garantir que as coisas estejam seguras?

    
por Jon Erickson 06.01.2011 / 19:03

9 respostas

28

O seu servidor SQL precisa estar disponível publicamente para a Internet? Isso geralmente não é o caso. Se for absolutamente assim, você pode restringir o acesso por endereço IP ou talvez configurar uma VPN. Obviamente, torne a senha sa unguessable ou veja como restringir os locais de login sa somente de seus endereços IP da LAN. Por favor, forneça mais detalhes para que os outros possam ajudá-lo com melhores soluções.

    
por 06.01.2011 / 19:10
5

A primeira coisa que você pode fazer é começar a colocar na lista negra esse endereço IP e negar qualquer tráfego do seu IP no seu firewall. É claro, eles podem apenas mudar de IPs, mas pelo menos isso os impedirá de bombardear seu servidor com tráfego e registros.

    
por 06.01.2011 / 19:11
3

Desabilite essa porta (o MySQL é 3306; não lembre-se da porta do SQL Server, talvez 118?) através do firewall. Então ninguém pode acessá-lo.
Se for necessário acesso externo ao SQL, faça o remapeamento para uma porta com numeração alta, como 53535. Se alguém descobrir que a porta está aberta, será difícil adivinhar sua significância.

    
por 07.01.2011 / 00:39
3

O login tenta envolver tentativas de injetar algum código malicioso. Eu recomendo bloquear essa atividade com uma lista negra permanente usando o software de firewall do servidor ou um firewall externo de terceiros.

Além disso, reduza o número de falhas de login permitidas, pois isso bloqueará automaticamente o endereço IP do intruso.

Acima minimizará isso.

    
por 06.01.2011 / 19:17
2

Provavelmente é apenas um script de kiddie executando um scanner e não vale a pena o seu tempo perseguindo. Eu olharia para não ter seu banco de dados acessível a partir da Internet.

    
por 06.01.2011 / 19:10
2
  • Se puder, desabilite todo o acesso à conta SQL, e não apenas o habilitar somente a Autenticação do Windows, sem a Autenticação do SQL.
  • Restrinja o acesso à rede - seja por firewall ou pelo menos restrições de IP na caixa - aos servidores que exigem apenas acesso. Usuários públicos não precisam de acesso direto, certo?
  • Lembre-se de que ele provavelmente tentará pressionar o usuário administrador local, em seguida. Embora você não possa realmente remover as permissões do administrador, você pode soltá-lo em uma função específica e bloquear explicitamente o acesso.
  • Se puder, desative o serviço Navegador do SQL Server. Nenhuma razão para tornar isso mais fácil ...
  • Faça uma análise completa dos usuários, permissões e senhas no banco de dados. Eles provavelmente tentarão outros usuários em seguida.
  • Tente fazer isso novamente em ITSecurity.SE para obter mais informações:)
por 06.01.2011 / 22:35
2

Se o seu SQL Server deve estar acessível fora do seu netowrk, você pode Whiteliste os endereços IP externos que precisam de acesso. As VPNs são uma solução melhor (mas nem sempre está disponível) e a melhor solução é o acesso externo.

A lista de permissões requer mais gerenciamento, mas elimina essa tolice. Se alguém precisar de acesso e tiver um IP com alterações frequentes, poderá fazer login em um sistema diferente por meio do RDP e conectar-se ao SQL Server a partir de lá.

Renomeie a conta sa, crie uma conta bogus sa e desative-a.

Auditar permissões e acionar uma atualização de senha para todas as contas de usuário do SQL Server; talvez aumente os requisitos de força de senha.

Renumere a porta de escuta IP do SQL Server. Isso significa atualizar as configurações do cliente ou os arquivos de configuração do aplicativo.

Concordo com outros pôsteres sobre os próximos vetores de ataque prováveis e provavelmente é alguém que está executando um script.

    
por 13.01.2011 / 20:36
0

Você deve restringir as tentativas de login, por isso, se o mesmo usuário tentar efetuar login mais de 5 vezes, ele será bloqueado de novas tentativas por algumas horas ou um dia. Pelo menos, eles não podem forçar um login após um milhão de tentativas.

E, como outros disseram, não permita o acesso público, se não for necessário. Você pode restringir o acesso a um conjunto de IPs conhecidos se algumas pessoas precisarem de acesso externo.

    
por 06.01.2011 / 19:19
0

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.

Também tive este problema, onde meu log de eventos seria preenchido com milhares de entradas para hackers tentando fazer login na minha instância do MSSQL com o logon '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 só testei isso no Windows Server 2008, mas acredito que funcionará em outras versões também.

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.

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.

Qualquer dúvida ou comentário, por favor, sinta-se à vontade para entrar em contato comigo usando o formulário de contato em meu site www.cgdesign.net

-Chris

    
por 27.02.2011 / 07:45