悪意のある従業員が会社のサーバーにログインし、SSL接続を保護するために使用される秘密鍵を盗むことは可能ですか?ファイルをコピーするのと同じくらい簡単ですか?
(私は、証明書が盗まれた後に何が起こるかが焦点であったといういくつかの質問を読みました。ここで、私は内部者が秘密鍵を取得することがいかに簡単か知りたいです。)
ありがとう。
悪意のある従業員が会社のサーバーにログインし、SSL接続を保護するために使用される秘密鍵を盗むことは可能ですか?
はい、難しい場合、またはそれが不可能な場合を除きます。
ファイルをコピーするのと同じくらい簡単ですか?
これがグラデーションの出番です。セキュリティレベルにはさまざまな種類があり、その一部を簡単なものから難しいものまでここで説明します。
最も簡単なケースでは、はい、秘密キーはシンプルテキスト(PEM)ファイルであり、適切なファイル保護もされていない可能性があります*
または、キーファイルが制限付きの権限で保存されている可能性があります。従業員は、サーバー上にいるだけでなく、キーをコピーするための適切な(管理者またはアプリケーション)特権を持っている必要があります。
鍵ファイルはパスワードで保護されている可能性がありますが、自動化されています。これは通常、キーファイルに加えて、従業員はパスワードが格納されている構成ファイルを見つけて盗む必要があることを意味します。 (「Java keystore changeit」も参照してください...)
鍵ファイルはパスワードで保護されている可能性があり、鍵は実行時に人間のオペレーターによって入力されます。この場合、パスワードはシステムから単純に盗むことはできません。もちろん、あなたの従業員はオペレーターかもしれません...また、実際には、再起動時に人間の介入を必要とするために実行されるサーバーはほとんどありません。
正しく思い出せば、IISは、ユーザーがエクスポートできないキーストアにキーをインポートできましたが、サービスが使用できるようになりました。通常、このようなことは十分な権限で回避できます。
最後に、ハードウェアセキュリティモジュール(HSM)を使用する場合、オペレーティングシステム自体からでもキーを保護し、キーをコンピューターのハードウェアやソフトウェアに公開せずに暗号操作で使用できるように設計されています。この場合、従業員はおそらく鍵を盗むことは不可能だとわかります。
ここでは、内部者が秘密鍵を取得するのがいかに簡単か知りたい。
それはサイトに依存しますが、一般的に、私の経験では、ほとんどのサイトでは、ファイルを保護するためのファイルのアクセス許可のみでキーを保存しています。一般的な意味は「まあ、誰かがサーバーに侵入した場合、すでにすべてを取得しているので、回復したときにとにかく新しいキーを発行する必要があります。」もちろん、これは無視します
エフェメラルTLS暗号への移行により、2番目のギャップが徐々に閉じられ、秘密鍵の有用性ははるかに低くなります(スヌーピングは偽装よりも価値が高いことが多く、偽装は他の(おそらく単純な)方法で実現できます)。
*皆さん、キーが誰でも読み取り可能なままにされた、安全性が不十分な12個のApache構成を見たことがないふりをしないでください。
それはそうかもしれないし、そうでないかもしれない。キーは次の場所に保存できます。
また、次の形式のセーフガードが存在します。
会社に不正な従業員がいる場合、問題があります。従業員には権利のみが必要です。本当に必要です。また、サーバーを構成する権限が必要な場合は、おそらく秘密鍵ファイルを読み取る権限を持っています。したがって、従業員が不正に行くことを決定した場合、あなたは問題を抱えています。このミッションクリティカルな場合は、2人ルールを実装する必要があります。
HSMを使用している場合は、HSMのキーペアの生成と秘密キーのバックアップを許可されている従業員がいます。そして、この従業員が悪党になっている場合は、privキーのバックアップをフェッチして、バックアップを復元するためのあらゆる手段を使用できる場合もあります(使用するHSMによって異なります)。
繰り返しますが、これは適切なプロセスと2人のルールを実装する場所です。