비활성화하는 방법차차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 -Q
cipher는 항상 바이너리로 컴파일된 모든 암호를 표시합니다.- " " 디렉토리의 모든 구성 파일은
/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_config
OpenSSH 버전(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_readonly
sshd
echo '\nCiphers [email protected]' >> /etc/ssh/sshd_config_readonly
systemctl restart system-sshd.slice
이제 nmap
위 명령은 보고하지 않습니다.[email protected]