一部の企業は、nagiosやicingaなどの監視ソフトウェアを使用しています。サーバーでチェックを実行するために、多くの場合、パスワードなしのSSHログインが必要です。
チェックされるサーバーは、nagiosサーバーの公開鍵をファイル/root/.ssh/authorized_keys
に入れます
企業ネットワークにnagiosサーバーが表示された場合、このサーバーの公開キーを取得して、自分のものに置き換え、パスワードなしでサーバーにログインすることはできませんか?
.ssh/authorized_keys
の値はpublic keysです-これらは数学オブジェクトであり、それぞれがanotherにリンクされています秘密鍵と呼ばれる数学的オブジェクト。 nagiosサーバーが監視対象サーバーの1つに接続するとき、そのprivateキーを使用します:nagiosサーバーは、数学的演算(a デジタル署名 )、対応する公開鍵を使用してターゲットサーバーが検証します。
構築の魔法は、公開鍵を公開できることです。秘密鍵と公開鍵は共通の構造を共有しますが、その構造は「非表示」であり、公開鍵だけから再構築することはできません(ここで、「できない」とは「あなたがワイオミング州全体よりも大きく、チャックノリスによってプログラムされたコンピューターが必要です」)。
したがって、ターゲットサーバーにログインするために、publicキーを取得する必要はありませんが、privateキー-およびnagiosサーバーの内臓から離れることはありません。
(一方、nagiosサーバーへの読み取りアクセス権を取得できる場合、たとえばバックアップテープを見ることができる場合、秘密鍵を取得してすべてのサーバーにアクセスできます。攻撃者のNirvāṇa。それは深刻なセキュリティ問題になる可能性があります:バックアップを保護してください!)
私が正しいかどうかはわかりませんが、SSH証明書認証は、信頼できる証明書でSSHDを構成する必要がある方法で機能するため、サーバーによって信頼されているものとして証明書を追加するには、アクセスできる必要があります。そもそもそれ。
問題のサーバーに(物理的またはリモートで)何らかの方法でアクセスするとします。 /root/.ssh/authorized_keys/
にnagios.pubファイルが含まれている可能性がありますが、nagios.pubファイルをattacker.pubに置き換えるとどうなりますか?答えは、攻撃者の秘密鍵を使用してそのサーバーにログインできるようになることです(正当なユーザーによるシステムへのアクセスも拒否します)。
次に問題は、何を獲得したかです。そもそもシステムにアクセスできたので、実際には何もありません。多分あなたはリモートアクセスを得たかもしれませんが、あなたが物理的なアクセスを持ったらそれを行うための百万の方法があります。たぶんあなたは永続的なアクセスを得たかもしれませんが、これを行うには追跡が困難な他の方法がたくさんあります(例:ルートキット)。
ログインするには公開鍵と秘密鍵の両方が必要であり、サーバーは公開鍵だけで秘密鍵を持っていることを確認できるため、安全です。したがって、サーバーが正しく設定されている場合は、サーバーから公開鍵しか取得できませんが、秘密鍵はまだありません。また、設計上、公開鍵のみから秘密鍵を計算することはできません。