SSHD識別文字列の削除

SSHD識別文字列の削除

SSHポートでnmapスキャンを実行すると、次の結果が表示されます。

22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)

SSH識別文字列を変更または非表示にできますか?

ベストアンサー1

この識別文字列は、SSHサービス自体から返すことができます。この試み:

echo "blah" | nc YOUR.SERVER.ADDRESS 22

これにより、次のような応答が得られます。

SSH-2.0-OpenSSH_8.6
Invalid SSH identification string.

残念ながら、これはバイナリに含まれる文字列ですsshd。いくつかのオプションがあります。

  • ディストリビューションからバージョン バナーを削除するために sshd パッケージの特定のコンパイル フラグが許可されていることを確認します。
  • Debianなどの一部のディストリビューションでは、ファイルDebianBanner noで次のオプションを試すことができます。/etc/ssh/sshd_configこれはディストリビューションによって異なります。
  • Hatchのソリューションです。返された文字列と一致する文字列を見つけるには、バイナリstringsに使用します。sshd次に、現在のバイナリのバックアップを準備しますhexedit。注意して、バックアップ計画があることを確認してください。

この識別文字列はプロトコルの一部なので、あまり操作しないでください。nc文字列が正しい形式ではないため、変更された文字列を表示するにもかかわらず、クライアントは接続を拒否する可能性があります。http://www.openssh.com/txt/rfc4253.txt

おすすめ記事