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 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 “sntrup761x25519-sha512@openssh.com” (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