Para o hardening de ssh devemos:
Permitir acesso usando o protocolo SSHv2 somente, isto é feito editando o arquivo /etc/ssh/sshd_config e trocando a linha:
#PROTOCOL 1,2
para:
PROTOCOL 2
Criar um grupo para usuários que podem acessar o servidor remoto, e desabilitar o login do root no SSH:
vi /etc/ssh/sshd_config
#AllowUsers root
or
PermitRootLogin no
AllowGroups sshallow
No exemplo acima o grupo criado foi sshallow, para criar o grupo em S.O.s Linux basta digitar o comando:
#groupadd sshallow
Podemos ainda restringir os hosts/IPs que acessam o servidor remotamente. Para isto precisamos somente editar o arquivo /etc/hosts.allow e adicionar os ips : a palavra allow para os ips que queremos liberar e na última linha digitamos ALL : deny para negar qualquer outro ip que não tenha sido setado como allow ( liberado ).
sshd : 127.0.0.1 : allow
sshd : 192.168. : allow
sshd : 10. : allow
sshd : x.x.x.x : allow
sshd : x.x.x.x : allow
sshd : ALL :deny
A última linha vai restringir o acesso ao SSH de qualquer ip, liberando apenas os IPS listados acima desta linha.
Outro recurso muito interessante é o uso de chaves criptográficas para autenticação via ssh, irei escrever sobre isto posteriormente pois pretendo explicar o que são as chaves como funciona o algoritmo que as gera e ai sim, como configuramos o ssh para usa-las.