Maneiras essenciais de proteger sua configuração SSH

Um guia abrangente para proteger configurações SSH por meio de 8 práticas essenciais, incluindo autenticação baseada em chave, desabilitação de login root, criptografia, atualizações, 2FA, registro, controles de acesso e gerenciamento de chaves. Ideal para administradores de sistema e profissionais de segurança que implementam as melhores práticas de SSH.

Conteúdo Relacionado

Quer continuar aprendendo?

Assine a newsletter de SSL.com, mantenha-se informado e seguro.

Proteger SSH envolve uma ampla gama de técnicas possíveis, mas nem todas são igualmente práticas para todos os ambientes. As recomendações neste artigo são métodos amplamente reconhecidos e de alto impacto que equilibram a facilidade de implementação com proteção robusta. Elas são extraídas de padrões definidos por organizações como NIST, CERT e o projeto OpenSSH, e refletem os princípios básicos que o SSL.com também aplica na proteção de certificados digitais — protegendo chaves, usando criptografia forte e limitando o acesso privilegiado.

Depois de configurar essas práticas recomendadas básicas, você pode explorar táticas mais avançadas, como SSH baseado em certificado, port knocking ou SSH sobre VPN, conforme necessário.

1. Use autenticação baseada em chave em vez de senhas

O que é:

Você substitui logins de senha por um par de chaves criptográficas pública/privada. A chave pública vai para seu servidor, enquanto a chave privada fica em sua máquina local.

Por que é mais seguro:

  • As senhas são suscetíveis a ataques de força bruta
  • Um invasor precisa obter fisicamente sua chave privada para invadir, o que é muito mais difícil do que adivinhar uma senha

Como implementar:

Gerar um par de chaves

No Linux ou macOS, abra um terminal e execute:

ssh-keygen -t ed25519

Para segurança extra (se ed25519 não estiver disponível em seu ambiente), você pode usar:

ssh-keygen -t rsa -b 4096

Copie a chave pública para o seu servidor

Você pode usar o comando ssh-copy-id (no Linux/macOS) para transferir facilmente sua chave pública:

ssh-copy-id usuário@endereço_do_servidor

Se ssh-copy-id não estiver disponível, anexe manualmente o conteúdo do seu arquivo id_ed25519.pub (ou id_rsa.pub) ao arquivo ~/.ssh/authorized_keys do servidor.

Desativar autenticação por senha

Em /etc/ssh/sshd_config, defina:

PasswordAuthentication não

Reinicie o serviço SSH:

sudo systemctl restart ssh

Assim como o gerenciamento de certificados digitais, a autenticação baseada em chave SSH garante que somente alguém com a chave privada correta possa estabelecer uma conexão.

2. Desabilite o login root

O que é:

Impedir que o usuário root efetue login diretamente via SSH.

Por que é mais seguro:

  • A conta root possui privilégios ilimitados e é um alvo atraente para invasores
  • Desabilitar o acesso root direto força os invasores a adivinhar não apenas uma chave ou senha, mas também um nome de usuário válido

Como implementar:

Em /etc/ssh/sshd_config, localize ou adicione:

PermitRootLogin não

Reinicie o SSH:

sudo systemctl restart ssh

Esta etapa efetivamente reduz sua superfície de ataque ao remover a conta mais poderosa do fácil alcance.

3. Aplicar criptografia forte e algoritmos MAC

O que é:

O SSH permite que você especifique quais cifras e códigos de autenticação de mensagens (MACs) usar para criptografar dados e verificar a integridade dos dados.

Por que é mais seguro:

  • Algoritmos mais antigos ou fracos (por exemplo, DES, RC4) podem ser vulneráveis ​​a ataques criptográficos
  • O uso de cifras modernas (como AES-256) e MACs fortes (como HMAC-SHA2) ajuda a manter os dados da sua sessão confidenciais e à prova de violação

Como implementar:

Em /etc/ssh/sshd_config, adicione ou atualize sua lista de cifras/MAC:

Cifras aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-256,hmac-sha2-512

Reinicie o SSH:

sudo systemctl restart ssh

Manter a criptografia atualizada para SSH é tão vital quanto garantir que protocolos e cifras seguros sejam usados ​​em TLS.

4. Mantenha o SSH (e seu sistema) atualizado

O que é:

Garantir que o OpenSSH, juntamente com o restante do seu sistema operacional, receba patches de segurança regularmente.

Por que é mais seguro:

  • Software desatualizado frequentemente contém vulnerabilidades conhecidas
  • Os invasores geralmente têm como alvo versões mais antigas com exploits não corrigidos

Como implementar:

Em sistemas baseados em Debian ou Ubuntu:

sudo apt-get atualização && sudo atualização apt-get

Em sistemas baseados em CentOS, Fedora ou RHEL:

sudo yum update

Certifique-se também de verificar se há atualizações de firmware se estiver executando SSH em dispositivos de rede ou outro hardware.

5. Implementar autenticação de dois fatores ou multifator (2FA/MFA)

O que é:

Adiciona uma camada extra de segurança ao exigir algo além de uma senha ou chave (por exemplo, um código de uso único no seu telefone).

Por que é mais seguro:

  • Mesmo que os invasores obtenham sua chave SSH, eles ainda precisam do segundo fator para efetuar login
  • Ajuda a defender contra roubo de credenciais

Como implementar:

Instalar e configurar uma ferramenta MFA

Por exemplo, nos Google Authenticator pode ser instalado em servidores Linux e configurado como um módulo PAM (Pluggable Authentication Modules). Siga as instruções de instalação específicas para sua distribuição.

Editar /etc/pam.d/sshd e /etc/ssh/sshd_config

  • Habilitar o Google Authenticator ou outro módulo MFA
  • Defina ChallengeResponseAuthentication como sim e AuthenticationMethods como publickey,keyboard-interactive (ou qualquer combinação que seja adequada ao seu ambiente)

Reinicie o SSH:

sudo systemctl restart ssh

6. Habilitar registro e monitoramento

O que é:

Capture eventos de login SSH, rastreie atividades suspeitas e receba alertas quando algo estiver errado.

Por que é mais seguro:

  • As tentativas de intrusão geralmente são visíveis nos logs como logins com falha repetidos ou ações não autorizadas
  • A detecção precoce significa que você pode responder rapidamente, bloqueando IPs ou alterando configurações antes que o dano seja causado

Como implementar:

Aumentar a verbosidade do log

Em /etc/ssh/sshd_config, defina:

LogLevel VERBOSE

Logs agregados

Use ferramentas de prevenção de intrusão

fail2ban verifica arquivos de log e proíbe IPs que mostram sinais maliciosos, como muitas falhas de senha.

7. Implementar controles e restrições de acesso

O que é:

Limite quem pode se conectar ao SSH e de onde, evitando solicitações de entrada não autorizadas ou excessivas.

Formas de fazer:

Restrições de firewall

Permita SSH somente de endereços IP conhecidos ou confiáveis. Por exemplo, no Linux com ufw:

sudo ufw permitir de 192.168.1.0/24 para qualquer porta 22

Configuração da porta

Executar SSH em uma porta não padrão (por exemplo, 2222) pode reduzir tentativas de escaneamento automatizado. Não é um substituto para medidas de segurança reais, mas pode reduzir o ruído.

Restrições de Usuário/Grupo

Em /etc/ssh/sshd_config, especifique:

PermitirUsuários alice bob

or

Permitir sshadmins de grupos

8. Use frases-senha de chave SSH e armazenamento seguro de chaves

O que é:

Criptografe sua chave privada com uma senha para que, mesmo que sua máquina seja comprometida, a chave em si não possa ser usada imediatamente.

Por que é mais seguro:

  • Um arquivo de chave roubado sem uma senha pode conceder acesso instantâneo
  • As frases-senha atuam como uma camada adicional de criptografia em sua chave local

Como implementar:

Defina uma frase-senha durante a geração da chave

ssh-keygen -t ed25519

(Você será solicitado a digitar uma senha.)

Proteja seus arquivos principais

Restrinja as permissões para sua pasta .ssh e arquivos de chave:

chmod 700 ~ / .ssh
chmod 600 ~ / .ssh / id_ed25519

Considere módulos de segurança de hardware (HSMs) ou tokens

Para organizações maiores, usar hardware dedicado para armazenamento de chaves pode reduzir os riscos de roubo de software ou malware.

Conclusão

A segurança SSH se resume a camadas de proteção. Ao implementar autenticação baseada em chave, desabilitar acesso root direto, usar criptografia forte, manter-se atualizado, exigir autenticação multifator, monitorar logs, restringir acesso e proteger suas chaves com senhas, você cobre os riscos mais comuns (e mais sérios).

Essas medidas se alinham com a mesma filosofia de segurança mais ampla que a SSL.com defende para certificados digitais: proteger chaves criptográficas, usar criptografia robusta, restringir acesso privilegiado e manter vigilância vigilante sobre seus sistemas. Depois de estabelecer essas melhores práticas fundamentais, você pode explorar opções mais avançadas, como autoridades de certificação SSH, port knocking ou executar SSH em uma VPN para personalizar ainda mais sua postura de segurança.

Mantenha-se informado e seguro

SSL.com é líder global em segurança cibernética, PKI e certificados digitais. Inscreva-se para receber as últimas notícias do setor, dicas e anúncios de produtos da SSL.com.

Adoraríamos receber seu feedback

Responda à nossa pesquisa e deixe-nos saber sua opinião sobre sua compra recente.