Lançamento do OpenSSH 8.4

Após quatro meses de desenvolvimento apresentado lançamento do OpenSSH 8.4, uma implementação aberta de cliente e servidor para trabalhar usando os protocolos SSH 2.0 e SFTP.

Grandes mudanças:

  • Mudanças de segurança:
    • No ssh-agent, ao utilizar chaves FIDO que não foram criadas para autenticação SSH (o ID da chave não começa com a string "ssh:"), ele agora verifica se a mensagem será assinada utilizando os métodos utilizados no protocolo SSH. A mudança não permitirá que o ssh-agent seja redirecionado para hosts remotos que possuem chaves FIDO para bloquear a capacidade de usar essas chaves para gerar assinaturas para solicitações de autenticação da web (o caso inverso, quando um navegador pode assinar uma solicitação SSH, é inicialmente excluído devido ao uso do prefixo “ssh:” no identificador da chave).
    • A geração de chave residente do ssh-keygen inclui suporte para o complemento credProtect descrito na especificação FIDO 2.1, que fornece proteção adicional para chaves exigindo um PIN antes de executar qualquer operação que possa resultar na extração da chave residente do token.
  • Potencialmente quebrando alterações de compatibilidade:
    • Para suportar FIDO/U2F, é recomendado usar a biblioteca libfido2 pelo menos versão 1.5.0. A capacidade de usar edições mais antigas foi parcialmente implementada, mas neste caso funções como chaves residentes, solicitação de PIN e conexão de vários tokens não estarão disponíveis.
    • No ssh-keygen, os dados do autenticador necessários para verificar a confirmação das assinaturas digitais foram adicionados ao formato das informações de confirmação, salvos opcionalmente ao gerar uma chave FIDO.
    • A API usada quando o OpenSSH interage com a camada para acessar tokens FIDO foi alterada.
    • Ao construir uma versão portátil do OpenSSH, o automake agora é necessário para gerar o script de configuração e os arquivos de construção que o acompanham (se construir a partir de um arquivo tar de código publicado, a regeneração do configure não é necessária).
  • Adicionado suporte para chaves FIDO que exigem verificação de PIN em ssh e ssh-keygen. Para gerar chaves com PIN, a opção “verify-required” foi adicionada ao ssh-keygen. Se tais chaves forem utilizadas, antes de realizar a operação de criação de assinatura, o usuário será solicitado a confirmar suas ações inserindo um código PIN.
  • No sshd, a opção “verify-required” é implementada na configuraçãoauthorized_keys, que requer o uso de recursos para verificar a presença do usuário durante as operações com o token. O padrão FIDO oferece diversas opções para tal verificação, mas atualmente o OpenSSH oferece suporte apenas à verificação baseada em PIN.
  • sshd e ssh-keygen adicionaram suporte para verificação de assinaturas digitais que atendem ao padrão FIDO Webauthn, que permite que chaves FIDO sejam usadas em navegadores da web.
  • Em ssh nas configurações do CertificateFile,
    ControlPath, IdentityAgent, IdentityFile, LocalForward e
    RemoteForward permite a substituição de valores de variáveis ​​de ambiente especificadas no formato "${ENV}".

  • ssh e ssh-agent adicionaram suporte para a variável de ambiente $SSH_ASKPASS_REQUIRE, que pode ser usada para ativar ou desativar a chamada ssh-askpass.
  • No ssh em ssh_config na diretiva AddKeysToAgent, foi adicionada a capacidade de limitar o período de validade de uma chave. Depois que o limite especificado expirar, as chaves serão excluídas automaticamente do ssh-agent.
  • Em scp e sftp, usando o sinalizador "-A", agora você pode permitir explicitamente o redirecionamento para scp e sftp usando ssh-agent (o redirecionamento está desabilitado por padrão).
  • Adicionado suporte para substituição de '%k' nas configurações de ssh, que especifica o nome da chave do host. Este recurso pode ser usado para distribuir chaves em arquivos separados (por exemplo, “UserKnownHostsFile ~/.ssh/known_hosts.d/%k”).
  • Permita o uso da operação "ssh-add -d -" para ler as chaves do stdin que serão excluídas.
  • No sshd, o início e o fim do processo de remoção da conexão são refletidos no log, regulado pelo parâmetro MaxStartups.

Os desenvolvedores do OpenSSH também relembraram o próximo descomissionamento de algoritmos usando hashes SHA-1 devido a promoção a eficácia dos ataques de colisão com um determinado prefixo (o custo de seleção de uma colisão é estimado em aproximadamente 45 mil dólares). Em um dos próximos lançamentos, eles planejam desabilitar por padrão a capacidade de usar o algoritmo de assinatura digital de chave pública “ssh-rsa”, que é mencionado na RFC original para o protocolo SSH e continua difundido na prática (para testar o uso de ssh-rsa em seus sistemas, você pode tentar conectar via ssh com a opção “-oHostKeyAlgorithms=-ssh-rsa”).

Para facilitar a transição para novos algoritmos no OpenSSH, a próxima versão habilitará a configuração UpdateHostKeys por padrão, que migrará automaticamente os clientes para algoritmos mais confiáveis. Os algoritmos recomendados para migração incluem rsa-sha2-256/512 baseado em RFC8332 RSA SHA-2 (suportado desde OpenSSH 7.2 e usado por padrão), ssh-ed25519 (suportado desde OpenSSH 6.5) e ecdsa-sha2-nistp256/384/521 baseado no RFC5656 ECDSA (suportado desde OpenSSH 5.7).

Fonte: opennet.ru

Adicionar um comentário