1.1 Fundamentos da Segurança no OpenSSH

Nesta seção vamos cobrir os aspectos básicos da segurança no OpenSSH, oferecendo uma sólida compreensão sobre o que é necessário para proteger suas conexões SSH.

1.1.1 O que será abordado?

Iremos explorar desde princípios básicos, passando por dicas de implementação até práticas recomendadas para endurecer a segurança do seu ambiente SSH.

1.1.2 Princípios Básicos do SSH

O SSH (Secure Shell) é um protocolo que oferece uma maneira segura de acessar um computador sobre uma rede não segura. A segurança é realizada através de métodos de criptografia robustos, e o protocolo permite tanto autenticação remota quanto a transferência segura de dados.

1.1.3 Dicas de Implementação

  • 1.1.3.1 Melhores Práticas Recomendadas: Sempre atualize o OpenSSH para a última versão disponível para aproveitar correções de segurança e novos recursos de proteção.
  • 1.1.3.2 Verificar o Status do SSH: Use o comando
    systemctl status ssh

    para verificar se o serviço está ativo e rodando.

  • 1.1.3.3 Usar o Teste de Configuração do SSH: Execute
    ssh -T user@host

    para testar se a configuração atual permite uma conexão segura.

  • 1.1.3.4 Fazer Alterações em Sistemas Remotos: Certifique-se de ter uma sessão direta ou um plano de contingência antes de fazer alterações em um sistema remoto.
  • 1.1.3.5 Implantação em Pequenos Passos: Implemente mudanças incrementais e verifique cada etapa antes de prosseguir.
  • 1.1.3.6 Mostrar Conexões SSH Ativas: Utilize
    ss -tnlp | grep ssh

    para exibir todas as conexões SSH ativas.

1.2 Protegendo a Configuração do Servidor SSH

Uma configuração segura do servidor SSH é crucial para prevenir acesso não autorizado e ataques.

1.2.1 Preparações Necessárias

Antes de alterar configurações, faça um backup do arquivo de configuração atual do SSH localizado em /etc/ssh/sshd_config.

1.2.2 Configurações de Segurança do SSH

  1. Uso do X11Forwarding: Defina
    X11Forwarding no

    para desativar o encaminhamento X11, que pode ser explorado para realizar ataques.

  2. Desativar rhosts: Certifique-se de que
    IgnoreRhosts yes

    está definido para não confiar em arquivos rhosts.

  3. Verificação de Nome de Host DNS: Ative a verificação de nome de DNS com
    UseDNS no

    para diminuir o risco de ataques de spoofing.

  4. Desativar Senhas Vazias: Garanta que
    PermitEmptyPasswords no

    está definido.

  5. Limitar Tentativas de Autenticação: Defina
    MaxAuthTries 3

    para limitar tentativas de autenticação fracassadas.

  6. Autenticação com Chave Pública: Prefira usar chaves públicas em vez de senhas com
    PubkeyAuthentication yes

    .

  7. Desativar Login Root: Defina
    PermitRootLogin no

    para evitar acesso direto ao usuário root.

  8. Configurar o Protocolo SSH: Apenas utilize
    Protocol 2

    , que é mais seguro que a versão 1.

  9. Uso de AllowUsers e DenyUsers: Controle o acesso especificando quais usuários podem ou não podem logar no sistema.
  10. Usar HashKnownHosts: Defina
    HashKnownHosts yes

    para aumentar a privacidade e a segurança das conexões.

  11. Restringir Comandos Permitidos: Use a opção
    PermitOpen

    para limitar os comandos que podem ser executados via SSH.

1.2.3 Restrições Adicionais

  • Configurar o Firewall: Implemente regras de firewall para apenas permitir conexões SSH de redes confiáveis.
  • Uso de Servidor de Salto: Utilize um servidor de salto para servir como intermediário para todas as conexões SSH, aumentando a segurança.

1.3 Configurações de Segurança do Cliente OpenSSH

1.3.1 Configurações do Cliente

  • Ver Todas as Configurações Padrão e Ativas: Execute
    ssh -G

    para ver todas as configurações.

  • Configurações de SSH para um Único Sistema: Modifique o arquivo ~/.ssh/config para ajustar as configurações específicas do sistema.

1.4 Ferramentas para Segurança do SSH

  • Ferramenta Lynis: Lynis é uma ferramenta de auditoria de segurança para sistemas Unix-like, incluindo Linux e macOS.
  • Ferramenta ssh-audit: ssh-audit é uma ferramenta para auditar as configurações de segurança de um servidor SSH para encontrar potenciais vulnerabilidades.

1.5 Recursos e Referências

  • Leia a Página de Manual: Consulte
    man ssh

    e

    man sshd

    para uma referência completa do OpenSSH.

  • Referências Bibliográficas: Para aprofundar seus conhecimentos, recorra a livros e publicações especializadas sobre segurança de redes e criptografia.

Este tutorial é uma publicação do BlueHat Tech Blog.

Categorized in: