IPsecとIKEv2経由でVPNにアクセスしました。プロバイダーからユーザー名、共有シークレット、サーバー証明書が提供されました。証明書は自己署名されていたため、マニュアルにはインストール方法に関する特定の指示が付属しています。
マニュアルには、インポート後に証明書ファイルを削除する必要があると記載されています(他のユーザーがインポートできないようにするため)。ファイルは公開鍵なので、奇妙に思えました。そのため、サーバーの整合性を検証するためにのみ使用されます。だから、私は証明書を持たずにサーバーに接続するにはどうすればよいですか?
WindowsとmacOSのどちらでもサーバー証明書の検証を無効にするオプションが見つからなかったので、証明書をダウンロードしてインポートするのはどれほど難しいですか?
HTTPS/SSLの場合、SSLは最初にサーバーを検証し、後で暗号化するため、このようなファイルはすべての接続に対してプレーンテキストでネットワーク経由で送信されます。 IKEv2は、最初にDH-Key Exchangeを使用して暗号化されたチャネルを開き、次にサーバー証明書を検証します。証明書ファイルは送信前に暗号化されるため、Wiresharkから取得することはできません。
グーグル検索では結果が出なかったので、私の質問は次のとおりです。
1:ツールは完全である必要はありません。特定のサーバーから証明書をダウンロードするだけです。想像上のプログラマーは数年の経験がありますが、VPNに関するものは何も書いていません。
- IKEv2経由で証明書をダウンロードするのはどれくらい難しいですか?
これは、サーバーの構成とクライアント認証のタイプによって異なります。
クライアントにサーバー証明書がインストールされていて信頼している場合、サーバーは技術的に証明書を送信する必要はありません。クライアントは、サーバーのIKE IDと一致するローカル証明書を使用して、AUTH
ペイロードの署名を検証します。
サーバーが証明書を省略するように構成されていない場合、特定の認証方法は攻撃者が証明書を取得するのを防ぎます。証明書と事前共有キー認証の両方で、クライアントが最初に認証されます。サーバーは、クライアント認証が成功しなかった場合、AUTHENTICATION_FAILED
エラー通知で応答します。
EAP認証(例:EAP-MSCHAPv2を介したユーザー名/パスワード、またはEAP-TLSを介した証明書)の場合のみ、サーバーはクライアントの前に認証されます(クライアントはIKE_AUTHリクエストでAUTHまたはCERTペイロードを送信しませんが、サーバーは両方を送信しますその最初の応答で)。
- そのためのツールがすでに存在する場合、そのリファレンスを投稿できますか?
- すぐに使えるツールがない場合、プログラマーはどれくらいの期間、ツールを書く必要がありますか?
この特定の使用例のためのツールを知りません。しかし、例えばstrongSwanの charon-cmd コマンドラインIKEクライアントをログレベルを上げて使用すると、サーバー証明書をダンプできます。もう1つのオプションは、IKEキーを取得し(ログまたはsave-keysプラグインを使用)、Wiresharkを使用してIKE_AUTH応答を復号化し、証明書を抽出することですそこ。