皆さん、こんにちは。
ネットワールドSE 西日本技術部の廣澤です。
先日、Fortinetから全機種でのSSL-VPNの廃止が発表されました。
これを受けて、「SSL-VPN」から「IPSec-VPN」への移行をご検討中の方も多いかと思います。
そんな中で以下のようなお悩みはありませんか。
- 「SSL-VPN時代は証明書を使って多要素認証をしていたから、IPSec-VPNも同じ認証で実装したい」
- 「VPN方式の切替に併せて多要素認証を実装してみたい」
本記事では、IPSec-VPN への移行を検討中の皆様に向けて、
証明書ベースの多要素認証に関するTipsをご紹介いたします。
IKEv2で証明書認証が通らない?
以下はFortiClientVPNでIKEv2のIPSec-VPNを設定した画面、
および接続時に使用されるクライアント証明書の情報です。
そして、以下はFortiGateに設定された「PKIユーザー(証明書認証の為のユーザー)」と証明書の情報です。
このFortiClientVPNとFortiGateの構成では、
使用しているクライアント証明書の「発行者(認証局)」が一致していないため、通常であれば認証に失敗するはずです。
しかし、実際に内部宛てにPingを送信しながら接続を試みたところ、接続に成功してしまいました。
「eap-cert-auth」に注目
では、なぜ接続に成功してしまったのでしょうか?
その要因は、FortiGateのIPSec-VPN設定においてIKEv2特有の設定項目である「eap-cert-auth」にあります。
そして、この設定は手動による追加設定が必須になっています。
以下は今回の検証で使用したIPSecフェーズ1の設定例です。
赤枠のコマンドがIKEv2で「ID/パスワード認証+クライアント証明書認証」を
実現するために必要な設定になります。
ポイント:
- 「TEST_Group」ユーザグループを参照して『ID/パスワード認証』
- 「IPSEC_PKI」ユーザに設定された発行者(認証局)を参照して『クライアント証明書』
- 上記2つの認証に成功すればVPN接続可能
しかしながら、上記を設定しただけでは「発行者が異なる証明書」でも接続が成功してしまいました。
では、証明書ベースの多要素認証を正しく実現するには?
この問題を回避するには、「eap-cert-auth」設定の有効化が必要です。
以下の公式ドキュメントにその方法が記載されています。
設定投入後の設定内容は以下の通りです。
この設定の注意点は以下の3点です。
- IKEv2を設定した場合にのみ設定が可能であること
- 「authmethod」を「signature(証明書)」にしても自動で「enable」にならないこと
- 未設定の状態では「show」コマンドで表示されないこと
この設定を有効にした上で、再度Pingを送信しながら接続を試みた結果、
VPN接続に失敗し、内部との接続も行えない状態となりました。
これは、クライアント証明書が正しく検証され、多要素認証が正しく動作していることを示しています。
バージョンについて
「ID/パスワード認証 + クライアント証明書認証」の多要素認証をIKEv2で実現するためには
「eap-cert-auth」が必要であることは前述の通りです。
この設定が利用可能になるのは、FortiOS v7.4.2以降となります。
従って、v7.4.1以前(v7.2系を含む)をご利用のお客様は、v7.4.2以降(v7.6系を含む)へ
バージョンアップされた上で本設定をご活用ください。
補足情報(デバッグログ)
以下は「eap-cert-auth」が無効な場合と有効な場合の、diag debug app ike -1 の出力結果です。
- eap-cert-authが無効の場合
- eap-cert-authが有効の場合
クライアント証明書の検証が実行され、不正な証明書の場合は「Authentication failed」となります。
万が一、設定してもうまく動作しない場合には、下記のデバッグコマンドを使って
トラブルシューティングを行ってください。
# diag debug enable
# diag debug app ike -1
最後までお読みいただき、ありがとうございました。
免責事項
- 本書は、株式会社ネットワールド(以下 弊社)が作成・管理します。
- 本書の記載内容の一部または全部を弊社に無断で改変・転載することを禁じます。
- 本書の記載内容は、一部または全部が将来予告無く変更されることがあります。
- 本書の利用は、利用者様の責任において行われるものとします。
- 本書の記載内容には、最善の注意を払っておりますが、正確性・完全性を保証するものではありません。
従いまして、本書の利用によって生じたあらゆる損害に関して、弊社は一切の責任を負いません。