FortiGate SSL-VPNのユーザー認証にOneLogin VLDAPを使用する

検証概要

今回は、弊社のネットワーク環境にあるFortiGateと弊社が提供するクラウド型アイデンティティ及びアクセス管理ソリューションのOneLoginとの連携について検証を行いました。本記事は 「リモートVPNを行う際、FortiGateのSSL-VPNを使用し、OneLoginのVLDAPサーバーでユーザー認証を行う」 ことをテーマとした検証レポートですので、すでにFortiGateのSSL-VPNを利用している方、SSL-VPNのユーザー管理及び認証をIdPに一元化することを検討している方はぜひ最後までご覧ください。
今回の検証では、SSL-VPNを行うデバイスはWindows 11とmacOSの2つを利用していきます。

製品名 メーカー 役割・機能 バージョン
FortiGate 40F Fortinet ファイアウォール・VPNサーバー v7.4.5
SecureW2 JoinNow SecureW2 RADIUSサーバー・PKI(認証局/発行機関) 7.7.1.GA1
OneLogin OneLogin by One Identity Identity Provider・LDAPサーバー バージョン表記なし
ThinkPad E15 Lenovo クライアントPC Windows 11 23H2
MacBook Pro (M3 Pro) Apple クライアントPC macOS Sequoia 15.1.1
FortiGate 40F

今回の検証における連携構成

本構成においてSSL-VPN及びユーザー認証が行われるイメージを下図に示します。
細かい認証のフローは後述する動作概要にてご確認ください。

連携構成

今回の検証におけるOneLoginはFortiGateのLDAPサーバーとの連携によってFortiGateとOneLoginのユーザー管理を一元化する役割を持つVLDAPサーバーです。 VLDAP(Virtual LDAP)サーバーとは、OneLoginでご利用いただける機能の1つであり、ユーザー名やパスワード、端末の名前からIPアドレスまで様々なデータを持つディレクトリサービスから情報を取り出したり、更新する、といったサービスをクラウド上で提供するサーバーです。

クライアント端末とFortiGateはユーザー名、パスワード、クライアント・サーバー証明書による相互認証を行います。FortiGateはOneLoginに対してユーザー名とパスワードを提示し、ユーザー認証可否の応答を受け取ります。 全ての認証が成功するとSSL-VPNトンネルを確立し、以降はクライアント端末が暗号化された通信を用いて社内LANに接続が可能になります。

前提条件

今回の検証では、以下の項目を前提条件としています。

  • デバイスにSecureW2から発行された有効なクライアント証明書が配布されていること
  • OneLoginのVLDAPが使用できるプランの管理者アカウントをお持ちであること(Enterprise,Unlimitedであれば追加オプション、Advanced,Professionalはノーオプションで使用可能です)
  • FortiGateの管理者アカウントをお持ちであること
  • FortiGateのファイアウォールポリシーの設定( 接続した後のIPアドレス割当、アクセス許可 ) が行われていること
  • RAM 2GB以下の一部のモデルをご利用の場合にはFortiOSのバージョンが7.6.0以前であること(7.6.0以降は一部の筐体でSSL-VPNの機能が無効化されているため。詳しくは(こちら)

※本記事ではリモートVPNの利用を想定しており、すでにSSL-VPN設定は完了、ログイン時の認証には証明書認証を追加しております。(SSL-VPN設定と証明書認証の設定方法はこちらの記事 をご確認ください。)

動作概要

動作概要

SSL-VPNの流れは以下の通りです。

  1. クライアント端末がFortiGateに対してSSL-VPNリクエストを送信します
  2. FortiGateはクライアント端末に対してサーバー証明書を提示します
  3. 提示されたサーバー証明書の正当性が確認できた場合、クライアント端末はFortiGateに対してユーザー名、パスワード、クライアント証明書を送信します
  4. FortiGateは入力されたユーザー名とパスワードをOneLoginに提示します。
  5. OneLoginはFortiGateに対してユーザー認証の可否を応答します
  6. FortiGateは、登録された認証情報を元にユーザー名、パスワードを認証し、加えてクライアント証明書の正当性(発行元CA・有効性)を確認し、認証が成功した場合はSSL-VPNリクエストを許可します
  7. クライアント端末とFortiGateの間にSSL-VPNトンネルが確立され、安全な通信が可能になります

多種多様なサービスを利用している組織にとって、ユーザー情報をサービスごとに管理する手間はできる限り減らしたいものです。そこでOneLoginではクラウドで利用できるRADIUS・VLDAPサーバー、その他ディレクトリ同期機能を提供しており、様々なサービスのアカウント管理の一元化を行うことで、サービスごとにユーザーを登録する手間を減らしてくれるので、人数あたり約5~10分、100人なら約8~16時間を短縮でき、結果として業務効率向上につながります。

作業詳細

作業詳細

OneLoginでVLDAPサービスの有効化を行い、FortiGateでLDAPサーバーを作成した後ユーザーグループ、ファイアウォールポリシー、SSL-VPN設定に適用していただくだけでユーザー認証にOneLoginのVLDAPサーバーをご利用いただけます。

補足

今回FortiGateでSSL-VPNをする際にFortiClient VPNというソフトウェアを使用しております。FortiClient VPNでは基本的に証明書がどのストア / キーチェーンに格納されていても使用可能ですが、Windows 11のローカルコンピューター証明書ストアにある証明書を使用する場合は後述する設定を行う必要があります。

  1. FortiClient VPNを起動し、[設定] をクリックします。
    補足1
  2. [バックアップ] をクリックし、confファイルを任意の場所に保存します。パスワードの設定が必須なので行ってください。
    補足2
  3. confファイルをメモ帳などのソフトで開き、以下のコードを追加し、保存を行なってください。<allow_standard_user_use_system_cert>1</allow_standard_user_use_system_cert>
    補足3
  4. [リストア]をクリックし、confファイルを選択後パスワードを入力し [OK] をクリックします。インポートされたのを確認したら設定は完了です。
    補足4

    こちらは実際にローカルコンピューター証明書ストアにある証明書を利用しているときの動画です。

基本的なFortiGateとOneLoginの設定

OneLogin

VLDAPサーバーの有効化

  1. OneLoginにログインし、[管理]をクリックします
    VLDAPサーバーの有効化手順_1
  2. [VLDAP] をクリックします
    VLDAPサーバーの有効化手順_2
  3. VLDAPサービスを有効化し、[Save]をクリックします
    VLDAPサーバーの有効化手順_3

    これでOneLoginでの操作は完了です。

LDAPサーバーの追加

  1. FortiGateの管理者ポータルへログインし、ユーザ&認証 > LDAPサーバをクリックします
    LDAPサーバーの追加手順_1
  2. [新規作成]をクリックします
    LDAPサーバーの追加手順_2
  3. 以下のように入力し、[接続をテスト]をクリックして成功したら[OK]をクリックします
    LDAPサーバーの追加手順_3

    これでLDAPサーバーの作成が完了しました

ユーザグループの作成

  1. ユーザ&認証 > ユーザグループをクリックします
    設定手順_9
  2. [新規作成]をクリックします。
    設定手順_10
  3. グループ名を入力し、リモートサーバーには先ほど作成したLDAPサーバーを選択したら、[OK]をクリックします。
    設定手順_11

    これでユーザーグループの作成が完了しました

ファイアウォールポリシーとSSL-VPN設定

  1. 以下のようにファイアウォールポリシーとSSL-VPN設定にもLDAPサーバーやユーザーグループを追加します
    設定手順_12
    設定手順_13

動作確認

Windows 11

  1. FortiClient を開き、VPN接続の編集を行います。クライアント証明書は認証に用いるものを選択してください。設定できたら [保存] をクリックします。
    動作検証_Win1
  2. ユーザー名とパスワードを入力して、[接続] をクリックして接続要求をします。
    動作検証_Win2
  3. 正常に接続することができました。
    動作検証_Win3

macOS

  1. FortiClient を開き、VPN接続の編集を行います。クライアント証明書は認証に用いるものを選択してください。設定できたら [保存]をクリックします。
    動作検証_Mac1
  2. ユーザー名とパスワードを入力して、[接続]をクリックして接続要求をします。
    動作検証_Mac2
  3. 正常に接続することができました。
    動作検証_Mac3

おわりに

今回はFortiGateのSSL-VPNのユーザー認証にOneLoginのVLDAPサーバーを使用する検証を行いました。

多数のサービスを利用している組織にとって、サービスごとにユーザーを作成・管理するのは手間のかかる作業です。特にFortiGateではユーザーを一人一人手作業で追加していく必要があり、この時間で他のより重要な業務ができただろうなと感じた瞬間は多いと思います。そこで、OneLoginを導入していただくことで、VLDAPサーバーを利用することができます。VLDAPサーバーはFortiGateだけでなくLDAPサーバーが利用できる他サービスも含めたユーザーの管理をOneLoginで一元的に行うことができ、ユーザー登録等の時間を削減することで結果的に業務効率の向上に貢献できます。

OneLoginでは1つのログイン情報を使って複数のアプリケーションやサービスにアクセスできるようにするSSO(Single Sign-On)が利用できます。VLDAPサーバーとSSOによって、ユーザーの認証と管理だけでなく普段利用するサービスへの手軽なアクセスをOneLoginだけで完結させることが可能です。ぜひFortiGateとOneLoginの導入を併せて検討してみてはいかがでしょうか。以上で「FortiGate SSL-VPNのユーザー認証にOneLogin VLDAPを使用する」検証レポートを終わります。