OpenSSH 8.9 lançado com correção para uma vulnerabilidade crítica

E foi lançado o OpenSSH 8.9 com correção para uma vulnerabilidade crítica, e outras melhorias. Confira as novidades e veja com instalar no Linux.

O OpenSSH é o mais importante conjunto de utilitários de rede relacionado à segurança que provém a criptografia em sessões de comunicações em uma rede de computadores usando o protocolo SSH.

Agora, após seis meses de desenvolvimento, foi lançado o lançamento do OpenSSH 8.9.

Novidades do OpenSSH 8.9

OpenSSH 8.9 lançado com correção para uma vulnerabilidade crítica
OpenSSH 8.9 lançado com correção para uma vulnerabilidade crítica

OpenSSH 8.9 corrige uma vulnerabilidade no sshd que poderia permitir acesso sem autenticação. O problema é causado por um estouro de inteiro no código de autenticação, mas a exploração só é possível em combinação com outros erros lógicos no código.

Em sua forma atual, a vulnerabilidade não pode ser explorada quando a divisão de privilégio está habilitada, pois sua manifestação é bloqueada por verificações separadas realizadas na divisão do código de rastreamento de privilégio.

O modo de privilégio compartilhado foi ativado por padrão em 2002 a partir do OpenSSH 3.2.2 e é obrigatório desde a versão 2017 do OpenSSH 7.5.

Além disso, nas versões portáteis do OpenSSH desde a versão 6.5 (2014), a vulnerabilidade é bloqueada pela compilação com a inclusão de sinalizadores para proteção contra estouros de inteiros.

No OpenSSH 8.9, descobriremos que a versão portátil do OpenSSH remove o suporte interno do sshd para hash de senha usando o algoritmo MD5 (relinking para bibliotecas externas como libxcrypt é permitido) ssh, sshd, ssh-add e ssh-agent implementam um subsistema para restringir o encaminhamento e uso de chaves adicionadas ao ssh-agent.

O subsistema permite definir regras que determinam como e onde as chaves podem ser usadas no ssh-agent.

Por exemplo, para adicionar uma chave que só pode ser usada para autenticar quando qualquer usuário se conectar ao host scylla.example.org, o usuário perseus se conectar ao host cetus.example.org e o usuário medea se conectar ao host charybdis.example .org host, redirecionando por meio de um host intermediário scylla.example.org.

Em ssh e sshd, a lista KexAlgorithms, que determina a ordem em que os métodos de troca de chaves são selecionados, por padrão adicionou o algoritmo híbrido “[email protected]” (ECDH/x25519 + NTRU Prime), ao qual é resistente à seleção em computadores quânticos.

No OpenSSH 8.9, esse método de negociação foi adicionado entre os métodos ECDH e DH, mas está planejado para ser habilitado por padrão na próxima versão.

ssh-keygen, ssh e ssh-agent melhoraram o manuseio de chaves de token FIDO usadas para verificação de dispositivos, incluindo chaves para autenticação biométrica.

Das outras mudanças no OpenSSH 8.9, destacam-se os seguintes itens:

  • Adicionado o comando “ssh-keygen -Y match-principals” ao ssh-keygen para verificar nomes de usuário em um arquivo com uma lista de nomes permitidos.
  • ssh-add e ssh-agent fornecem a capacidade de adicionar chaves FIDO protegidas por PIN ao ssh-agent (um prompt de PIN é exibido no momento da autenticação).
  • ssh-keygen permite que você escolha o algoritmo de hash (sha512 ou sha256) durante a assinatura.
  • Para melhorar o desempenho, o ssh e o sshd lêem os dados da rede diretamente no buffer do pacote de entrada, ignorando o buffer intermediário na pilha. A colocação direta dos dados recebidos no buffer do canal é implementada de maneira semelhante.
  • Em ssh, a diretiva PubkeyAuthentication estendeu a lista de parâmetros suportados (yes|no|unbound|host-bound) para fornecer a capacidade de selecionar qual extensão de protocolo usar.

Em uma versão futura, está planejado alterar o utilitário scp padrão para usar SFTP em vez do protocolo SCP/RCP legado.

O SFTP usa métodos de manipulação de nomes mais previsíveis e não usa processamento de shell de padrões glob em nomes de arquivos do outro lado do host, o que cria problemas de segurança.

Em particular, ao usar SCP e RCP, o servidor decide quais arquivos e diretórios enviar ao cliente, e o cliente apenas verifica a correção dos nomes dos objetos retornados, o que, na ausência de verificações adequadas pelo cliente, permite que o servidor transfira outros nomes de arquivos diferentes dos solicitados.

O protocolo SFTP não tem esses problemas, mas não suporta a expansão de caminhos especiais como “~/

Para saber mais sobre essa versão do OpenSSH, acesse a nota de lançamento.

Como instalar ou atualizar o OpenSSH

Para aqueles que estão interessados ​​em poder instalar esta nova versão do OpenSSH em seus sistemas, no momento eles podem fazer isso baixando o código-fonte e fazendo 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 Linux. Mas possivelmente, em breve estará disponível.

Portanto, se você quer instalar a versão mais recente do OpenSSH nas principais distribuições Linux, faça o seguinte:

Passo 1. Abra um terminal com privilégios de administrador (root) ou abra um terminal como usuário comum e use o ‘sudo‘ antes dos comandos a seguir;
Passo 2. Baixe o código fonte do programa com esse comando;

wget https://cloudflare.cdn.openbsd.org/pub/OpenBSD/OpenSSH/openssh-8.9.tar.gz -O openssh.tar.gz

Passo 3. Quando terminar o download, descompacte o arquivo baixado, usando esse comando;

tar -xvf openssh.tar.gz

Passo 4. Acesse a pasta criada durante a descompactação;

cd openssh-*/

Passo 5. Use o comando abaixo para prepara o código fonte para ser compilado;

./configure --prefix=/opt --sysconfdir=/etc/ssh

Passo 6. Em seguida, use esse comando para compilar o código fonte;

make

Passo 7. Por fim, use o comando abaixo para instalar o programa no seu sistema.

make install

Pronto! O OpenSSH está instalado.

Se depois você precisar desinstalar, em um terminal (com privilégios de administrador ou seguido de ‘sudo‘), acesse novamente a pasta criada ao descompactar e use o comando abaixo;

make uninstall
Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.