Pular para o conteúdo

· 2 min de leitura · hardening · ssh

As 12 verificações de SSH no hardening do atalince

O que cada diretiva do sshd confere, por que importa e como olhar o valor que está valendo de verdade.

O hardening do atalince tem 36 verificações. Doze delas são sobre o servidor SSH, a porta de entrada mais atacada de qualquer servidor Linux exposto. Este texto passa por cada uma.

Antes: veja o valor efetivo

O sshd_config não conta a história toda. Arquivos em sshd_config.d/, blocos Match e valores padrão mudam o resultado final. Para ver o que está valendo de fato:

sudo sshd -T | grep -Ei 'permitrootlogin|passwordauthentication|permitemptypasswords|x11forwarding|strictmodes|pubkeyauthentication|hostbasedauthentication|ignorerhosts|permituserenvironment|maxauthtries|logingracetime|maxsessions'

O agente do atalince faz exatamente isso: lê a saída do sshd -T, e cada item no painel mostra o valor que foi lido. Abaixo, o que cada verificação espera e a severidade que ela tem no painel.

Acesso e autenticação

PermitRootLogin. Login direto como root dá ao atacante o alvo mais valioso com um nome de usuário já conhecido. O atalince espera no. Severidade alta.

PasswordAuthentication. Senhas podem ser adivinhadas; chaves, na prática, não. Com chaves configuradas, no elimina a força bruta por senha de uma vez. Espera no, severidade alta.

PermitEmptyPasswords. Uma conta sem senha não deveria abrir sessão remota em hipótese alguma. Espera no, a única verificação de SSH com severidade crítica.

PubkeyAuthentication. É o que permite desligar senhas sem perder o acesso. Espera yes, severidade média.

HostbasedAuthentication. Confiar no host de origem em vez do usuário é um modelo antigo. Espera no, severidade alta.

IgnoreRhosts. Ignora os arquivos .rhosts e .shosts, herança do rsh. Espera yes, severidade alta.

Ambiente e sessão

X11Forwarding. Encaminhar a interface gráfica raramente faz sentido num servidor e amplia a superfície de ataque. Espera no, severidade baixa.

StrictModes. Faz o sshd conferir as permissões dos arquivos do usuário antes de aceitar a chave. Espera yes, severidade média.

PermitUserEnvironment. Permitir que o usuário defina variáveis de ambiente pelo SSH abre caminho para contornar restrições. Espera no, severidade alta.

Limites

MaxAuthTries. Quantas tentativas por conexão antes de desconectar. Valores baixos tornam a força bruta mais lenta e mais visível. Espera de 1 a 4, severidade média.

LoginGraceTime. Quanto tempo uma conexão pode ficar sem autenticar. Prazos curtos reduzem o número de conexões penduradas. Espera de 1 a 60 segundos, severidade média.

MaxSessions. Quantas sessões podem compartilhar uma mesma conexão. Espera de 1 a 10, severidade baixa.

A nota só aparece com cobertura total

As 36 verificações formam uma nota de A a F, mas só quando todas puderam ser conferidas. Se o agente não conseguiu ler uma delas, a nota não aparece. Uma nota calculada com buracos seria um número inventado.

E as outras 24?

Oito são permissões de arquivos sensíveis, como /etc/shadow e o authorized_keys do root. Oito são parâmetros do kernel e do sistema de arquivos, como ASLR e links protegidos. E oito são da pilha IPv4, como SYN cookies e redirects. Veja tudo em Avaliações de segurança.

O atalince aponta o que está fora do recomendado e mostra a evidência. A mudança fica com você: o hardening é somente leitura.

Programa Founders

Use o atalince desde o começo.

Recursos do Pro para até 3 servidores, sem cobrança, por 12 meses. Cada inscrição é aprovada pela equipe.