O termo de pesquisa que você precisa aqui provavelmente é algo como "block failed ssh login tries" ou "block brute force ssh" ou até mesmo "stop malicioso ssh logins".
Uma ferramenta muito popular para impedir isso é fail2ban . Ele pode assistir a seus logs em busca de tentativas de login SSH e bloquear o IP ofensivo após várias falhas por um determinado período de tempo.
Algumas outras dicas para reforçar a segurança do seu SSH:
- Desative o login raiz direto, se ainda não tiver feito isso. Este é um dos aspectos essenciais que você deve realmente fazer se quiser considerar seu servidor seguro.
- Desative a autenticação por senha e use a autenticação de chave pública. Outro essencial. Não importa o quanto adivinhem para uma senha válida se as senhas não levarem você a lugar nenhum. Além disso, usar um par de chaves para efetuar login é muito conveniente se você usar um gerenciador de chaves no lado do cliente.
- Use uma porta não padrão. Você poderia usar algo como 2222 ou, de preferência, algo ainda menos óbvio. Isso faz com que o número de logins com falha caia drasticamente na minha experiência. Embora, como outras pessoas apontaram nos comentários, você deve ter em mente que as portas abertas ainda são facilmente reveladas com uma varredura de porta e pode ser inconveniente para usuários legítimos efetuarem login.
- Bloqueie tentativas malsucedidas usando o fail2ban. Eu aconselho você a ter algum tipo de plano B caso você acidentalmente se bloqueie. Se você puder tentar novamente de um IP diferente, poderá desbloquear a si mesmo.
- Implemente porta batendo . Este é provavelmente um exagero, mas se implementado, pode trazer suas tentativas de login com falha para essencialmente zero. Isso pode ser muito inconveniente para usuários legítimos que desejam fazer login. Você precisa percorrer a música e a dança ao executar a gravação secreta sempre que quiser fazer login. Esqueça o login com seu smartphone.