O que devo fazer sobre alguém tentando fazer força bruta na tentativa de fazer login na nossa conta 'sa' do SQL Server?


9

Parece que alguém ou alguma coisa está tentando uma tentativa de força bruta de fazer login na 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 que etapas devo seguir para garantir que as coisas estejam seguras?

tentativas de login


1
Ei. Marque-a como respondida para que possamos seguir em frente com nossas vidas. :)
JohnThePro

Respostas:


29

Seu servidor SQL precisa estar publicamente disponível na Internet? Geralmente não é esse 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 irreconhecível ou veja como restringir os locais de login sa apenas de seus endereços IP da LAN. Forneça mais detalhes para que outras pessoas possam ajudá-lo com melhores soluções.


3
Absolutamente isso. Este é um caso clássico para usar firewalls e minimizar sua superfície de ataque.
precisa

Além disso, não é alguém. É praticamente um verme por aí, não um humano. SQL Server na Internet + não alterando a porta padrão = ignorando completamente a realidade (a Internet não é um bom lugar).
TomTom

5

A primeira coisa que você pode fazer é começar na lista negra desse endereço IP e negar completamente QUALQUER tráfego do IP deles no seu firewall. Obviamente, eles podem mudar apenas os IPs, mas pelo menos os impedirão de bombardear seu servidor com tráfego e logs.


3

Desative essa porta (o MySQL é 3306; não lembre a 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, remapeie-o para uma porta de número alto, como 53535. Se alguém descobrir que a porta está aberta, será difícil adivinhar seu significado.


1433; se tiver que ser aberto para o exterior, altere-o para praticamente qualquer outra coisa; isso envolverá a alteração de cadeias de conexão nos clientes.
SqlACID 07/01

E também 1434, para o serviço de descoberta ...
Avid

3

O logon tenta envolver tentativas de injetar algum código malicioso. Eu recomendo bloquear esta 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 invasor.

Acima irá minimizar isso.


2

Provavelmente é apenas um script kiddie rodando um scanner e não vale a pena perseguir. Eu consideraria não ter seu banco de dados acessível a partir da Internet.


2
  • Se você puder, desative todo o acesso à conta SQL, não apenas sa - ou seja, habilite apenas a Autenticação do Windows, sem a Autenticação SQL.
  • Restrinja o acesso à rede - via firewall ou pelo menos restrições de IP na caixa - aos servidores que requerem apenas acesso. Usuários públicos não precisam de acesso direto, certo?
  • Leve em conta que ele provavelmente tentará forçar o usuário Administrador local a seguir. Embora você não possa realmente remover as permissões do administrador, você pode colocá-lo em uma função específica e bloquear explicitamente o acesso.
  • Se você puder, desative o serviço Navegador do SQL Server. Não há razão para facilitar ...
  • Faça uma análise completa dos usuários, permissões e senhas no banco de dados - eles provavelmente tentarão outros usuários a seguir.
  • Tente perguntar novamente no ITSecurity.SE para obter mais informações :)

2

Se o SQL Server precisar estar acessível fora da sua rede, você poderá colocar na lista branca os endereços IP externos que precisam de acesso. As VPNs são uma solução melhor (mas nem sempre disponível), e a melhor solução é não ter acesso externo.

A lista de permissões requer mais gerenciamento, mas remove essa bobagem. Se alguém precisar acessar e tiver um IP com alterações frequentes, poderá fazer login em um sistema diferente via RDP e conectar-se ao SQL Server a partir daí.

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

Audite as permissões e acione uma atualização de senha para todas as Contas de Usuário do SQL Server; talvez aumente os requisitos de segurança da senha.

Renumerar 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 em relação aos prováveis ​​vetores de ataque seguinte e este provavelmente é alguém executando um script.


1

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

Também tive esse problema em que meu log de eventos seria preenchido com milhares de entradas para hackers que tentassem fazer login na minha instância do MSSQL com o logon 'sa'. Após muita pesquisa, decidi escrever meu próprio programa, criar os itens IPSEC necessários e verificar o log de eventos a cada 60 segundos em busca de ataques de novos endereços IP. Em seguida, adiciona o endereço IP ao filtro IPSEC e bloqueia todo o tráfego de e para o IP. Eu testei isso apenas no Windows Server 2008, mas acredito que funcionará em outras versões também.

Sinta-se livre 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.

http://www.cgdesign.net/programs/AutoBlockIp.zip

Observe que isso funciona apenas para tentativas de logon do SQL usando o logon 'sa', mas eu poderia modificá-lo para funcionar também para outros eventos de log. Além disso, você pode visualizar os IPs que foram bloqueados, mas continuará vendo alguns itens no log de eventos, pois o programa é executado apenas a cada 60 segundos. Isso ocorre porque não é possível excluir uma única entrada do log de eventos e não achei que excluir o log inteiro seria uma boa ideia.

AVISO LEGAL - Ao baixar e instalar o programa mencionado acima, você concorda em me isentar de qualquer dano, perda de dados, corrupção ou qualquer outro problema de funcionalidade resultante do uso do referido software. Testei o programa da melhor maneira possível e atualmente o tenho em dois servidores, mas você foi avisado para usar por seu próprio risco.

Quaisquer perguntas ou comentários, não hesite em entrar em contato comigo através do formulário de contato no meu site em www.cgdesign.net

-Chris


Você faz um bom trabalho em divulgar sua afiliação ao produto. Tenha cuidado, geralmente não gostamos de sessões de vendas.
Scott pacote de

0

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

E, como outros já 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.


1
A conta já está desativada, não pode ficar muito mais desativada.
mrdenny

@ Mrdenny: Eu estava pensando mais sobre as contas não-deficientes para o primeiro parágrafo. Se alguém é grosseiro forçando 'sa', poderia facilmente começar com outra conta. Após 5 tentativas em uma conta desativada, basta bloqueá-las completamente.
usar o seguinte código

Gatinhos de script geralmente atacam apenas a conta sa, pois já sabem o nome de usuário. Caso contrário, eles também precisam forçar o nome de usuário com força bruta, o que leva o dobro do tempo e eles não têm como saber se o nome de usuário existe ou não.
mrdenny
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.