アンドロイド 6.0 + 上の GlobalProtect アプリは、IP アドレスを使用して VPN 接続を確立することはできません
40586
Created On 09/26/18 13:47 PM - Last Modified 06/07/23 19:40 PM
Symptom
兆候
Android 6.0 以降で実行されている GlobalProtect アプリは、次の場合に VPN 接続を確立できません。
- GlobalProtect ポータル/ゲートウェイのルート CA 証明書は、 Android デバイスの信頼できる資格情報にあります。
- また、GlobalProtect ポータル/ゲートウェイ証明書の共通名 (CN) はIP アドレスです。
この場合、次のエラーメッセージが表示されます: GlobalProtect ポータルに接続できません。

GlobalProtect アプリからのログには、次のエラーが表示されます。
(6227) 01/05 17:55:33:120201-javax. SSLPeerUnverifiedException: ホスト名192.168.206.1 が確認されていません:
証明書: sha1/5BHzss0x9EpOd9YtEPZcwtCNaOQ =
DN: CN = 192.168.206.1、ST = 東京、C = JP
subjectAltNames: [192.168.206.1]
(6227) 01/05 17:55:33:120352-例外 GetHttpResponse、応答コードは 0
(6227) 01/05 17:55:33:120521-サーバーからの応答です:
null、例外メッセージ: ホスト名192.168.206.1 が確認されていない:
証明書: sha1/5BHzss0x9EpOd9YtEPZcwtCNaOQ =
DN: CN = 192.168.206.1, ST = 東京, C = JP
subjectAltNames: [192.168.206.1]
eType:javax. SSLPeerUnverifiedException: ホスト名192.168.206.1 確認されていません:
証明書: sha1/5BHzss0x9EpOd9YtEPZcwtCNaOQ =
DN: CN = 192.168.206.1、ST = 東京、C = JP
subjectAltNames: [192.168.206.1]
(6227) 01/05 17:55:33:120557-(l5) JNI、6243、508、処理されていない、ret = エラー、javax: ホスト名192.168.206.1 が検証されていません:
証明書: sha1/5BHzss0x9EpOd9YtEPZcwtCNaOQ =
DN: CN = 192.168.206.1、ST = 東京、C = JP
subjectAltNames: [192.168.206.1]、今すぐ NULL を返す
診断
これは、Android 6.0 + の新しい動作によるものです。
Android の6.0 から始まって、CN が証明書の ip アドレスである場合、ip アドレスは subAltName としてサブジェクトの別名 (SAN) にもする必要があります。ip アドレスが subAltName から欠落している場合、認証の検証は失敗します。
古いバージョンの Android では、CN が一致する限り、認証の検証は合格します。
Resolution
ip アドレス subAltName フィールドを持つ GlobalProtect ポータル/ゲートウェイの証明書を生成し、既存の証明書を置き換えます。
次のスクリーンショットは、パロアルト Netrwork 次世代ファイアウォールで、ip アドレスのサブジェクト代替名を設定する方法を示しています。
証明書を生成するには、"ip" 型を追加し、[証明書属性] フィールドの値として ip アドレスを入力します。
生成された証明書は、[サブジェクトの別名] フィールドに IP アドレスの値を表示します。

この証明書をGlobalProtect ポータル/ゲートウェイ証明書に設定します。 その後、VPN 接続を確立することができます。
GlobalProtect サーバー証明書の展開については、次のガイドを参照してください。
GlobalProtect コンポーネントにサーバー証明書を展開する
もう1つの利用可能な回避策は、Android 携帯電話から CA 証明書を削除することです (一般的に"設定 > セキュリティ > 信頼できる資格情報")。
この場合、GlobalProtect アプリは「Untrsuted 証明書」の警告メッセージを1回 (下図のように) 表示し、接続が確立されます。

これは、ユーザーが手動で宛先ポータル/ゲートウェイの妥当性を確認する必要があるため、一般的にはお勧めできません。