私の仕事では、プログラムによって一部の機密情報を送信するためにサードパーティのWebサービスを利用していることに気付き、エンドポイントがhttpsではなくhttpのみを使用していることに驚きました。さらなる調査の結果、このWebサービスでwhilelistが使用されているようです。つまり、理論的には、このサービスを実際に使用するサーバーだけがアクセスできる必要があります。
スニッフィング/ MitM攻撃に対する保護としてホワイトリストの使用で十分かどうか疑問に思っていますか?私たちはチームのセキュリティ意識の高いメンバーであるため、機密データが送信される可能性のある場所でhttpsを使用することを明らかにサポートしていますが、制御されたホワイトリストと組み合わせると、やり過ぎや不必要かどうかはわかりません。
明らかに、サーバーと同じネットワークセグメントにいる悪意のある内部関係者は、この通信を平文で観察できる可能性があります。しかし、議論のために、私はこの状況がありそうもないと仮定したいと思います。
スニッフィングの問題は「機密性」に関するもので、トラフィックが傍受されて読み取られる可能性があるため、ホワイトリストには含まれていません。
傍受されたパケットは改ざんの証拠なしに変更できるため、MitMの問題は「真正性」に関するものであり、ホワイトリストにはどちらも含まれていません。ホワイトリストはIPアドレスを使用していると思います。これは、TCP/IPパケットに任意に強制される可能性があります。
データが暗号化されていない場合、サーバーとサーバーの間のパケットを盗聴した人なら誰でもそれを見ることができます。ホワイトリストは、サーバーにデータのソースの確認のみを許可します。転送中に誰もそれを傍受していないこと、またはプロセスの途中で傍受および操作されていないことは保証されません。
つまり、データを暗号化し、ホワイトリストを適切な場所に保持し、チェックサム検証を設定して、送信されたものが受信されたものと同じであることを確認します。
セキュリティ(一般的に)について話すときは、解決しようとしている問題と、それらを解決するために使用しているツールについて考えることが重要です。これらは整合する必要があります。
解決しようとしている問題がインターネットからの一般的な攻撃である場合、ホワイトリストは便利なツールになる可能性があります。ホワイトリストを克服するには、ソースとターゲットの間のネットワークのどこかにいる必要があるか、妥協する必要があります(おそらく部分的に)ソースとターゲットの間のネットワークの一部(これは中間者攻撃である可能性がありますが、これに限定されません)。
暗号化(特定のプロトコルに依存)は、別の問題、通常はトラフィックスニッフィングを解決します。これと組み合わせると、認証として機能する可能性があります(対称暗号の共有鍵、TLSで使用される公開鍵暗号{証明書でサポートされている可能性がある})。ただし、必ずしもそうではありません-TLS経由で銀行に接続する場合、 TLSプロトコルは、それらを(証明書によって)認証する方法を私に提供しますが、同じ方法で私を認証することはできません-認証はWebフォームまたは他の方法で行われます。クライアント証明書も可能であり、私に発行することもできます。つまり、私たちは両方ともTLSを介して相互に認証するので、ログインする必要はまったくありません。または、Webサーバーが自己署名証明書を使用している場合は、認証がまったく行われない場合があります。
私は個人的にはそれ自体でホワイトリストを信頼することは決してなく、TLSと組み合わせて使用すると非常に限定的に使用されます-両側が(うまくいけば!)もう一方の側をすでに認証しており、証明された本物のユーザーの場所は非常に限られた使用。弱いパスワードはip-addressホワイトリストの恩恵を受けることができますが、実際には弱いパスワードである問題を修正する必要があります。
ホワイトリスト登録とは、技術的に、潜在的な脅威を実際にあなたをターゲットとする脅威に絞り込むことです。ホワイトリストを介して大量の一般的な脅威を拒否することにより、ホワイトリストを通過する可能性のあるはるかに小さな脅威に対して暗号化を全力で機能させることができます。