AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 766178
Accepted
xpt
xpt
Asked: 2024-01-05 13:01:16 +0800 CST2024-01-05 13:01:16 +0800 CST 2024-01-05 13:01:16 +0800 CST

Como desativar a criptografia ChaCha20-Poly1305 para impedir o ataque ssh de tartarugas marinhas

  • 772

Como desabilitar a criptografia ChaCha20-Poly1305 do ssh no Debian?

Eu tentei (como root):

echo 'Ciphers [email protected]' > /etc/ssh/sshd_config.d/anti-terrapin-attack
echo 'Ciphers [email protected]' > /etc/ssh/ssh_config.d/anti-terrapin-attack

systemctl restart sshd

Mas o meu ssh -Q cipherainda está aparecendo [email protected].

ATUALIZAR:

Como as respostas para resolver totalmente minha pergunta estão se espalhando por diferentes respostas, deixe-me resumi-las em um só lugar.

  • Por que? qual é o problema? - confira Ataque descoberto contra SSH , e openssha versão estável do Debian está gerações atrás da correção oficial. Portanto, preciso consertar isso sozinho agora .

  • Por que o OP não está funcionando? -- dois pontos:

    • ssh -Qcipher sempre mostra todas as cifras compiladas no binário
    • todos os arquivos de configuração no /etc/ssh/sshd_config.ddiretório " " devem terminar com " .conf".
  • Como desabilitar o ataque? -- Veja a solução prática da Floresta https://unix.stackexchange.com/a/767135/374303

  • Como verificar se o ataque está desabilitado? - com base na solução prática do gogoud:

nmap --script ssh2-enum-algos -sV -p 22 localhost | grep chacha20 | wc
      0       0       0

Melhor executá-lo antes e depois de aplicar as correções do Floresta.

ssh
  • 5 5 respostas
  • 844 Views

5 respostas

  • Voted
  1. Best Answer
    bk2204
    2024-01-06T07:46:52+08:002024-01-06T07:46:52+08:00

    ssh -Q ciphersempre mostra todas as cifras compiladas no binário, independentemente de estarem habilitadas ou não. Isto também é verdade para algoritmos que são inseguros ou desativados por padrão.

    A configuração que você configurou deve ser suficiente para desabilitar o algoritmo, supondo que você esteja usando uma versão recente do OpenSSH que suporte esta sintaxe. Você pode verificar isso tentando se conectar via ssh -vvv, que imprimirá a lista de cifras do servidor para o cliente.

    Se você não possui uma versão recente do OpenSSH, essa sintaxe não é suportada e você precisa listar explicitamente as cifras desejadas. O padrão está listado em man sshd_confige, para minha versão do OpenSSH (Debian 9.6), ficaria assim (sem ChaCha):

    Ciphers aes128-ctr,aes192-ctr,aes256-ctr,[email protected],[email protected]
    

    Supondo que você tenha clientes modernos, colocar o AES-GCM em primeiro lugar na lista melhorará o desempenho (e a segurança se você não estiver usando criptografia e depois MAC), mas havia uma versão mais antiga do OpenSSH que falharia durante a rechaveamento com AES-GCM (que todas as principais distros corrigiram), e é por isso que estão no final da lista.

    Observe que se você estiver usando um sistema operacional corrigido no cliente e no servidor, não será necessário desabilitar o [email protected]. O motivo é que clientes e servidores autorizados negociarão uma conexão segura com extensões [email protected]e [email protected]que estão em versões corrigidas do OpenSSH. Não importa o que os raspadores aleatórios façam, porque eles cairão logo depois e não há necessidade de protegê-los.

    No entanto, se você não estiver usando um sistema operacional corrigido, é claro que estará vulnerável, mas também estará vulnerável a uma variedade de outras vulnerabilidades.

    • 5
  2. Floresta
    2024-01-17T23:31:16+08:002024-01-17T23:31:16+08:00

    Acho que sua solução inicial está parcialmente correta. Na minha caixa Debian 12, o /etc/ssh/sshd_config contém esta linha no topo:

    Include /etc/ssh/sshd_config.d/*.conf
    

    Portanto, todos os arquivos de configuração no diretório "/etc/ssh/sshd_config.d" devem terminar com ".conf". O mesmo para "/etc/ssh/ssh_config.d".

    Os comandos abaixo funcionam no meu sistema:

    echo 'Ciphers [email protected]' > /etc/ssh/sshd_config.d/anti-terrapin-attack.conf
    echo 'Ciphers [email protected]' > /etc/ssh/ssh_config.d/anti-terrapin-attack.conf
    
    systemctl restart sshd
    
    • 3
  3. ilkkachu
    2024-01-06T04:22:16+08:002024-01-06T04:22:16+08:00

    Eu me pergunto se ssh -Qdeveria refletir o que está configurado ? A página de manual diz isso

    Consulta ssh para os algoritmos suportados para a versão 2 especificada.

    É claro que ele também não consegue verificar a configuração do lado do servidor, já que na verdade não se conecta a lugar nenhum.

    Suponho que você poderia tentar se conectar em algum lugar ssh -ve ver qual algoritmo ele acaba usando:

    $ ssh   -v $host 'true' |& grep -ie cipher
    debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
    debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
    $ ssh  -o 'Ciphers [email protected]'  -v $host 'true' |& grep -ie cipher
    debug1: kex: server->client cipher: aes128-ctr MAC: [email protected] compression: none
    debug1: kex: client->server cipher: aes128-ctr MAC: [email protected] compression: none
    
    • 1
  4. gogoud
    2024-01-06T06:54:22+08:002024-01-06T06:54:22+08:00

    Tente isso como uma forma de verificar quais cifras estão realmente disponíveis para ssh (também podem ser executadas a partir de um host remoto):

    nmap --script ssh2-enum-algos -sV -p 22 localhost
    

    No meu caso, embora ssh -Q ciphershows [email protected], o acima não.

    • 1
  5. Jimmy
    2024-01-05T23:55:37+08:002024-01-05T23:55:37+08:00

    Adicione o seguinte ao /etc/ssh/sshd_config

    Ciphers [email protected]
    

    Observe o -no início da string de cifra chacha20.

    Em seguida, reinicie o servidor ssh para que tenha efeito.

    • -1

relate perguntas

  • Por que o utilitário ssh é considerado um pty?

  • Auto-SSH funciona manualmente, mas não em segundo plano

  • Execute o aplicativo X remotamente, execute a GUI no host remoto [fechado]

  • rsync porta 22 e 873 uso

  • Aborto repentino do SCP: tubo quebrado, código de autenticação de mensagem incorreto

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve