Publicidade

segunda-feira, 19 de dezembro de 2016

OpenSSH 7.4 remove o suporte do servidor para o protocolo SSH-1, adiciona novos recursos.



O Suporte para compressão de pré-autenticação também removido.

 OpenSSH 7.4 foi lançado hoje, 19 de dezembro de 2016, como o mais recente e mais avançado lançamento estável da implementação de código aberto 100% completo SSH protocolo 2.0 implementado em Linux, BSD e outros Unix-como plataformas.

OpenSSH 7.4 está aqui quatro meses e meio após o lançamento do OpenSSH 7.3, e promete ser basicamente uma versão de correção de bugs que soluciona muitos dos problemas de segurança descobertos desde o OpenSSH 7.3. Mas primeiro, parece que esta versão inclui várias mudanças no sub-capot que podem afetar as configurações existentes.
 
Por exemplo, ele remove o suporte para o protocolo SSH versão 1 como SSH2 é uma versão mais segura, eficiente e portátil do SSH (Secure Shell), que oferece SSTP SFTP funcionalidade criptografada. Ele também remove o 3des-cbc da proposta padrão do cliente, bem como o suporte para a compactação pré-autenticação.
 
"Fazer compressão no início do protocolo provavelmente parecia razoável na década de 1990, mas hoje é claramente uma má idéia em termos tanto de criptografia (ver múltiplos ataques de compressão oracle em TLS) e superfície de ataque. para> 10 anos. Apoio permanece no cliente ", explicaram os devs nas notas de lançamento .

 Veja o que há de novo no OpenSSH 7.4
 

Novos recursos proeminentes do OpenSSH 7.4 incluem a adição de um modo de multiplexação de proxy ao comando ssh, que é inspirado na versão usada no aplicativo PuTTY e uma opção de DisableForwaring sshd_config que pode ser usada para desabilitar TCP, X11, túnel, agente E encaminhamento de soquetes de domínio Unix.
 
Além disso, o OpenSSH 7.4 adiciona suporte para o método de troca de chaves "curve25519-sha256" aos comandos sshd e ssh, melhora o manuseio do SIGHUP, permite que as diretivas ClientAliveCountMax e ClientAliveInterval estejam presentes em sshd_config Match blocks e adicione% -escapes ao AuthorizedPrincipalsCommand.
 
Além disso, o OpenSSH 7.4 vem com testes de regressão para seqüenciamento de strings, funções de sanitização de strings, assim como a correspondência de endereços, melhora o arnês do fuzzer de troca de chaves e endereça muitos bugs reportados pelos usuários desde o OpenSSH 7.3. O changelog completo que atribui a seguir, e você pode baixar o OpenSSH 7.4 agora.



Changelog

Alterações potencialmente incompatíveis:
Esta versão inclui várias alterações que podem afetar as configurações existentes:
 
* Esta versão remove o suporte do servidor para o protocolo SSH v.1.
 
* Ssh (1): Remova 3des-cbc da proposta padrão do cliente. Cifras de bloco de 64 bits não são seguras em 2016 e não queremos esperar até que ataques como SWEET32 sejam estendidos para SSH. Como 3des-cbc era a única codificação obrigatória nos SSH RFCs, isso pode causar problemas de conexão a dispositivos mais antigos usando a configuração padrão, mas é altamente provável que esses dispositivos já precisam de configuração explícita para chave de troca e algoritmos hostkey já de qualquer maneira. * Sshd (8): Remover suporte para compressão de pré-autenticação. Fazer compressão no início do protocolo provavelmente parecia razoável na década de 1990, mas hoje é claramente uma má idéia em termos tanto de criptografia (ver vários ataques de oracle de compressão em TLS) e superfície de ataque. O suporte de compactação pré-autenticação foi desabilitado por padrão há mais de 10 anos. O suporte permanece no cliente. * Ssh-agent se recusará a carregar módulos PKCS # 11 fora de uma lista de permissões de caminhos confiáveis ​​por padrão. A lista de permissões de caminho pode ser especificada em tempo de execução.
 
* Sshd (8): Quando um comando forçado aparece em um certificado e um comando 


 Alterações desde o OpenSSH 7.3:
Segurança:
 
* Ssh-agent (1): Agora se recusará a carregar módulos PKCS # 11 a partir de caminhos fora de uma lista confiável (tempo de execução configurável). As solicitações para carregar módulos podem ser passadas por meio de encaminhamento de agentes e um invasor pode tentar carregar um módulo PKCS # 11 hostil através do canal de agente encaminhado: Os módulos PKCS # 11 são bibliotecas compartilhadas, o que resultaria em execução de código no sistema que executa o ssh -agent se o invasor tiver o controle do agente-soquete encaminhado (no host que está executando o servidor sshd) e a capacidade de gravar no sistema de arquivos do host que está executando o ssh-agent (geralmente o host que está executando o cliente ssh). Relatado por Jann Horn do Projeto Zero.
 
* Sshd (8): Quando a separação de privilégios é desativada, os soquetes de domínio Unix encaminhados serão criados pelo sshd (8) com os privilégios de 'root' em vez do usuário autenticado. Esta versão recusa o encaminhamento de soquetes do domínio Unix quando a separação de privilégios é desabilitada (a separação de Privilégios foi ativada por padrão por 14 anos). Relatado por Jann Horn do Projeto Zero.
 
* Sshd (8): Evite o vazamento teórico do material da chave particular do host para processos filho separados por privilégios via realloc () ao ler chaves. Nenhum vazamento desse tipo foi observado na prática para chaves de tamanho normal, nem um vazamento para os processos filho expõe diretamente material-chave para usuários desprivilegiados. Relatado por Jann Horn do Projeto Zero.
  
* Sshd (8): O gerenciador de memória compartilhada usado pelo suporte de compactação de pré-autenticação tinha umas verificações de limites que poderiam ser eliminadas por alguns compiladores de otimização. Além disso, esse gerenciador de memória estava incorretamente acessível quando a compactação de pré-autenticação foi desativada. Isso poderia potencialmente permitir ataques contra o processo de monitoramento privilegiado do processo de separação de privilégios em sandbox (um compromisso do último seria necessário primeiro). Esta versão remove o suporte para compressão de pré-autenticação do sshd (8). Relatado por Guido Vranken usando a ferramenta de identificação de otimização instável Stack (http://css.csail.mit.edu/stack/)
 
* Sshd (8): Corrigir a condição de negação de serviço quando um atacante que envia várias mensagens KEXINIT pode consumir até 128MB por conexão. Relatado por Shi Lei da equipe da engrenagem, Qihoo 360.
 
* Sshd (8): Valide os intervalos de endereços para as diretivas AllowUser e DenyUsers no tempo de carregamento da configuração e se recusa a aceitar as inválidas. Anteriormente, era possível especificar intervalos de endereços CIDR inválidos (por exemplo, user@127.1.2.3/55) e estes sempre corresponderiam, possivelmente resultando em conceder acesso onde não era pretendido. Relatado por Laurence Parry.


 Novas características:
 
 
* Ssh (1): Adicionar um modo de multiplexação de proxy para ssh (1) inspirado na versão em PuTTY por Simon Tatham. Isso permite que um cliente de multiplexação se comunique com o processo mestre usando um subconjunto do pacote SSH e protocolo de canais em um soquete de domínio Unix, com o processo principal atuando como um proxy que traduz IDs de canal, etc. Isso permite que o modo de multiplexação seja executado em Sistemas que faltam a passagem de descritor de arquivo (usado pelo atual código de multiplexação) e potencialmente, em conjunto com o encaminhamento de soquetes de domínio Unix, com o cliente e processo mestre de multiplexação em máquinas diferentes. O modo de proxy de multiplexação pode ser invocado usando "ssh -O proxy ..."
 
* Sshd (8): Adicione uma opção sshd_config DisableForwarding que desabilita o encaminhamento de soquetes de domínio X11, agente, TCP, túnel e Unix, assim como qualquer outra coisa que possamos implementar no futuro. Tal como o 'restringir' author_keys flag, este pretende ser uma maneira simples e à prova de futuro de restringir uma conta.
 
* Sshd (8), ssh (1): Suporta o método de troca de chaves "curve25519-sha256". Isso é idêntico ao método atualmente suportado chamado "curve25519-sha256@libssh.org".
 
* Sshd (8): Melhorar o manuseio do SIGHUP verificando se o sshd já foi daemonizado na inicialização e ignorando a chamada para o daemon (3) se for. Isso garante que uma reinicialização SIGHUP do sshd (8) reterá o mesmo ID do processo que a execução inicial. O sshd (8) também desassociará o PidFile antes do reinício do SIGHUP e o recriará após uma reinicialização bem-sucedida, em vez de deixar um arquivo viciado no caso de um erro de configuração. Bz # 2641
 
* Sshd (8): Permitir que as diretivas ClientAliveInterval e ClientAliveCountMax apareçam no sshd_config Combinar blocos.
 
* Sshd (8): Adicione% -escapes a AuthorizedPrincipalsCommand para coincidir com aqueles suportados por AuthorizedKeysCommand (chave, tipo de chave, impressão digital, etc.) e mais alguns para fornecer acesso ao conteúdo do certificado oferecido.
 
* Adicionado testes de regressão para correspondência de seqüência, correspondência de correspondência e funções de sanitização string.
 
* Melhorou a troca de chaves fuzzer harnes


 Correções de bugs:
 
 
* Ssh (1): Permitir que o IdentityFile carregue e use com êxito certificados que não possuem nenhuma chave pública nua correspondente. Bz # 2617 certificate id_rsa-cert.pub (e não id_rsa.pub).
 
* Ssh (1): Corrigir a autenticação de chave pública quando a autenticação múltipla está em uso e publickey não é apenas o primeiro método tentado. Bz # 2642
 
* Regress: Permitir que os testes de interoperabilidade PuTTY sejam executados sem supervisão. Bz # 2639
  
* Ssh-agent (1), ssh (1): melhora o relatório ao tentar carregar chaves de tokens PKCS # 11 com menos mensagens de log inúteis e mais detalhes em mensagens de depuração. Bz # 2610
 
* Ssh (1): Quando derrubar conexões ControlMaster, não poluir stderr quando LogLevel = silencioso.
 
* Sftp (1): Em ^ Z aguarde que o ssh subjacente (1) seja suspenso antes de suspender sftp (1) para garantir que ssh (1) restaure o modo terminal corretamente se for suspenso durante um prompt de senha.
 
* Ssh (1): Evitar ocupado-espera quando ssh (1) é suspenso durante um prompt de senha.
 
* Ssh (1), sshd (8): Reportar erros corretamente durante o envio de mensagens de ext-info.
 
* Sshd (8): corrige NULL-deref falha se sshd (8) recebeu uma mensagem NEWKEYS fora-de-seqüência.
 
* Sshd (8): Lista correta de algoritmos de assinatura suportados enviados na extensão server-sig-algs. Bz # 2547
 
* Sshd (8): Correção de envio de mensagem ext_info se privsep estiver desabilitado.
 
* Sshd (8): aplica mais estritamente as chamadas esperadas de monitoramento de separação de privilégios usadas para autenticação e permite-as somente quando seus respectivos métodos de autenticação são habilitados na configuração
 
* Sshd (8): Corrigir optlen não inicializado em chamada getsockopt (); Inofensivo em Unix / BSD mas potencialmente acidentado em Cygwin.
 
* Corrigir falsos relatórios positivos causados ​​por explicit_bzero (3) não sendo reconhecido como um inicializador de memória quando compilado com -fsanitize-memory. * Sshd_config (5): Use 2001: db8 :: / 32, a sub-rede IPv6 oficial para exemplos de configuração.
Portabilidade:

 
 
* Em ambientes configurados com locais turcos, recorra à localidade C / POSIX para evitar erros na análise de configuração causada pela manipulação exclusiva da localidade das letras 'i' e 'I'. Bz # 2643
 
* Sftp-server (8), ssh-agent (1): Negar o ptrace no OS X usando ptrace (PT_DENY_ATTACH, ..)
 
* Ssh (1), sshd (8): Unbreak AES-CTR cifra em velho (~ 0.9.8) OpenSSL.
 
* Fix compilação para libcrypto compilado sem RIPEMD160 apoio.
 
* Contrib: Adicione um gnome-ssh-askpass3 com suporte a GTK + 3. Bz # 2640 * sshd (8): Melhore o re-seed de PRNG através da separação de privilégios e force libcrypto para obter uma semente de alta qualidade antes de chroot ou sandboxing.
 
* Todos: Explicitamente teste para strnvis quebrado. O NetBSD adicionou um strnvis e, infelizmente, tornou-o incompatível com o existente no OpenBSD e o Linux libbsd (o antigo já existia há mais de dez anos). Tente detectar esta bagunça, e assumir a única opção segura se estamos compilação cruzada.



Até a próxima!!