Sou bastante novo no mundo da administração de sistemas. Eu tenho trabalhado em um aplicativo recentemente e, quando verifico os logs do servidor de aplicativos, constantemente recebo vários endereços IP tentando ssh no servidor com força bruta. Aqui está um exemplo do meu log do servidor:
Feb 14 04:07:20 foodwiz3 sshd[1264]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Feb 14 04:07:21 foodwiz3 sshd[1264]: reverse mapping checking getaddrinfo for coenamor.columbiansabbatical.com [23.249.167.223] failed - POSSIBLE BREAK-IN ATTEMPT!
Feb 14 04:07:21 foodwiz3 sshd[1264]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=23.249.167.223 user=root
Feb 14 04:07:23 foodwiz3 sshd[1264]: Failed password for root from 23.249.167.223 port 32997 ssh2
Feb 14 04:07:23 foodwiz3 sshd[1264]: Received disconnect from 23.249.167.223: 11: Bye Bye [preauth]
Feb 14 04:13:04 foodwiz3 sshd[1289]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key
Feb 14 04:13:05 foodwiz3 sshd[1289]: reverse mapping checking getaddrinfo for coenamor.columbiansabbatical.com [23.249.167.223] failed - POSSIBLE BREAK-IN ATTEMPT!
Feb 14 04:13:05 foodwiz3 sshd[1289]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=23.249.167.223 user=root
Feb 14 04:13:07 foodwiz3 sshd[1289]: Failed password for root from 23.249.167.223 port 41562 ssh2
Isso é algo normal, ou devo me preocupar / fazer algo a respeito?
Respostas:
Bem-vindo ao maravilhoso mundo da Internet ... Você:
ssh
?Mas a resposta real é: Sim, isso é normal : o BotNet Maffia sempre pode usar alguns servidores extra mal protegidos ...
fonte
É bastante normal ter testes de login suficientes para criar um registro de inundação.
Alterar as portas SSH é mais um tipo de solução de 'segurança por obscuridade', mas ajuda com a inundação. Eu enfatizo que não é muito elegante; existem portas de fato para serviços por um motivo.
Como deve estar ativado por padrão, mas verifique se você não pode fazer o SSH no servidor como root. É o nome de usuário bastante consistente entre os servidores e, portanto, o principal objetivo das tentativas de login com força bruta de senha. Aplique a configuração com a seguinte linha em
sshd_config
:Observe também
fail2ban
que monitora os logs sshd para reincidentes. Por exemplo, 5 logins com falha em 3 minutos de um determinado IP teriam esse IP bloqueado por 10 minutos. Aumentei esse tempo de proibição para 24 horas para reduzir ainda mais o spam de log - com êxito. :)fonte
Eu sugiro que você faça algumas coisas:
/ etc / ssh / sshd_config
Instal
fail2ban
- monitora arquivos de log e proíbe temporária ou persistentemente endereços propensos a falhas, atualizando as regras de firewall existentes (iptables
).Verifique se você listou em branco seus locais confiáveis.
fonte
Sim, fique preocupado . Você pode nunca se queimar, mas deve seguir as melhores práticas de TI. Melhor prevenir do que remediar.
Sou administrador de rede de um hospital. É sempre uma má idéia conectar uma caixa diretamente à Internet. O que você vê são todos os milhares de scanners automatizados que pesquisam vulnerabilidades na Internet. Vejo todo esse tipo de coisa (varreduras de portas, vários testes conhecidos de vulnerabilidade) para todos os tipos de software (ssh, telnet, ftp, etc.) aparecerem na nossa caixa de identificações
Sua máquina deve estar protegida por uma solução de firewall / NAT e você deve encaminhar as portas necessárias para a Internet (80, 443, etc.). É relativamente fácil de fazer.
Ter algo que você pode usar para gerenciamento (SSH telnet) é uma má idéia para ter acesso à Internet, porque se - por qualquer motivo - houver um bug no software SSH / telnet nesse servidor, o bot automatizado o detectará em um piscar de olhos e você vai se ferrar. Os erros no software acontecem o tempo todo e pode demorar um pouco para que um patch seja lançado ou para você lembrar de corrigi-lo.
Se você precisar gerenciar remotamente, tente configurar algo como uma solução VPN ou, se você usa o Windows, configure o gateway de serviços de terminal para a área de trabalho remota. Sei que você pode usar uma caixa Linux ou Windows separada com 2 NICs para configurar o roteamento e o acesso remoto para VPN e NAT se você for apenas uma pequena loja. Caso contrário, fornecedores como a Cisco têm soluções de firewall / NAT de hardware (Cisco ASA).
Em resumo, coloque sua máquina atrás do NAT. Somente porta encaminha as portas necessárias para executar a finalidade do serviço. Não envie serviços de encaminhamento usados para gerenciamento à Internet; procure a VPN para gerenciamento remoto.
PS A alteração das portas SSH pode ajudar com o volume do log, mas na verdade não impede o acesso ao SSH. Qualquer um dos milhares de localizadores automatizados de vulnerabilidades pode e fará varreduras de portas para ver quais portas estão atendendo a quais serviços. Você pode fazer isso sozinho com uma ferramenta chamada nmap .
fonte
sshd
instância. Um ssh jumpbox pode ser tão seguro quanto a maioria das configurações de VPN, mas, em geral, não é assim que funciona.Você pode configurar o firewall interno do kernel por iptables . Para que apenas algumas máquinas possam fazer ssh no servidor e deixar cair outros pacotes IP. Veja
man iptables
para mais informações.Por exemplo, se 192.168.1.67 é o host do qual você ssh, no tipo de servidor:
fonte
Você realmente precisa do seu servidor na internet? Se você realmente deseja tê-lo na internet, verifique se ele é seguro antes de colocá-lo lá.
Alterar a porta é apenas segurança através da obscuridade. Se o invasor for mais sofisticado do que apenas executar scripts, isso não ajudará.
Algumas coisas já mencionadas que eu recomendo também:
Acabei de ingressar nesta comunidade porque há duas coisas que acho que não foram abordadas adequadamente.
fonte
Outro exemplo da resposta @cff, se você pretende banir quaisquer "tentativas" sucessivas no seu servidor SSH:
Essa conexão de 'etiqueta' tenta e, se mais de 4 ocorrerem em 600s (10mn), a origem será 'banida'. Use isso em vez da solução @cff, porque é mais seguro (se você se bloquear, aguarde 10 minutos e tente novamente).
fonte