Lançamento do OpenSSH 9.8 com desativação do algoritmo DSA e mecanismos adicionais de proteção

Foi lançado o OpenSSH 9.8, uma implementação aberta de cliente e servidor para operar com os protocolos SSH 2.0 e SFTP. Além de corrigir uma vulnerabilidade crítica anunciada separadamente (CVE-2024-6387), que permite a execução remota de código com permissões de root antes da autenticação, a nova versão resolve outra vulnerabilidade menos perigosa e apresenta várias melhorias significativas voltadas para aumentar a segurança.

A segunda vulnerabilidade permite contornar a proteção contra ataques de canal lateral, introduzida na versão OpenSSH 9.5, que analisa atrasos entre as teclas pressionadas para reconstituir as entradas. A vulnerabilidade permite diferenciar pacotes que geram atividade em segundo plano através da simulação de pressionamentos de teclas fictícias, dos pacotes enviados durante pressionamentos reais, o que reduz a eficácia do mecanismo de mascaramento das características da entrada interativa no tráfego SSH. As informações sobre os pressionamentos permitem ataques que reconstroem a entrada com base na análise dos atrasos entre as teclas digitadas, que dependem da localização das teclas no teclado (por exemplo, a reação ao digitar a letra 'F' é mais rápida do que ao digitar 'Q' ou 'X', pois pressionar 'F' requer menos movimentos dos dedos).

Além disso, foi constatado que o algoritmo implementado para o envio de pacotes com pressionamentos reais e fictícios diminuía a confiabilidade de outro método de proteção contra ataques de canal lateral. A partir da versão
OpenSSH 2.9.9 servidor enviava pacotes com pressionamentos fictícios para entrada de console no modo echo-off, utilizado, por exemplo, ao digitar senhas em su ou sudo. A nova lógica de envio de pacotes fictícios permitia, durante a análise passiva do tráfego, identificar pacotes com pressionamentos reais no modo echo-off para uma análise separada. No entanto, a precisão das informações sobre os tempos de pressionamento é limitada, uma vez que, após a digitação, os pacotes não são enviados imediatamente, mas sim através de intervalos fixos (20 ms por padrão).

Outras mudanças no OpenSSH 9.8:

  • Na fase de montagem, o suporte a assinaturas digitais com base no algoritmo DSA está desativado por padrão. No início de 2025, a implementação do DSA será removida da base de código. O motivo da remoção é o nível de proteção do DSA que não atende aos requisitos modernos. Os custos para continuar o suporte a um algoritmo DSA inseguro não se justificam e sua remoção ajudará a estimular o fim do suporte ao DSA em outras implementações do SSH e bibliotecas criptográficas.
  • Para proteção adicional contra métodos de exploração de vulnerabilidades que exigem a instalação de um grande número de conexões ao sshd, foi implementado e ativado por padrão um novo modo de proteção, que também ajuda a bloquear ataques automatizados de adivinhação de senhas, nos quais bots tentam adivinhar a senha do usuário testando várias combinações padrão. A proteção é realizada através do bloqueio endereços IP, dos quais um grande número de tentativas de conexão malsucedidas é registrado — o sshd monitora o status de conclusão dos processos filhos, identificando situações em que a autenticação falhou ou em que o processo foi encerrado abruptamente devido a uma falha, e ao exceder um determinado limite, começa a bloquear solicitações de IPs ou subredes problemáticas. Para configurar o limite de acionamento do bloqueio, a máscara da subrede bloqueada e a lista de exceções, foram propostas as opções PerSourcePenalties, PerSourceNetBlockSize e PerSourcePenaltyExemptList.
  • O sshd foi dividido em vários arquivos executáveis separados. O processo sshd-session, que executa tarefas relacionadas ao manuseio de sessões, foi destacado do sshd. No processo sshd, foram mantidas as funções responsáveis por aceitar conexões de rede, verificar a configuração, carregar chaves de host e gerenciar os processos em execução de acordo com o parâmetro MaxStartups. Assim, o arquivo executável sshd agora contém a funcionalidade mínima necessária para aceitar uma nova conexão de rede e iniciar o sshd-session para o manuseio da sessão.
  • O texto de algumas mensagens de erro registradas no log foi alterado. Em particular, várias mensagens agora são enviadas em nome do processo 'sshd-session', e não do 'sshd'.
  • Na ferramenta ssh-keyscan, a saída de informações sobre a versão do protocolo e o nome do host agora é enviada para o fluxo padrão, e não para o STDERR. Para desativar a saída, foi proposta a opção '-q'.
  • No ssh foi implementada a possibilidade de desativar, através da diretiva HostkeyAlgorithms, a volta do uso do certificado da chave do host para a utilização de chaves de host simples (plain).
  • Na versão portátil do sshd, foi descontinuado o uso do valor argv[0] para determinar o nome do serviço PAM. Para definir o nome do serviço PAM em sshd_config, foi adicionada uma nova diretiva chamada «PAMServiceName», que por padrão é definida como «sshd».
  • Na versão portátil do sshd, foi garantido o salvamento de arquivos gerados automaticamente (como o script configure, config.h.in, etc.) na branch do Git com lançamentos (por exemplo, V_9_8), o que permitiu sincronizar o conteúdo dos arquivos tar arquivados com assinatura digital e as branches no Git.
  • Na versão portátil do ssh e ssh-agent, foi garantido o modo SSH_ASKPASS na presença da variável de ambiente WAYLAND_DISPLAY, assim como fazia para X11 na presença da variável de ambiente DISPLAY.
    Na versão portátil do sshd, foi adicionada a compatibilidade para enviar notificações ao systemd ao criar um socket de rede em escuta ou ao reiniciar, utilizando um código separado que não faz chamadas à biblioteca libsystemd.
  • Foi lançado OpenSSH 9.8, uma implementação aberta de cliente e servidor para operar com os protocolos SSH 2.0 e SFTP.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster