O OpenSSH é um conjunto de ferramentas que nos permite gerir remotamente máquinas, recorrendo ao protocolo SSH. Ao contrário de outras ferramentas como o Telnet, rcp, rlogin e ftp, o OpenSSH garante que as comunicações entre máquinas sejam seguras, pois recorre à criptografia para cifrar todo o tráfego (incluindo passwords).
Mas além da segurança que é garantida com as técnicas de criptografia, há algumas configurações que podemos realizar para tornar este serviço ainda mais seguro.
O OpenSSH é uma versão gratuita da implementação do SSH. Para quem não sabe, o SSH – Secure Socket Shell é um protocolo que permite, de forma segura, aceder e gerir remotamente máquinas Linux e não só.
O OpenSSH é um conjunto de ferramentas das quais fazem parte o:
- ssh – um substituto para rlogin, rsh e telnet.
- scp – um substituto para rcp
- sftp – um substituto para o ftp
- sshd – daemon da versão server do SSH
- ssh-keygen – uma ferramenta para verificar e gerar chaves RSA, DSA e Elliptic Curve
- ssh-agent e ssh-add – utilitários para que o utilizador não necessite de introduzir sempre a password – ver aqui
Boas práticas na configuração do OpenSSH
Sendo este um serviço amplamente usado, deixamos aqui algumas boas práticas para a utilização e configuração do OpenSSH.
Dica 1 – Usar passwords fortes
A maior parte das vezes o acesso indevido a sistema acontece por culpa nossa pois não criámos uma password segura e forte o suficiente. Na criação de um utilizador com autorização para usar aceder remotamente ao sistema, é muito importante que seja definida uma password forte/complexta.
Dica 2 – Mudar o porto por omissão
Por omissão o OpenSSH funciona no porto 22 sendo este publicamente conhecido. Para procederem à alteração de porto, devem abrir o ficheiro /etc/ssh/sshd_config e procurar pelo parâmetro Port. Em seguida devem mudar o 22 para um porto disponível à vossa escolha.
Nota: Não se esqueçam de reiniciar o serviço e quando usarem um cliente de SSH apontarem para o novo porto escolhido.
Dica 3 – Usar a versão 2 do SSH
O SSH tem actualmente duas versões. A versão 1 é mais antiga e insegura. Nesse sentido é sempre importante que forcem a utilização da versão 2. Para isso abrimos o ficheiro /etc/ssh/sshd_config e no parâmetro Protocol devemos indicar a versão 2.
Dica 4 – Desactivar o acesso root
As boas práticas ao nível da segurança dizem-nos que não devemos usar o utilizador root para aceder remotamente a um sistema. Para desactivar esse utilizador basta abrir o ficheiro /etc/ssh/sshd_config e colocar “no” no parâmetro PermitRootLogin.
Além destas configurações existem outras que podem ser facilmente adoptadas. Por exemplo fazer Logins remotos pela rede “sem password” – ver aqui. Podemos também usar o DenyHosts, um script desenvolvido para sistemas Linux que permite “ajudar” no controlo de ataques indevidos via SSH.