Como fortalecer a configuração do servidor SSH

NmapBeginner
Pratique Agora

Introdução

No cenário em rápida evolução da Segurança Cibernética, a segurança das configurações do servidor SSH é crucial para proteger a infraestrutura de rede crítica. Este tutorial abrangente fornece aos administradores de sistemas e profissionais de segurança estratégias essenciais para fortalecer a segurança do servidor SSH, mitigar vulnerabilidades potenciais e prevenir tentativas de acesso não autorizado.

Conceitos Básicos do SSH

O que é SSH?

Secure Shell (SSH) é um protocolo de rede criptográfico que fornece uma forma segura de acessar e gerenciar dispositivos e servidores de rede remotamente. Oferece uma alternativa segura aos métodos tradicionais de acesso remoto inseguros, como o Telnet.

Principais Características do SSH

O SSH fornece vários recursos de segurança essenciais:

Característica Descrição
Criptografia Criptografa todo o tráfego entre cliente e servidor
Autenticação Suporta múltiplos métodos de autenticação
Integridade de Dados Previne a adulteração de dados durante a transmissão
Túneis Permite o encaminhamento seguro de portas

Fluxo de Conexão SSH

graph LR A[Cliente SSH] --> B{Servidor SSH} B --> |Autenticação| C[Canal Seguro] C --> |Comunicação Criptografada| D[Shell Remoto/Execução de Comandos]

Métodos de Autenticação

O SSH suporta múltiplos mecanismos de autenticação:

  1. Autenticação Baseada em Senha
  2. Autenticação Baseada em Chave Pública
  3. Autenticação Baseada em Host
  4. Autenticação Multifator

Comandos Básicos SSH

## Conectar-se ao servidor remoto
ssh username@hostname

## Gerar par de chaves SSH
ssh-keygen -t rsa -b 4096

## Copiar chave pública para o servidor remoto
ssh-copy-id username@hostname

Arquivos de Configuração SSH

Arquivos de configuração chave para SSH:

  • /etc/ssh/sshd_config: Configuração do lado do servidor
  • ~/.ssh/config: Configuração do cliente específica do usuário
  • ~/.ssh/authorized_keys: Chaves públicas autorizadas

Recomendação LabEx

Para prática prática de segurança SSH, o LabEx fornece ambientes abrangentes de gerenciamento de servidores Linux para ajudá-lo a dominar a configuração e técnicas de fortalecimento do SSH.

Fortalecimento do Servidor

Fortalecimento da Configuração do Servidor SSH

Modificando o Arquivo de Configuração SSH

O principal arquivo de configuração do servidor SSH está localizado em /etc/ssh/sshd_config. O fortalecimento envolve modificações estratégicas para aprimorar a segurança.

## Editar a configuração SSH
sudo nano /etc/ssh/sshd_config

Parâmetros Principais de Fortalecimento

Parâmetro Configuração Recomendada Finalidade
Porta Porta não padrão Reduz a varredura automatizada
PermitRootLogin no Impede acesso direto à raiz
PasswordAuthentication no Impõe autenticação baseada em chave
MaxAuthTries 3 Limita tentativas de login
AllowUsers nomes_de_usuários_específicos Restrição de acesso de usuário

Desabilitar Métodos de Autenticação Desnecessários

## Fragmentos de configuração recomendados
PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Gerenciamento de Chaves SSH

Gerando Chaves SSH Fortes

## Gerar uma chave RSA forte
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa_secure

Permissões de Chaves

## Definir permissões corretas de chave
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Fortalecimento no Nível de Rede

graph TD A[Servidor SSH] --> B{Firewall} B --> |Permitir IP Específico| C[Acesso Autorizado] B --> |Bloquear| D[Acesso Não Autorizado]

Configuração do Firewall

## Configuração do UFW (Firewall Simplificado)
sudo ufw allow from 192.168.1.0/24 to any port 22
sudo ufw enable

Técnicas de Proteção Avançadas

Instalar Fail2Ban

## Instalar e configurar o Fail2Ban
sudo apt-get install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo systemctl restart fail2ban

Monitoramento e Log

## Habilitar log detalhado do SSH
sudo sed -i 's/#LogLevel INFO/LogLevel VERBOSE/' /etc/ssh/sshd_config
sudo systemctl restart sshd

Dica de Segurança LabEx

O LabEx recomenda a prática dessas técnicas de fortalecimento em ambientes controlados para desenvolver habilidades robustas de segurança SSH.

Reiniciar o Serviço SSH

## Aplicar as mudanças de configuração
sudo systemctl restart sshd

Verificação

## Verificar a configuração SSH
sudo sshd -t

Melhores Práticas de Segurança

Estratégia Abrangente de Segurança SSH

Mecanismos de Autenticação

Método Nível de Segurança Recomendação
Chave Pública Alto Preferível
Multifator Muito Alto Recomendado
Senha Baixo Evitar

Melhores Práticas de Gerenciamento de Chaves

## Gerar chave SSH forte
ssh-keygen -t ed25519 -a 100

Configuração de Segurança de Rede

Regras de Firewall

## Restringir o acesso SSH por IP
sudo ufw limit from 192.168.1.0/24 to any port 22

Proteção Avançada de Rede

graph TD A[Servidor SSH] --> B{Firewall de Rede} B --> C[Listagem Branca de IPs] B --> D[Limitação de Taxa] B --> E[Detecção de Intrusões]

Monitoramento e Log

Estratégia Abrangente de Log

## Configurar log avançado
sudo sed -i 's/LogLevel INFO/LogLevel VERBOSE/' /etc/ssh/sshd_config

Ferramentas de Análise de Log

  • Fail2Ban
  • Logwatch
  • OSSEC

Recomendações de Criptografia

Protocolos Suportados

## Desabilitar protocolos fracos
Protocol 2
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com

Manutenção Regular de Segurança

Tarefas Periódicas

  1. Atualizar pacotes SSH
  2. Rotacionar chaves SSH
  3. Revisar logs de acesso
  4. Auditar permissões de usuário

Técnicas de Proteção Avançadas

Segurança de Túneis SSH

## Desabilitar túneis desnecessários
AllowTcpForwarding no
X11Forwarding no

Recomendação de Segurança LabEx

O LabEx sugere implementar essas práticas gradualmente e testá-las em ambientes controlados.

Script de Rotação de Chaves

#!/bin/bash
## Script de Rotação de Chaves SSH
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ''
systemctl restart sshd

Melhoria Contínua

Lista de Verificação de Segurança

  • Desabilitar login de root
  • Usar autenticação baseada em chave
  • Implementar autenticação multifator
  • Auditorias de segurança regulares
  • Manter os sistemas atualizados

Equilíbrio entre Desempenho e Segurança

graph LR A[Segurança SSH] --> B{Configuração Equilibrada} B --> |Moderada| C[Desempenho Ótimo] B --> |Extrema| D[Alta Segurança] B --> |Mínima| E[Baixa Proteção]

Recomendações Finais

  1. Nunca sacrifique a segurança por conveniência
  2. Mantenha-se atualizado com os últimos patches de segurança
  3. Implemente o princípio do privilégio mínimo
  4. Aprenda e adapte-se continuamente

Resumo

Implementando as técnicas de fortalecimento do servidor SSH discutidas, as organizações podem aprimorar significativamente sua postura de Cibersegurança. Essas melhores práticas não apenas protegem contra possíveis invasões de rede, mas também estabelecem um mecanismo de defesa robusto que protege a infraestrutura sensível e mantém a integridade dos protocolos de acesso remoto.