AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 7660
Accepted
MicBehrens
MicBehrens
Asked: 2011-11-09 04:24:39 +0800 CST2011-11-09 04:24:39 +0800 CST 2011-11-09 04:24:39 +0800 CST

Possível ataque ao meu servidor SQL?

  • 772

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!

sql-server sql-server-2008
  • 5 5 respostas
  • 8478 Views

5 respostas

  • Voted
  1. Best Answer
    Mark Storey-Smith
    2011-11-09T04:55:00+08:002011-11-09T04:55:00+08:00

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

    • O firewall deve bloquear todo o acesso a AMBOS os servidores, exceto as portas necessárias. Normalmente, isso seria 80 (http) e 443 (https) APENAS 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 exposta abertamente 1433.
    • Crie uma nova conta de administrador e desative o 'sa' padrão.
    • De preferência, mude de autenticação de "modo misto" para contas do Windows.
    • 30
  2. bretlowery
    2011-11-09T06:45:59+08:002011-11-09T06:45:59+08:00

    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.

    • 10
  3. Antti Rytsölä
    2011-11-09T04:35:57+08:002011-11-09T04:35:57+08:00

    Bloqueie todas as conexões com seu banco de dados que não se originam de seu(s) servidor(es) web. Sério.

    • 8
  4. datagod
    2011-11-09T06:42:59+08:002011-11-09T06:42:59+08:00

    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.

    • 8
  5. mrdenny
    2011-11-09T13:12:07+08:002011-11-09T13:12:07+08:00

    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...

    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 tiver um verificador de ví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 melhores práticas: senhas fortes, menos permissões, etc.
    4. Faça uma verificação de vírus de todos os outros servidores da empresa. Se eles não tiverem antivírus já instalados, assuma que estão infectados e formate-os.
    • 8

relate perguntas

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Quanto "Padding" coloco em meus índices?

  • Existe um processo do tipo "práticas recomendadas" para os desenvolvedores seguirem para alterações no banco de dados?

  • Como determinar se um Índice é necessário ou necessário

  • Downgrade do SQL Server 2008 para 2005

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como você mostra o SQL em execução em um banco de dados Oracle?

    • 2 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Posso ver Consultas Históricas executadas em um banco de dados SQL Server?

    • 6 respostas
  • Marko Smith

    Como uso currval() no PostgreSQL para obter o último id inserido?

    • 10 respostas
  • Marko Smith

    Como executar o psql no Mac OS X?

    • 11 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Marko Smith

    Passando parâmetros de array para um procedimento armazenado

    • 12 respostas
  • Martin Hope
    Manuel Leduc Restrição exclusiva de várias colunas do PostgreSQL e valores NULL 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler Quando uma chave primária deve ser declarada sem cluster? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - Qual é melhor como chave primária? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick Como posso otimizar um mysqldump de um banco de dados grande? 2011-01-04 13:13:48 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve