Boas práticas na utilização e configuração do OpenSSH
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.
Este artigo tem mais de um ano
Usar só autenticação por chave pública por exemplo. Sem as chaves nada feito 🙂
+1
+1
+1
Mas quais passwords! Mais seguro, e mais pratico!
autenticação por chave pública funciona como?
utilizo através do terminal do mac OSX, para atualizar o website que tenho armazenado na faculdade. 😉
o DenyHosts foi descontinuado agora há um chamado Fail2Ban
Mais um post muito interessante.
Ainda por cima através do SSH podem-se fazer túneis para outros serviços que desta forma ficam mais seguros
Era porreiro fazer se um tutorial para aceder a uma máquina linux por ssh 😉
Linux mesmo não sei, mas no rpi é:
sudo raspi-config, ssh, e clicar sim.
pegares no putty ou afins (Ou o programa que mostraram) , meter o ip do rpi (local, caso estejas a aceder em casa, ou se quiseres aceder fora, abre a porta no router) e metes o ip publico (google, meu ip)
depois é entrar com o teu login normal
Que por defeito no Rpi é :
User:pi
PW: raspberry
E é preciso ter precauções quando se abre a porta do router?