Lanzamento de OpenSSH 8.7

Despois de catro meses de desenvolvemento, presentouse o lanzamento de OpenSSH 8.7, unha implementación aberta dun cliente e servidor para traballar sobre os protocolos SSH 2.0 e SFTP.

Principais cambios:

  • Engadiuse a scp un modo de transferencia de datos experimental usando o protocolo SFTP en lugar do protocolo SCP/RCP tradicional. SFTP usa métodos de manexo de nomes máis previsibles e non usa o procesamento de shell dos patróns glob do outro host, o que crea problemas de seguridade. Para habilitar SFTP en scp, propúxose a marca "-s", pero no futuro está previsto cambiar a este protocolo por defecto.
  • sftp-server implementa extensións para o protocolo SFTP para expandir as rutas ~/ e ~user/, que son necesarias para scp.
  • A utilidade scp cambiou o comportamento ao copiar ficheiros entre dous hosts remotos (por exemplo, "scp host-a:/path host-b:"), que agora se fai por defecto a través dun host local intermedio, como cando se especifica o " bandeira -3". Este enfoque permítelle evitar pasar credenciais innecesarias ao primeiro host e a tripla interpretación dos nomes de ficheiros no intérprete de comandos (no lado de orixe, destino e do sistema local), e ao usar SFTP, permítelle utilizar todos os métodos de autenticación ao acceder a distancia. hosts, e non só métodos non interactivos. Engadiuse a opción "-R" para restaurar o comportamento antigo.
  • Engadiuse a configuración de ForkAfterAuthentication a ssh correspondente á marca "-f".
  • Engadiuse a configuración StdinNull a ssh, correspondente á marca "-n".
  • Engadiuse a ssh unha configuración SessionType, a través da cal pode establecer os modos correspondentes ás marcas "-N" (sen sesión) e "-s" (subsistema).
  • ssh-keygen permítelle especificar un intervalo de validez de chave nos ficheiros de chave.
  • Engadiuse a marca "-Oprint-pubkey" a ssh-keygen para imprimir a chave pública completa como parte da sinatura sshsig.
  • En ssh e sshd, tanto o cliente como o servidor movéronse para utilizar un analizador de ficheiros de configuración máis restritivo que usa regras tipo shell para manexar comiñas, espazos e caracteres de escape. O novo analizador tampouco ignora as suposicións feitas anteriormente, como omitir argumentos nas opcións (por exemplo, a directiva DenyUsers xa non se pode deixar baleira), as comiñas sen pechar e especificar varios = caracteres.
  • Cando se usan rexistros DNS SSHFP ao verificar as claves, agora ssh verifica todos os rexistros coincidentes, non só aqueles que conteñen un tipo específico de sinatura dixital.
  • En ssh-keygen, ao xerar unha clave FIDO coa opción -Ochallenge, a capa integrada agora utilízase para o hash, en lugar de libfido2, que permite o uso de secuencias de desafío maiores ou menores de 32 bytes.
  • En sshd, ao procesar as directivas environment="..." en ficheiros authorized_keys, agora acéptase a primeira coincidencia e hai un límite de 1024 nomes de variables de ambiente.

Os desenvolvedores de OpenSSH tamén advertiron sobre a descomposición de algoritmos que usan hash SHA-1 debido á maior eficiencia dos ataques de colisión cun prefixo determinado (o custo de seleccionar unha colisión estímase en aproximadamente 50 mil dólares). Na próxima versión, pensamos desactivar de forma predeterminada a posibilidade de utilizar o algoritmo de sinatura dixital de chave pública "ssh-rsa", que se mencionou no RFC orixinal para o protocolo SSH e segue sendo moi utilizado na práctica.

Para probar o uso de ssh-rsa nos seus sistemas, pode tentar conectarse mediante ssh coa opción "-oHostKeyAlgorithms=-ssh-rsa". Ao mesmo tempo, desactivar as sinaturas dixitais “ssh-rsa” por defecto non supón un abandono total do uso das claves RSA, xa que ademais de SHA-1, o protocolo SSH permite o uso doutros algoritmos de cálculo de hash. En particular, ademais de "ssh-rsa", seguirá sendo posible utilizar os paquetes "rsa-sha2-256" (RSA/SHA256) e "rsa-sha2-512" (RSA/SHA512).

Para suavizar a transición a novos algoritmos, OpenSSH tiña activada previamente a configuración UpdateHostKeys de forma predeterminada, o que permite aos clientes cambiar automaticamente a algoritmos máis fiables. Usando esta configuración, habilita unha extensión de protocolo especial "[protexido por correo electrónico]", permitindo que o servidor, despois da autenticación, informe ao cliente sobre todas as claves de host dispoñibles. O cliente pode reflectir estas chaves no seu ficheiro ~/.ssh/known_hosts, o que permite actualizar as chaves do servidor e facilita o cambio de chaves no servidor.

O uso de UpdateHostKeys está limitado por varias advertencias que poden ser eliminadas no futuro: a chave debe estar referenciada no UserKnownHostsFile e non usada no GlobalKnownHostsFile; a chave debe estar presente só baixo un nome; non se debe usar un certificado de chave de host; en known_hosts non se deben usar máscaras polo nome de host; a configuración VerifyHostKeyDNS debe estar desactivada; O parámetro UserKnownHostsFile debe estar activo.

Os algoritmos recomendados para a migración inclúen rsa-sha2-256/512 baseado en RFC8332 RSA SHA-2 (soportado desde OpenSSH 7.2 e usado por defecto), ssh-ed25519 (soportado desde OpenSSH 6.5) e ecdsa-sha2-nistp256/384 based en RFC521 ECDSA (soportado desde OpenSSH 5656).

Fonte: opennet.ru

Engadir un comentario