Após três meses de desenvolvimento, o lançamento da nova versão do OpenSSH 8.3 foi apresentado, em que destaca a nova proteção adicional contra ataques scp, Que permite que o servidor transfira outros nomes de arquivo diferentes dos solicitados (Ao contrário da vulnerabilidade anterior, o ataque não permite alterar o diretório selecionado pelo usuário ou a máscara global).
No SCP, o servidor decide quais arquivos e diretórios enviar para o cliente e o cliente apenas verifica a precisão dos nomes de objetos retornados. A essência do problema identificado é que, se a chamada para o sistema de temporização falhar, o conteúdo do arquivo é interpretado como metadados do arquivo.
Ao conectar a um servidor controlado por um invasor, esta função pode ser usada para salvar outros nomes Arquivo e outro conteúdo no FS do usuário ao copiar usando scp em configurações que causam falhas de tempo. Por exemplo, quando os horários são desabilitados pela política SELinux ou filtro de chamada do sistema.
A probabilidade de ataques reais é estimada como mínima, já que em configurações típicas a chamada do tempo não falha. Além disso, o ataque não passa despercebido: quando scp é chamado, um erro de transmissão de dados é exibido.
Adeus SHA-1
Além disso, os desenvolvedores OpenSSH também alertou mais uma vez sobre a próxima transferência para a categoria de algoritmos obsoletos que usam hashing SHA-1, devido a um aumento na eficiência dos ataques de colisão com um determinado prefixo (o custo de seleção de colisão é estimado em cerca de $ 45K).
Em um dos seguintes problemas, eles planejam desativar 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 permanece difundido na prática.
Possíveis candidatos
Para facilitar a transição para novos algoritmos no OpenSSH em uma próxima versão, a configuração UpdateHostKeys será habilitada por padrão, que mudará automaticamente os clientes para algoritmos mais confiáveis.
Entre os algoritmos recomendados para migração Eles são: rsa-sha2-256 / 512 baseado em RFC8332 RSA SHA-2 (compatível com OpenSSH 7.2 e usado por padrão), ssh-ed25519 (compatível com OpenSSH 6.5) e ecdsa-sha2-nistp256 / 384/521 baseado em RFC5656 ECDSA (compatível com OpenSSH 5.7).
Outras mudanças
Da última edição, "ssh-rsa" e "diffie-hellman-group14-sha1»Foram removidos da lista CASignatureAlgorithms, que define os algoritmos válidos para assinar digitalmente novos certificados, uma vez que o uso de SHA-1 em certificados acarreta um risco adicional porque o invasor tem tempo ilimitado para pesquisar colisões para um certificado existente, enquanto o tempo de ataque em chaves de host é limitado por tempo limite de conexão (LoginGraceTime).
Das outras mudanças que se destacam nesta nova versão são:
- No sftp, o processamento de "-1" é interrompido, semelhante ao ssh e scp, que era aceito anteriormente, mas ignorado.
- Em sshd ao usar IgnoreRhosts, agora três opções são fornecidas: "sim" para ignorar rhosts / shosts, "não" para considerar rhosts / shosts e "shosts-only" que permite ".shosts", mas desativa ".rhosts" .
- No ssh, o processamento de substituição do% TOKEN é fornecido na configuração LocalFoward e RemoteForward usada para redirecionar os soquetes Unix.
- É permitido baixar chaves públicas de um arquivo não criptografado com uma chave privada, se não houver um arquivo separado com uma chave pública.
- Se o sistema tiver libcrypto em ssh e sshd, ele agora usa a implementação do algoritmo chacha20 dessa biblioteca, em vez da implementação portátil integrada, que tem desempenho inferior.
- A capacidade de despejar o conteúdo da lista binária de certificados revogados ao executar o comando "ssh-keygen -lQf / path" foi implementada.
- A versão portátil implementa definições de sistema nas quais os sinais com a opção SA_RESTART quebram a seleção;
- Problemas de compilação corrigidos em sistemas HP / UX e AIX.
- Problemas de compilação corrigidos para seccomp sandbox em algumas configurações do Linux.
- A definição da biblioteca libfido2 foi melhorada e os problemas de compilação foram resolvidos com a opção –with-security-key-builtin.
Como instalar o OpenSSH 8.3 no Linux?
Para aqueles que estão interessados em poder instalar esta nova versão do OpenSSH em seus sistemas, por enquanto eles podem fazer isso baixando o código-fonte deste e realizando a compilação em seus computadores.
Isso ocorre porque a nova versão ainda não foi incluída nos repositórios das principais distribuições do Linux. Para obter o código-fonte, você pode fazer a partir do seguinte link.
Feito o download, agora vamos descompactar o pacote com o seguinte comando:
tar -xvf openssh-8.3.tar.gz
Entramos no diretório criado:
cd openssh-8.3
Y podemos compilar com os seguintes comandos:
./configure --prefix=/opt --sysconfdir=/etc/ssh make make install