Boas práticas na utilização e configuração do OpenSSH

11 Comentários

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.

remote-work-telecommuting-isl-online-airport


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.

Port

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.

ssh_08

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.

ssh_09

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.

Partilhar:
Tags:

Comentários

11

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de int3
    int3

    Usar só autenticação por chave pública por exemplo. Sem as chaves nada feito 🙂

    1. Avatar de José Cordeiro
      José Cordeiro

      +1

    2. Avatar de Xico Bandito
    3. Avatar de FG
      FG

      +1

      Mas quais passwords! Mais seguro, e mais pratico!

      1. Avatar de TurboLento
        TurboLento

        autenticação por chave pública funciona como?

  2. Avatar de jedi
    jedi

    utilizo através do terminal do mac OSX, para atualizar o website que tenho armazenado na faculdade. 😉

  3. Avatar de Ricardo Ruivo
    Ricardo Ruivo

    o DenyHosts foi descontinuado agora há um chamado Fail2Ban

  4. Avatar de José Fonseca
    José Fonseca

    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

  5. Avatar de Luís
    Luís

    Era porreiro fazer se um tutorial para aceder a uma máquina linux por ssh 😉

    1. Avatar de metro
      metro

      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

      1. Avatar de Luís
        Luís

        E é preciso ter precauções quando se abre a porta do router?