Terrapin SSH 공격을 방지하기 위해 ChaCha20-Poly1305 암호화를 비활성화하는 방법

Terrapin SSH 공격을 방지하기 위해 ChaCha20-Poly1305 암호화를 비활성화하는 방법

비활성화하는 방법차차20-폴리1305데비안에서 SSH 암호화?

나는 (루트로서) 다음을 시도했습니다.

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

하지만 내 것은 ssh -Q cipher여전히 [email protected]​​.

고쳐 쓰다:

내 문제를 완전히 해결한 답변이 여러 답변에 흩어져 있으므로 한 곳에 요약하겠습니다.

  • 왜? 왜 그렇게 소란스러운 걸까요?- 확인하다SSH에 대한 공격 발견, 데비안의 openssh안정 릴리스는 공식 수정 사항보다 몇 세대 뒤쳐져 있습니다. 그래서 내가 직접 고쳐야 해지금.

  • OP가 작동하지 않는 이유는 무엇입니까?——두 가지 점:

    • ssh -Qcipher는 항상 바이너리로 컴파일된 모든 암호를 표시합니다.
    • " " 디렉토리의 모든 구성 파일은 /etc/ssh/sshd_config.d" " 로 끝나야 합니다 .conf.
  • 공격을 비활성화하는 방법은 무엇입니까?-- 플로레스타의 실용적인 솔루션을 확인해보세요https://unix.stackexchange.com/a/767135/374303

  • 공격이 비활성화되었는지 확인하는 방법은 무엇입니까?-- gogoud를 기반으로 한 실제 솔루션:

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

플로레스타 리페어를 바르기 전, 후에 운행해 주시는 것이 가장 좋습니다.

답변1

ssh -Q cipher활성화 여부에 관계없이 바이너리로 컴파일된 모든 암호를 항상 표시합니다. 안전하지 않거나 기본적으로 비활성화된 알고리즘의 경우에도 마찬가지입니다.

이 구문을 지원하는 최신 버전의 OpenSSH를 사용한다고 가정하면 설정한 구성이 알고리즘을 비활성화하기에 충분해야 합니다. 를 통해 연결을 시도하면 이를 확인할 수 있습니다 ssh -vvv. 그러면 서버에서 클라이언트로 암호 목록이 인쇄됩니다.

최신 버전의 OpenSSH가 없는 경우 이 구문은 지원되지 않으며 필요한 암호를 명시적으로 나열해야 합니다. 기본값은 man sshd_configOpenSSH 버전(Debian 9.6)에 나열되어 있으며 다음과 같습니다(ChaCha 제외).

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

최신 클라이언트가 있다고 가정하면 AES-GCM을 목록에 먼저 추가하면 성능이 향상되지만(encrypt-then-MAC를 사용하지 않는 경우 보안도 향상됨), 이전 버전의 OpenSSH에서는 재생성 시 AES-GCM 세그폴트를 사용하는 데 문제가 있습니다. 키(모든 주요 배포판이 패치됨)가 목록 맨 아래에 있는 이유입니다.

클라이언트와 서버 모두에서 패치된 운영 체제를 사용하는 경우 이를 비활성화할 필요가 없습니다 [email protected]. 그 이유는 인증된 클라이언트와 서버가 [email protected]패치된 OpenSSH 버전과의 보안 연결 및 확장을 협상하기 때문입니다. [email protected]무작위 스크레이퍼는 빨리 떨어져서 보호할 필요가 없기 때문에 무엇을 하든 상관 없습니다.

그러나 만약 당신이아니요패치된 운영 체제를 사용하면 물론 취약하지만, 다른 다양한 취약성에도 취약합니다.

답변2

원래 솔루션이 부분적으로 정확하다고 생각합니다. 내 Debian 12 컴퓨터의 /etc/ssh/sshd_config상단에는 다음 줄이 포함되어 있습니다.

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

/etc/ssh/sshd_config.d따라서 이 디렉터리의 모든 구성 파일 은 .conf./etc/ssh/ssh_config.d

내 시스템에서는 다음 명령이 작동합니다.

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

SSH에서 실제로 작동하는 암호를 확인하려면 이 방법을 사용해 보세요(원격 호스트에서도 실행할 수 있음).

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

제 경우에는 위에는 표시되어 있지만 표시 ssh -Q cipher되지 않았습니다 [email protected].

답변4

임베디드 Linux 장치를 사용하고 있는데 약간 다르게 보입니다. 장치에서는 [email protected]바이너리로 컴파일된 것으로 보고됩니다.

# ssh -Q cipher
3des-cbc
aes128-cbc
aes192-cbc
aes256-cbc
aes128-ctr
aes192-ctr
aes256-ctr
[email protected]
[email protected]
[email protected]

나에게는 없지만 nmap내 컴퓨터에서 실행할 수 있습니다.

$ nmap --script ssh2-enum-algos -sV -p 22 192.168.1.62
Starting Nmap 7.94 ( https://nmap.org ) at 2024-02-09 18:00 NZDT
Nmap scan report for mydevice (192.168.1.62)
Host is up (0.17s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.9 (protocol 2.0)
| ssh2-enum-algos: 
|   kex_algorithms: (10)
|       curve25519-sha256
|       [email protected]
|       ecdh-sha2-nistp256
|       ecdh-sha2-nistp384
|       ecdh-sha2-nistp521
|       [email protected]
|       diffie-hellman-group-exchange-sha256
|       diffie-hellman-group16-sha512
|       diffie-hellman-group18-sha512
|       diffie-hellman-group14-sha256
|   server_host_key_algorithms: (4)
|       rsa-sha2-512
|       rsa-sha2-256
|       ecdsa-sha2-nistp256
|       ssh-ed25519
|   encryption_algorithms: (6)
|       [email protected]
|       aes128-ctr
|       aes192-ctr
|       aes256-ctr
|       [email protected]
|       [email protected]
|   mac_algorithms: (10)
|       [email protected]
|       [email protected]
|       [email protected]
|       [email protected]
|       [email protected]
|       [email protected]
|       [email protected]
|       hmac-sha2-256
|       hmac-sha2-512
|       hmac-sha1
|   compression_algorithms: (2)
|       none
|_      [email protected]

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.55 seconds

그러나 두 개의 구성 파일이 있고 /etc/ssh/sshd_config.d디렉터리는 없습니다.

# ll /etc/ssh/sshd_config*
-rw-r--r--    1 root     root        3.0K Mar  9  2018 /etc/ssh/sshd_config
-rw-r--r--    1 root     root        3.1K Feb  9 05:17 /etc/ssh/sshd_config_readonly

연결한 다음 다시 시작하는 것이 나에게 효과적이라는 것을 알았습니다.Ciphers [email protected]/etc/ssh/sshd_config_readonlysshd

echo '\nCiphers [email protected]' >> /etc/ssh/sshd_config_readonly
systemctl restart system-sshd.slice

이제 nmap위 명령은 보고하지 않습니다.[email protected]

관련 정보