However, before proceeding any further, which security considerations should I take? Excluding the obvious one of setting a secure password.
As chaves são mais seguras do que as senhas, especialmente se a frase secreta for protegida.
Outras coisas (a maioria é definida no arquivo de configuração):
Coisas que são sempre uma boa ideia:
-
Não permitir que o root faça o login diretamente (você sempre pode su
ou sudo
)
-
Desative todos os recursos que você não precisará em /etc/ssh/sshd_config
, como encaminhamento, etc.
-
Não tem sshd
em execução quando você não precisa dele.
Coisas para impedir o acesso à Internet ao seu sshd
-
Bloqueie a porta 22 no firewall do seu roteador, se possível. Além disso, imponha isso com uma regra iptables
ou ufw
como sugerido por @Greg Hendershott.
-
/etc/hosts_allow
controla quais IPs podem acessar o servidor e você pode incluir linhas que negam intervalos de IP.
Se mais tarde você o expuser à Internet:
-
Altere a porta de 22 para outra, se possível. Não adicionará nenhuma segurança real, mas reduzirá os ataques aleatórios.
-
Desative o banner SSH ou altere-o para algo que não o identifique (você deseja fazer isso APÓS o login ser concluído).
-
Instale algo como fail2ban
que bloqueia automaticamente os IPs que fazem muitos logins com falha.
-
Aceite apenas SSHv2, as versões anteriores têm vulnerabilidades, se não me engano. Eu acho que isso é definido por padrão.