クライアントの受信 IP アドレスがクライアントのドメイン名 DNS IP アドレスと一致していることを確認するにはどうすればよいですか?

クライアントの受信 IP アドレスがクライアントのドメイン名 DNS IP アドレスと一致していることを確認するにはどうすればよいですか?

通常、サーバー側はクライアント証明書の共通名 (CN) がクライアントのドメイン名 (DN) と一致するかどうかを検証します。

しかし、セキュリティ チェックを拡張する必要があります。クライアントの受信 IP アドレスがクライアントのドメイン名の DNS IP アドレスと一致することを確認する必要があります。

例えば:-

  • クライアント サーバー証明書の CN とドメイン名は「test.123.net」です。また、「test.123.net」の DNS (A) レコードの IP アドレスは 1.1.1.1 です。
  • 接続はhttpsです。
  • このクライアントがサーバーにリクエストを送信する場合、まず、クライアント IP アドレスが DNS IP アドレスと一致することを確認する必要があります。この場合、クライアントの受信 IP アドレスには IP アドレス = 1.1.1.1 を使用する必要があります。
  • 次に、証明書の CN がドメイン名と一致することを確認します。この場合、「test.123.net」がクライアントの受信ドメイン名と一致します。

OpenSSL または Apache を使用して CN と DN の検証を行えることはわかっていますが、クライアント IP アドレスが DN DNS IP アドレスと一致することを確認する方法が見つかりませんでした。

市場にはこれを実行できるツールがあるのでしょうか? または、どの Web サーバーでも実行できるのでしょうか? 長い間 Google で検索してみましたが、何も見つかりませんでした。

ありがとう、

答え1

別のアプローチの方がおそらく効果的でしょう。

まず、IP アドレス空間を所有している組織はほとんどなく、そのような組織にとって、正しい逆 DNS を設定するには、ISP に連絡してそのサービスを依頼するなど、面倒な作業が必要です。これは多くの場合、手動のプロセスです。つまり、「一般的な」ケースでは、ISP レベルよりも細かい粒度で、特定の IP アドレスを現在使用している組織がまったくわかりません。

つまり、明示的にクライアント証明書の検索を行う場合は、クライアントに自己署名証明書を作成し、クライアントの観点から有効であると識別する対応する CA チェーンを渡すように依頼するか、独自に検証できる有名な CA から証明書を購入するように依頼することになります。このような場合、IP アドレスの検証は必要ありません。正しい秘密鍵を所有していない盗聴者は、正当なクライアントの公開鍵で暗号化された混乱した情報のみを受信するからです。

セキュリティをさらに強化したい場合は、VPN トンネルを計画してください。別の方法としては (必ずしも標的型攻撃に対して効果的というわけではありませんが)、システムへのアクセスを明示的な IP アドレスに制限する方法があります。

関連情報