anúncios

quarta-feira, 13 de março de 2024

Configurando servidor SSH com máxima segurança

Para começar, vamos configurar o servidor SSH no seu sistema GNU/Linux Debian ou derivados. Siga os passos abaixo:

  1. Atualização e instalação do OpenSSH Server
  2. Execute os seguintes comandos no seu terminal:

    $ sudo apt update

    $ sudo apt install openssh-server -y

  3. Configuração do OpenSSH Server
  4. Agora, vamos configurar o arquivo de configuração do SSH:

    $ sudo vim /etc/ssh/sshd_config

    Dentro do arquivo, faça as seguintes alterações:

    • Altere a porta padrão 22 para outra porta alta (acima de 1023).
    • Habilite a autenticação por chave pública, certificando-se de que a opção PubkeyAuthentication esteja definida como yes.
    • Desabilite a autenticação por senha, permitindo apenas a autenticação com chave pública.
    • Não permita senhas vazias.
    • Desabilite a conexão com o usuário root.

    Salve as alterações e feche o editor Vim pressionando ESC + :x.

    Você também pode adicionar as configurações SSH em um arquivo separado em /etc/sshd_config.d/01-ssh-config.conf.

    $ sudo vim /etc/sshd_config.d/01-ssh-config.conf

    Dentro do arquivo, adicione as mesmas configurações mencionadas anteriormente:

    PubkeyAuthentication yes
    PasswordAuthentication no
    PermitEmptyPassword no
    PermitRootLogin no
    

    Salve as alterações e feche o editor Vim pressionando ESC + :x.

  5. Reinicie o serviço SSH
  6. Depois de fazer as alterações, reinicie o serviço SSH:

    $ sudo service ssh restart
  7. Criação de usuário e par de chaves
  8. Agora, vamos criar um usuário e um par de chaves pública e privada:

    $ sudo useradd -m -s /bin/bash usuario

    $ sudo passwd usuario

    $ sudo ssh-keygen -t ed25519 -C "Minha Chave Principal"

    Você pode definir uma senha para o par de chaves (opcional).

    As chaves são salvas no diretório do usuário $HOME/.ssh, contendo os arquivos id_ed25519 (chave privada) e id_ed25519.pub (chave pública), respectivamente.

    Para permitir a conexão, você precisa adicionar a chave pública ao arquivo authorized_keys do servidor.

    $ sudo mkdir -p /home/usuario/.ssh

    $ sudo cat ~/.ssh/id_ed25519.pub > /home/reginaldo/.ssh/authorized_keys

  9. Reinicie o serviço SSH
  10. Após adicionar a chave pública, reinicie o serviço SSH novamente: $ sudo service ssh restart

  11. Teste de conexão
  12. Agora, você pode testar a conexão SSH em outra máquina conectando ao servidor que acabou de fazer a configuração do SSH, informando o usuário e senha que foram criados:

    $ ssh usuario@IPSERVIDOR

    Na primeira conexão, será solicitada a senha da chave (se você a definiu). Além disso, você será notificado sobre o fingerprint, que é salvo no arquivo ~/.ssh/know_hosts.

    Agora seu servidor SSH está configurado com máxima segurança.

Feito!

2 comentários: