Lançamento do OpenSSH 8.0

Após cinco meses de desenvolvimento apresentado liberar OpenSSH 8.0, uma implementação aberta de cliente e servidor para trabalhar através dos protocolos SSH 2.0 e SFTP.

Grandes mudanças:

  • Suporte experimental para um método de troca de chaves resistente a ataques de força bruta em um computador quântico foi adicionado ao ssh e ao sshd. Os computadores quânticos são radicalmente mais rápidos na resolução do problema de decomposição de um número natural em fatores primos, que está na base dos modernos algoritmos de criptografia assimétrica e não pode ser resolvido de forma eficaz em processadores clássicos. O método proposto é baseado no algoritmo NTRU Prime (função ntrup4591761), desenvolvida para criptossistemas pós-quânticos, e o método de troca de chaves de curva elíptica X25519;
  • No sshd, as diretivas ListenAddress e PermitOpen não suportam mais a sintaxe herdada "host/porta", que foi implementada em 2001 como uma alternativa a "host:porta" para simplificar o trabalho com IPv6. Nas condições modernas, a sintaxe “[::6]:1” foi estabelecida para IPv22, e “host/porta” é frequentemente confundido com indicação de sub-rede (CIDR);
  • ssh, ssh-agent e ssh-add agora suportam chaves ECDSA em tokens PKCS#11;
  • No ssh-keygen, o tamanho padrão da chave RSA foi aumentado para 3072 bits, de acordo com as novas recomendações do NIST;
  • ssh permite o uso da configuração "PKCS11Provider=none" para substituir a diretiva PKCS11Provider especificada em ssh_config;
  • sshd fornece uma exibição de log de situações em que a conexão é encerrada ao tentar executar comandos bloqueados pela restrição “ForceCommand=internal-sftp” em sshd_config;
  • No ssh, ao exibir uma solicitação para confirmar a aceitação de uma nova chave de host, em vez da resposta “sim”, a impressão digital correta da chave agora é aceita (em resposta ao convite para confirmar a conexão, o usuário pode copiar o hash de referência recebido separadamente através da área de transferência, para não compará-lo manualmente);
  • ssh-keygen fornece incremento automático do número de sequência do certificado ao criar assinaturas digitais para vários certificados na linha de comando;
  • Uma nova opção "-J" foi adicionada ao scp e sftp, equivalente à configuração ProxyJump;
  • Em ssh-agent, ssh-pkcs11-helper e ssh-add, o processamento da opção de linha de comando “-v” foi adicionado para aumentar o conteúdo de informações da saída (quando especificada, esta opção é passada para processos filhos, por exemplo, quando ssh-pkcs11-helper é chamado de ssh-agent );
  • A opção “-T” foi adicionada ao ssh-add para testar a adequação das chaves no ssh-agent para realizar operações de criação e verificação de assinatura digital;
  • sftp-server implementa suporte para a extensão de protocolo “lsetstat at openssh.com”, que adiciona suporte para a operação SSH2_FXP_SETSTAT para SFTP, mas sem seguir links simbólicos;
  • Adicionada opção "-h" ao sftp para executar comandos chown/chgrp/chmod com solicitações que não usam links simbólicos;
  • sshd fornece configuração da variável de ambiente $SSH_CONNECTION para PAM;
  • Para sshd, um modo de correspondência “Match final” foi adicionado ao ssh_config, que é semelhante a “Match canonical”, mas não requer que a normalização do nome do host seja habilitada;
  • Adicionado suporte para o prefixo '@' ao sftp para desabilitar a tradução da saída de comandos executados em modo batch;
  • Ao exibir o conteúdo de um certificado usando o comando
    "ssh-keygen -Lf /path/certificate" agora exibe o algoritmo usado pela CA para validar o certificado;

  • Suporte aprimorado para o ambiente Cygwin, por exemplo, fornecendo comparação de nomes de grupos e usuários sem distinção entre maiúsculas e minúsculas. O processo sshd na porta Cygwin foi alterado para cygsshd para evitar interferência com a porta OpenSSH fornecida pela Microsoft;
  • Adicionada a capacidade de construir com o branch experimental OpenSSL 3.x;
  • Eliminado vulnerabilidade (CVE-2019-6111) na implementação do utilitário scp, que permite que arquivos arbitrários no diretório de destino sejam sobrescritos no lado do cliente ao acessar um servidor controlado por um invasor. O problema é que ao usar o scp, o servidor decide quais arquivos e diretórios enviar ao cliente, e o cliente apenas verifica a exatidão dos nomes dos objetos retornados. A verificação do lado do cliente limita-se apenas a bloquear viagens além do diretório atual (“../”), mas não leva em consideração a transferência de arquivos com nomes diferentes daqueles originalmente solicitados. No caso da cópia recursiva (-r), além dos nomes dos arquivos, você também pode manipular os nomes dos subdiretórios de forma semelhante. Por exemplo, se o usuário copiar arquivos para o diretório inicial, o servidor controlado pelo invasor poderá produzir arquivos com os nomes .bash_aliases ou .ssh/authorized_keys em vez dos arquivos solicitados, e eles serão salvos pelo utilitário scp no diretório do usuário. diretório inicial.

    Na nova versão, o utilitário scp foi atualizado para verificar a correspondência entre os nomes dos arquivos solicitados e os enviados pelo servidor, o que é feito no lado do cliente. Isto pode causar problemas com o processamento da máscara, uma vez que os caracteres de expansão da máscara podem ser processados ​​de forma diferente no servidor e no cliente. Caso tais diferenças façam com que o cliente pare de aceitar arquivos no scp, a opção “-T” foi adicionada para desabilitar a verificação do lado do cliente. Para corrigir totalmente o problema, é necessária uma reformulação conceitual do protocolo scp, que já está desatualizado, por isso é recomendado o uso de protocolos mais modernos, como sftp e rsync.

Fonte: opennet.ru

Adicionar um comentário