皆さん、こんにちは。
ネットワールドSE 西日本技術部の廣澤です。
今回は、
「IPSec-VPN(IKEv2)でSAML認証しながら、グループマッチング機能を試す」
という検証を行いました。
もし、ご興味のある方がいらっしゃれば、是非読み進めていただければと思います。
そもそも何故こんな検証をするのか?
今回の検証を実施した理由は以下の表にあります。
| 認証方法 | 利用可能 | 利用不可 |
| IPSec-VPN (IKEv2) | RADIUS/SAML | LDAP |
| FortiClientEMS | LDAP/SAML | RADIUS |
IPSec-VPN(IKEv2)とFortiClientEMSの両方を利用する場合、
共通している認証方法は「SAML」のみです。
異なる認証サーバを使えば「SAML」以外の選択肢もありますが、
運用を考慮した場合、共通している方が自然なため今回の検証を行うことにしました。
「グループマッチング」とは?
「グループマッチング」とは、
FortiGateのリモートユーザグループで特定のグループを指定する設定のことです。
FortiGateで「LDAP(AD)連携」を設定した経験のある方なら見覚えがあるかもしれませんが、
このGUI設定画面を「グループマッチング」といいます。

SSL-VPNでは「LDAP(AD)」で「グループマッチング」を設定することが出来ましたが、
IPSec-VPN(IKEv2)では「LDAP(AD)」が利用出来ません。
そのため、今回は「SAML」で「グループマッチング」を実現する方法を検証しました。
SAML連携設定
ここでは、IdP(Identity Provider)である「EntraID」と、
SP(Service Provider)である「FortiGate」を、
SAML連携させるための設定を行い、ユーザグループの作成まで行います。
1.IdP「EntraID」事前設定
1-1.エンタープライズアプリケーションの作成
EntraIDの管理画面から「エンタープライズアプリケーション」を作成します。


1-2.グループを割当て
作成したエンタープライズアプリケーションに、認証対象のグループを割当てます。




2.SP「FortiGate」事前設定
2-1.IPSec-VPNのSAML認証用ポート番号の設定
IPSec-VPN接続時にSAML認証を受信する任意のサービスポート番号を設定します。
(デフォルト設定は「1001」)

2-2.シングルサインオン(SAML)設定の作成
FortiGateでシングルサインオン(SAML)設定を作成します。
※画像はv7.4以前の画像です。


3.IdPとSPの連携設定
3-1.IdP「EntraID」シングルサインオン(SAML)設定
EntraIDでシングルサイオンの設定を行います。

※①基本的なSAML構成

※②属性とクレーム




※③SAML証明書

※FortiGate「7.2.12, 7.4.9, 7.6.4以上」の場合は「署名オプション」を
「SAML応答とアサーションへの署名」にすることが必須となりました。


SAML |フォーティゲート / FortiOS 7.6.4 |フォーティネットドキュメントライブラリ
※④”"エンタープライズアプリケーション名"”のセットアップ

3-2.SP「FortiGate」シングルサインオン(SAML)設定
FortiGateでシングルサイオンの設定を行います





4.FortiGateユーザグループの作成
4-1.EntraIDのグループからオブジェクトIDを確認
EntraIDのエンタープライズアプリケーションに割当てたグループのオブジェクトIDを確認します。



4-2.FortiGateでユーザグループを作成
FortiGateでSAML設定を参照したユーザグループを作成し、オブジェクトIDをマッチングの値に設定します。
※グループ毎にこの手順を行う必要があります。





以上がSAML連携設定になります。
SAML認証を利用するIPSec-VPN(IKEv2)設定
1.IPSec-VPNのSAML認証着信インターフェースの設定
IPSec-VPN(IKEv2)でSAML認証を行う為にSAML認証を受け付けるインターフェースを設定します。
これは「WAN側インターフェース=IPSec-VPNを受け付けるインターフェース」を使用します。
なお、1つのインターフェースには1つのSAML連携設定のみ紐付けが可能です。

2.IPSec-VPNのフェーズ1/フェーズ2の設定
IPSec-VPN(IKEv2)のフェーズ1/フェーズ2を設定します。
この設定は認証ユーザグループにSAML連携しているグループを選択する以外、
通常のIKEv2設定と違いはありません。
最後に通常通りIPSec-VPN用ポリシーを作成して設定完了となります。
FortiClientの設定
FortiClientにSAML認証を使用したIPSec-VPN用の設定を行います。
基本的な設定は通常のIPSec-VPN(IKEv2)の設定になりますが、
SAML認証を使用する場合は、以下の設定を追加で行う必要があります。

動作確認
接続画面にはID/パスワードの入力欄が無く、そのまま「接続」をクリックします。

M365のログイン画面でID/パスワードを入力し、必要に応じて多要素認証を行います。

認証に成功するとログインに成功した旨を示すメッセージが表示され、VPN接続が開始されます。

最後に
検証した感想ですが「LDAP(AD)よりも設定項目が多く少し大変」と感じました。
ですが、SAML連携はFortiGate以外でも似たような設定をすることになるため、
何度も設定するうちに慣れてくると思います。
また、今回はIdPにMicrosoftの「EntraID」を使用しましたが、
「Okta」でも同じような設定が可能なため、IdPに縛られない点はメリットだと感じました。
もし、今回の記事を見てSSL-VPNからIPSec-VPN(IKEv2)への切り替えに
ご興味・ご関心がございましたら、是非、弊社営業へお問い合わせください。
免責事項
- 本書は、株式会社ネットワールド(以下 弊社)が作成・管理します。
- 本書の記載内容の一部または全部を弊社に無断で改変・転載することを禁じます。
- 本書の記載内容は、一部または全部が将来予告無く変更されることがあります。
- 本書の利用は、利用者様の責任において行われるものとします。
- 本書の記載内容には、最善の注意を払っておりますが、正確性・完全性を保証するものではありません。
従いまして、本書の利用によって生じたあらゆる損害に関して、弊社は一切の責任を負いません。