openssh 서버를 설치했습니다. 이 작업을 수행할 때 표시되는 배너를 비활성화하고 싶습니다.:
nc 0.0.0.0 22
다음과 같이 표시됩니다: :: SSH-2.0-OpenSSH_6.7p1 Raspbian-5
.
다른 것을 표시하거나 전혀 표시하지 않게 하려면 어떻게 해야 합니까?
답변1
이 배너
SSH-2.0-OpenSSH_6.7p1 Raspbian-5
섹션에 설명된 대로 SSH 프로토콜의 일부입니다.
4.2.프로토콜 버전 교환
~의RFC 4253:
연결이 설정되면 양 당사자는 식별 문자열을 보내야 합니다. 식별 문자열은 다음과 같아야 합니다.
SSH-protoversion-softwareversion SP comments CR LF
SSH-2.0
이 부분 에서 벗어날 수는 없습니다 . 이 softwareversion
섹션은 일반적으로 상호 운용성을 위해 사용되므로 제거하는 것도 좋은 생각이 아닙니다. 이는 comments
선택 사항이며 반드시 존재할 필요는 없습니다(그러나 데비안에서는 기본적으로 이를 포함합니다).
DebianBanner
의 옵션을 사용하여 주석을 삭제할 수 있습니다 sshd_config
. 로 설정 no
하고 ssh
서버를 다시 시작하면 더 이상 표시되지 않습니다.
답변2
DebianBanner는 모든 배포판에서 작동하지 않습니다(분명히)
모든 배포판에 적용되는 방법은 Perl로 바이너리 교체를 수행하는 것입니다. 예를 들면 다음과 같습니다.
perl -pi -e 's/OpenSSH_7.4/DragonGuru9/g' /sbin/sshd
systemctl restart sshd
이는 라이브 서버에서도 수행할 수 있으며 프로세스를 중지해서는 안 됩니다.
이진 문자 대체를 수행할 때 "OpenSSH_7.4"를 정확한 문자 수(이 예에서는 11)로 바꾸도록 주의하십시오. 다른 문자 수로 바꾸면 바이너리가 깨집니다.
Nmap 스캔은 다음과 같습니다.