
한 가지 제안된 완화 전략은 다음과 같습니다.로그잼SSH에 대한 관련 공격은 다음과 같은 것을 사용하여 사용자 정의 SSH Diffie-Hellman 그룹을 생성하는 것입니다(아래는 OpenSSH에 대한 것임).
ssh-keygen -G moduli-2048.candidates -b 2048
ssh-keygen -T moduli-2048 -f moduli-2048.candidates
그런 다음 시스템 전체의 모듈리 파일을 출력 파일로 바꿉니다 moduli-2048
. ( ssh-keygen -G
후보 DH-GEX 소수를 생성하고 ssh-keygen -T
생성된 후보의 안전성을 테스트하는 데 사용됩니다.)
이는 사전 계산에 적합한 잘 알려진 그룹을 사용하는 SSH 서버에서 수행되는 매우 합리적인 작업이지만,클라이언트 전용 시스템에 사용자 정의 SSH DH 그룹을 배포하면 보안상의 이점이 있습니까?(즉, SSH 서버에 연결하지만 SSH 서버 자체로 작동하지 않는 시스템입니다.)
나는 주로 Linux의 OpenSSH와 관련된 답변에 관심이 있지만 보다 일반적인 답변도 감사하겠습니다.
답변1
정말로 원한다면 그렇게 할 수 있지만 OpenSSH에 대한 2048비트 DH 매개변수를 다시 생성하는 데는 신경쓰지 않을 것입니다. 당신이해야 할 중요한 일이 훨씬 더 많습니다약한 암호화를 비활성화하는 등 SSH 보안을 위해 수행해야 할 작업.
내가 무엇을~일 것이다2048비트 미만의 기존 항목을 삭제하면 됩니다.
awk '$5 >= 2000' /etc/ssh/moduli > /etc/ssh/moduli.strong && \
mv /etc/ssh/moduli.strong /etc/ssh/moduli
눈치 채지 못했을 경우를 대비해 OpenSSH에는 최대 8192비트까지 사전 생성된 모듈이 많이 포함되어 있습니다. 오늘날 우리는 확실히 1024비트 소수에 대해 우려하고 있지만 가까운 미래에는 2048비트 소수가 안전하다고 믿어집니다. 그리고 그것은 결국 바뀔 것이지만, 다음 주가 될 수도 있지만, 우리가 연금 수령자가 된 후에도 오랜 시간이 걸릴 가능성이 더 높습니다...
매뉴얼 페이지 에는 다음과 같은 흥미로운 부분도 있습니다 ssh-keygen
.
이 파일에는 다양한 비트 길이의 계수가 포함되어 있고 연결의 양쪽 끝이 공통 계수를 공유하는 것이 중요합니다.
이는 기존 모듈을 교체하는 것에 반대하는 것처럼 보이지만 실제로 그렇게 하는 실제 이유를 제공하지는 않습니다.
답변2
대답은 다음과 같습니다. 아니요. 혜택이 없습니다. :)
/etc/ssh/moduli
파일은 서버 측에만 사용됩니다.
SSH 클라이언트 측에서는 해당 파일에 대해 걱정할 필요가 없습니다.
SSH 클라이언트의 실행을 추적하여 해당 파일이 열리지 않는지 확인할 수 있습니다.
$ strace -e openat ssh user@localhost