web-dev-qa-db-ja.com

SSHのknown_hostsファイルを公開することにはセキュリティリスクがありますか?

来週のカンファレンスで、私が作成したいくつかのソフトウェアツールについて話している。このプレゼンテーションでは、ラップトップがプロジェクター画面に表示されます。プレゼンテーションは録画され、YouTubeに投稿されます。何らかの理由で、このプレゼンテーション中に~/.ssh/known_hostsファイルを開いて編集する機会がある場合、その間にプロジェクターを切断する必要がありますか?私のknown_hostsファイルを開示することには、セキュリティ上のリスクがありますか?

32
Matt Korostoff

Known_hostsファイルには、過去に接続したホストの信頼できる公開鍵が含まれています。これらの公開鍵は、これらのホストに接続しようとするだけで取得できます。したがって、それ自体はセキュリティリスクではありません。

But:接続したホストの履歴が含まれます。この情報は、潜在的な攻撃者が組織のインフラストラクチャなどに使用する可能性があります。また、潜在的な攻撃者に、おそらく特定のホストへのアクセス権があり、ラップトップを盗むことでそれらのホストにもアクセスできることを知らせます。

編集:known_hostsファイルが表示されないようにするには、ssh-keygenユーティリティを使用することをお勧めします。たとえば、ssh-keygen -R ssh1.example.orgは、既知のホストからssh1.example.orgの信頼できるキーを削除します。

43
Richard

これについて特に危険なことは何もありません。ただし、この識別情報を開示したくない場合があります。時々、ホストの存在は、傾向のある人にとって良い攻撃線を明らかにします。 HashKnownHostsを使用するか、ファイルを表示せずに編集できます。


ブラインド編集:
sed -i 25d .ssh/known_hostsは、画面に何も表示せずに25行目を削除します。

HashKnownHosts
〜/ .ssh/known_hostsに追加されたホスト名とアドレスをssh(1)がハッシュする必要があることを示します。これらのハッシュされた名前はssh(1)とsshd(8)によって通常使用されますが、ファイルの内容が開示された場合に識別情報を明らかにすることはありません。デフォルトは「いいえ」です。既知のホストファイル内の既存の名前とアドレスは自動的には変換されませんが、ssh-keygen(1)を使用して手動でハッシュできることに注意してください。

15
84104