5 práticas recomendadas para impedir ataques de login de força bruta ssh no Linux
- 3077
- 422
- Enrique Crist
Servidores em execução Ssh geralmente são um alvo suave para ataques de força bruta. Os hackers estão constantemente criando ferramentas e bots de software inovadores para automatizar ataques de força bruta que aumentam ainda mais o risco de intrusão.
Neste guia, exploramos algumas das dicas que você pode implementar para proteger seus servidores SSH de ataques de força bruta a distribuições Linux baseadas em RHEL e derivados debian.
Desativar a autenticação de senha SSH e ativar a autenticação de chave SSH
O método de autenticação padrão para Ssh é nome de usuário/autenticação de senha. Mas, como vimos, a autenticação de senha é propensa a ataques de força bruta. Para estar do lado seguro, é recomendável implementar a autenticação SSH baseada em chaves, onde a autenticação é possível por pares de chaves ssh públicas e privadas. A chave privada permanece no PC do cliente enquanto a chave pública é copiada para o servidor.
Durante a autenticação de chave SSH, o servidor verifica se o PC cliente possui a chave privada. Se o cheque for bem -sucedido, uma sessão de shell será criada ou o comando enviado ao servidor remoto será executado com sucesso. Temos um guia abrangente sobre como configurar a autenticação baseada em chave SSH.
Mesmo depois de configurar a autenticação baseada em chaves, seu servidor ainda é suscetível a ataques de força bruta pela simples razão de que a autenticação de senha ainda está ativa. Isso precisa ser desativado.
Portanto, edite o arquivo de configuração SSH padrão.
$ sudo vim/etc/ssh/sshd_config
Colocou o PasswordAuthentication parâmetro para não
como mostrado.
PasswordAuthentication noDesativar a autenticação de senha SSH
Em seguida, salve o arquivo e recarregue o SSH para aplicar as alterações.
$ sudo systemctl Reload SSH
Implementar Fail2ban Intrusion Prevention Tool
Escrito em Pitão, Fail2ban é uma estrutura de prevenção de intrusões de código aberto que verifica arquivos de log de serviços quanto a falhas de autenticação e proíbe IPs que falham repetidamente verificações de autenticação por senha por uma quantidade especificada de tempo.
Fail2ban Monitora constantemente os arquivos de log do servidor para tentativas de intrusão e outras atividades nefastas, após um número predefinido de falhas de autenticação - na maioria dos casos, 3 tentativas de login com falha - Fail2ban bloqueia automaticamente o host remoto de acessar o servidor, e o host é mantido em um ''Cadeia'Por uma duração específica de tempo.
Ao fazer isso, Fail2ban reduz significativamente a taxa de tentativas de autenticação de senha incorreta. Confira nosso guia sobre como você pode instalar e configurar Fail2ban no Linux para proteger seu servidor de ataques de fortaleza.
Limite o número máximo de tentativas de autenticação SSH
Outra maneira simples de proteger seu servidor de ataques de força bruta é limitando o número de tentativas de login do SSH. Por padrão, isso está definido como 3, Mas se, por acaso.
Por exemplo, para definir as tentativas máximas de conexão para 3 definir o Maxauthtries parâmetro para 3 como mostrado
Maxauthtries = 3
Mais uma vez, salve as mudanças e recarregue o serviço SSH.
$ sudo systemctl Reload SSH
Implemente os envolventes do TCP para limitar o acesso SSH dos clientes
TCP Wrappers é uma biblioteca que fornece um host baseado em host Lista de controle de acesso (ACL) que restringe o acesso aos serviços TCP por clientes remotos com base em seus endereços IP
Hosts remotos de acessar serviços no sistema. Wrappers TCP usa o /etc/hosts.permitir e /etc/hosts.negar Arquivos de configuração (nessa ordem) para determinar se o cliente remoto tem permissão para acessar um serviço específico ou não.
Geralmente, esses arquivos são comentados e todos os hosts são permitidos através da camada de Wrappers TCP. Regras para permitir o acesso a um determinado serviço são colocadas no /etc/hosts.permitir arquivar e tenha precedência sobre as regras no /etc/hosts.negar arquivo.
Best Practice recomenda bloquear todas as conexões recebidas. Portanto, abra o /etc/hosts.negar arquivo.
$ sudo vim /etc /hosts.negar
Adicione a seguinte linha.
TUDO TUDO
Salve as alterações e saia do arquivo.
Em seguida, acesse o /etc/hosts.permitir arquivo.
$ sudo vim /etc /hosts.permitir
Configurar os hosts ou domínios que podem se conectar ao servidor via SSH, como mostrado. Neste exemplo, estamos permitindo que apenas dois hosts remotos se conectem ao servidor (173.82.227.89 e 173.82.255.55) e negar o resto.
SSHD: 173.82.227.89 173.82.255.55 SSHD: Todos: negarLimitar o acesso SSH aos clientes
Salve as alterações e saia do arquivo de configuração.
Para testá -lo, tente se conectar ao servidor de um host que não está entre aqueles que você permitiu acesso a. Você deve obter um erro de permissão como mostrado.
$ ssh [email protegido] kex_exchange_identification: Leia: Redefinição de conexão por conexão de pares Redefinir por 173.82.235.7 Porta 22 Conexão perdida
Implementar a autenticação de dois fatores do SSH
Autenticação de dois fatores Fornece uma camada de segurança adicional à autenticação de senha, tornando seu servidor mais seguro de ataques de força bruta. Um amplamente usado Autenticação de dois fatores solução é App do Google Authenticator E temos um guia bem documentado sobre como você pode configurar dois fatores de autenticação.
Conclusão
Este foi um resumo das 5 melhores práticas que você pode implementar para prevenir SSH Força bruta Login ataca e garantir a segurança do seu servidor. Você também pode ler como proteger e endurecer o servidor OpenSsh.
- « Ferramentas úteis para monitorar e depurar o desempenho de E/S do disco no Linux
- Melhores IDE de Java para desenvolvedores de Linux »