Bloquear a porta do
SSH diretamente no
firewall de sua rede ou no firewall local do servidor é uma implementação altamente recomendável, pois faz com que tentativas de invasões através do SSH sequer cheguem ao servidor.
Esta implementação não será um problema caso você tenha um IP fixo. Porém, caso você utilize um IP dinâmico não é uma solução viável para você. É para casos como estes que eu recomendo o uso de técnicas de Port Knocking! :)
Port Knocking, do inglês "batendo na porta", significa justamente isto! A sua porta 22 (ou a porta onde você alocou seu SSH) ficará fechada para qualquer origem.
Para liberá-la, ao invés de alterar configurações do firewall local, você simplesmente irá "bater" em outras portas numa sequência pré-determinada, em um determinado período de tempo. Se você acertar a sequência de portas nas quais deverá "bater" - ou seja, realizar conexões - dentro de um determinado período de tempo, a porta do SSH será liberada para você.
Para implementação deste tipo de técnica, você pode implementar regras de iptables "na mão", ou pode utilizar um serviço do
GNU/Linux próprio para isto, o
knockd.
Como a implementação do knockd não é tão complexa, mas, foge do escopo central deste post, deixo para você a dica de leitura
deste artigo, que ensina como implementá-lo.
Utilize somente a versão 2 do protocolo SSH
Qualquer software tem suas falhas de segurança, que são corrigidas no decorrer da transição de versões. Com o SSH não é diferente, e na primeira versão dele, existem vulnerabilidades que eventualmente alguém pode tentar explorar em seu servidor.
Então, porque manter uma versão antiga do protocolo? Configure o seu servidor para aceitar somente conexões utilizando a versão 2 do protocolo:
# vim /etc/ssh/sshd_config
Protocol 2
Agora é só reiniciar o serviço de SSH e seu servidor não aceitará mais conexões utilizando a versão 1 do protocolo! :)
# /etc/init.d/sshd restart
Conclusão
Lembre-se sempre: segurança é um processo constante! Não se contente somente com a implementação destas dicas, ou de outras medidas de segurança. Se atualize sempre, audite seu servidor com frequência, procure brechas, leia listas de segurança.
Desde modo você estará contribuindo para minimizar as chances de ser a próxima vitima de uma exploração de alguma vulnerabilidade de segurança!
Espero ter contribuído para que de alguma maneira você possa tornar o seu SSH mais seguro através destas dicas.
Até a próxima! :)