Não pense que existem soluções pré-determinadas. Por várias razões, elas seriam apenas parcialmente eficazes.
Instale um bom firewall. (Eu uso o Shorewall para construir o meu.)
Considere o uso de porta bloqueada para manter a porta fechada, a menos que seja necessário. Abra o ssh para endereços que você sabe que precisa usá-lo. Para usuários em endereços dinâmicos, você pode usar whois para determinar o tamanho provável do bloco em que eles estão. As regras abertas precisam ir antes das regras de bloqueio de portas.
Considere usar o fail2ban para bloquear endereços que verificam você.