Existem vários pacotes diferentes para bloquear IPs dos quais ataques SSH de força bruta são lançados no seu sistema. Por exemplo:
Quais são os prós / contras destes ou de outros?
Minha solução atual é pegar o e-mail que o logwatch gera todos os dias e despejar os endereços IP flagrantes em um arquivo de texto que eu alimento em um script que reconstrói o iptables. É hacky, demorado e manual, e eu gostaria de uma maneira melhor.
(Observe que não perguntei qual era a "melhor" maneira de resolver o problema, porque não há "a melhor" maneira de fazer alguma coisa.)
Uma proteção simples e na prática eficaz contra ataques baseados em varredura não é usar a porta padrão. 443 (a porta https) expõe você a diferentes ataques de força bruta que não quebram suas senhas fracas e possivelmente funcionam com mais firewalls do que a porta padrão (22).
A maioria dos métodos para impedir ataques de força bruta ssh são ótimas maneiras de auto-DoS (oops, eu estraguei a configuração! Oops, fiz vários rsync rápidos e agora estou banido por um dia!) Ou auto-DoS assistido (Oops , o atacante vem de / subverteu uma máquina na mesma sub-rede que eu (faixa dinâmica de IP, rede da faculdade ...) e também estou sendo banido!).
Se você fizer login apenas de alguns lugares, poderá colocar apenas os endereços IP de origem na lista de permissões. Obviamente, isso não é bom se você deseja transferir ssh do seu laptop ou celular em movimento.
Ter um daemon ssh que ouça apenas conexões IPv6 deve protegê-lo de verificações por alguns anos ainda. Mas muitos firewalls não permitem transportar o IPv6 de maneira razoável.
Outro método que você não menciona é a porta batendo . Ele não apresenta problemas de auto-DoS (exceto configuração incorreta), mas não cruza bem os firewalls e pode adicionar alguns segundos de latência ao estabelecimento da conexão.
Se você possui boas senhas ou pode viver sem autenticação por senha, desative a autenticação por senha. (Chaves e senhas de uso único são suficientes para a maioria dos casos de uso: se você não confia na máquina cliente o suficiente para armazenar uma chave ssh, não confia que ela também não tenha um keylogger). Então os ataques de força bruta custarão um pouco de CPU e largura de banda, mas não o exporão a uma invasão (desde que você verifique se nenhuma de suas chaves veio de um OpenSSL de baixa entropia Debian ).
Em suma, observe que alterar a porta não reduz significativamente sua exposição. Você terá menos varredura , mas tudo o que você pode cortar é a fruta que procura explorar vulnerabilidades antigas e senhas fracas. Desde que você mantenha seu daemon atualizado e imponha senhas razoáveis ou limites razoáveis de taxa de tentativa, alternar a porta é mais uma obrigação do que uma medida de segurança.
fonte
.ssh/config
. O bloqueio é um problema se o firewall não permitir que você atravesse, e a solução mais fácil é manter a porta 22 e também ouvir a 443. Concordo que mudar a porta não melhora realmente a segurança, talvez eu deva deixar isso mais claro . Não sei por que você considera impossível para um daemon SSH não oferecer suporte à autenticação por senha: é apenas uma questão de adicionar uma linha aosshd_config
OpenSSH, a implementação mais comum.