Segurança SSH

Guia completo para configurar o SSH no Linux de forma segura

Este guia completo ensina a configurar o SSH no Linux de maneira segura, abordando instalação, ajustes de segurança, autenticação via chave SSH, monitoramento e uso de autenticação de dois fatores.

Teclas de upload e download com ícones de nuvem, representando backup e recuperação de dados, com o logotipo do SempreUpdate.

O SSH (Secure Shell) é uma das ferramentas mais importantes para administrar sistemas Linux remotamente. Com ele, você pode controlar servidores e máquinas à distância, garantindo a segurança através de criptografia. Neste guia, vamos explorar como configurar o SSH no Linux de maneira segura e eficiente, abordando desde o processo de instalação até as melhores práticas para evitar ataques.

Passos para configurar um SSH no Linux seguro

1. Instalando o SSH no Linux

Primeiramente, é necessário instalar o OpenSSH no sistema, caso ainda não esteja instalado. Execute os seguintes comandos de acordo com sua distribuição:

  • No Ubuntu ou Debian:
sudo apt update
sudo apt install openssh-server
  • No CentOS ou Fedora:
sudo dnf install openssh-server

Após a instalação, inicie e ative o serviço:

sudo systemctl start ssh
sudo systemctl enable ssh

2. Ajustando as configurações de segurança

As configurações do SSH podem ser encontradas no arquivo /etc/ssh/sshd_config. Abaixo estão algumas das alterações recomendadas para fortalecer a segurança:

  • Desativar login com senha: Isso obriga o uso de chaves SSH, que são mais seguras que senhas.
PasswordAuthentication no
  • Alterar a porta padrão: Mude a porta padrão do SSH (22) para uma menos óbvia, reduzindo a chance de ataques automatizados.
Port 2222
  • Restringir o login root: Desative o login direto do root para evitar que atacantes tenham acesso a privilégios administrativos logo de início.
PermitRootLogin no
  • Definir um tempo de inatividade: Defina um tempo de inatividade curto para desconectar automaticamente sessões ociosas.
ClientAliveInterval 300
ClientAliveCountMax 2

3. Criando chaves SSH para autenticação

Uma das maneiras mais seguras de se autenticar via SSH é usando pares de chaves. Para criar uma chave SSH, siga os passos abaixo:

  • No cliente, gere uma chave:
ssh-keygen -t rsa -b 4096
  • Copie a chave pública para o servidor:
ssh-copy-id user@ip_do_servidor

Agora, quando se conectar ao servidor, será usada a chave SSH para autenticação.

4. Monitorando conexões SSH

Para garantir a segurança contínua do seu servidor, é importante monitorar as conexões SSH. Ferramentas como fail2ban podem ajudar a bloquear tentativas de login maliciosas.

Instale o fail2ban:

sudo apt install fail2ban

Configure o fail2ban para monitorar o SSH, editando o arquivo /etc/fail2ban/jail.conf e ativando a proteção para o serviço SSH.

5. Usando o SSH com 2FA

Outra medida importante é configurar a autenticação de dois fatores (2FA) para o SSH. Para isso, você pode usar o Google Authenticator. Instale o pacote de autenticação e siga as instruções de configuração:

sudo apt install libpam-google-authenticator

Ative o suporte ao 2FA no SSH editando o arquivo /etc/ssh/sshd_config:

ChallengeResponseAuthentication yes

Conclusão

Configurar o SSH de maneira segura é um passo essencial para qualquer administrador de sistemas Linux. Ao seguir essas práticas, você pode reduzir significativamente as chances de invasão ou acesso não autorizado. Não se esqueça de manter o serviço sempre atualizado e de monitorar logs para identificar possíveis ataques.

Para mais dicas e discussões, participe do Grupo SempreUpdate no Telegram.