FortiGateの評価ガイド⑥ SSLVPNの認証/RADIUS連携したワンタイムパスワード認証
目次
目的
FortiGateのリモートアクセスVPN(SSLVPN)について、以下の要件を満たすために、SingleIDを利用します。
- RADIUSサーバに登録されたユーザでログインする。
- 特定グループに属するユーザのみアクセスを許可する。
- ログインの認証方式は、パスワード+ワンタイムパスワード認証(時間ベースのTOTP)とする。
環境
グループの情報
グループ名 | グループの説明 | メンバー |
リモートアクセスユーザ(ビルトイングループ) | FortiGateのリモートアクセスVPNへログインできるユーザのグループ | user1 |
RADIUSの情報
設定に必要な情報 | 説明および情報取得の方法など |
RADIUSサーバのホスト名 | SingleID 管理者ポータル>認証>RADIUS画面の基本情報タブの「ホスト名」です。 |
RADIUSサーバのIPアドレス | SingleID 管理者ポータル>認証>RADIUS画面の基本情報タブの「IPアドレス」です。 |
RADIUSサーバのポート番号 | SingleID 管理者ポータル>認証>RADIUS画面の基本情報タブの「RADIUSポート番号」です。デフォルトUDP1812です。 |
RADIUSクライアントのIPアドレス | FortiGate側のグローバルIPアドレスです。インターネットに出ていくときの送信元のIPアドレスです。 |
RADIUSクライアントのシークレット | 任意の文字列を設定します。ここでは、「fortigate」とします。 |
VPN設定の情報
設定に必要な情報 | 説明および情報取得の方法など |
リッスンするインターフェース | FortiGateのWAN側のインターフェースです。環境により異なります。 |
リッスンするポート | VPNクライアントが接続するポート番号です。ここでは、「10443」とします。 |
サーバ証明書 | VPNのサーバ認証のためのサーバ証明書を指定します。ここでは、「Fortinet_Factory」とします。 |
ファイアウォールポリシーの宛先 | VPNでアクセスした通信に対して、許可したい宛先です。環境により異なります。 |
VPNゲートウェイIPアドレス | VPNクライアントが接続するIPアドレスです。環境により異なります。 |
発信インターフェース | VPN接続が完了し、内部通信が行われるときに、発信元のインターフェースです。 環境により異なります。 |
設定方法
SingleIDの設定
SingleIDの管理者ポータルへログインします。
製品ログイン一覧
ユーザポータルは、組織の一般ユーザが使用するポータルです。ユーザの登録情報、パスワード変更、ワンタイムパスワード設定を行うことができます 管理者ポータルは、組織…
ユーザの作成
SingleID 管理者ポータル>ユーザ一覧画面へ移動します。
「登録」をクリックします。

ユーザ登録画面の「基本情報」を入力します。 作成するユーザは、環境/グループの情報を参照します。
「グループ」タブをクリックします。

参加するグループを選択し、「登録」をクリックします。参加するグループについては、環境/グループの情報を参照します。

RADIUSの設定
SingleID 管理者ポータル>認証>RADIUS画面へ移動します。「FortiGate」タブへ移動します。
「登録」をクリックします。

RADIUSクライアントに関する以下の項目を入力します。
「VPNアクセスの認証」タブへ移動します。
項目 | 設定値 |
ワンタイムパスワードの強制 | 有効 |
IPアドレス | 環境/RADIUSの情報 の「RADIUSクライアントのIPアドレス」です。 |
シークレット | 環境/RADIUSの情報 の「RADIUSクライアントのシークレット」です。 |
選択するサーバの番号により、RADIUSサーバのポート番号が異なります。
サーバが1の場合には、UDP1812です。
SingleID 管理者ポータル>認証>RADIUS>基本情報タブ画面の「RADIUSポート番号」にサーバの番号と通信ポート番号の対応が記載されています。

許可グループの設定で「リモートアクセスユーザ」グループをダブルクリックし、許可へ移動させます。
「登録」をクリックします。

FortiGateの設定
FortiGateの管理GUIへログインします。

RADIUSサーバの設定
FortiGate管理GUI> ユーザ&認証>RADIUSサーバへ移動します。「新規作成」ボタンをクリックします。
以下の項目を設定し、「OK」をクリックします。
項目 | 設定値 |
名前 | SingleID_RADIUS |
認証方式 | 指定 PAP |
IP/名前 | 環境/RADIUSの情報 の「RADIUSサーバのIPアドレス」です。 |
シークレット | 環境/RADIUSの情報 の「RADIUSクライアントのシークレット」です。 |

「接続をテスト」をクリックし、接続が成功しない場合には、以下をご確認ください。
・設定内容が間違いないこと
・FortiGateからSingleIDのRADIUSサーバのIPアドレスへ接続可能であること
SingleIDのRADIUSサーバでは、FortiGateのVPNアクセスや管理アクセスのみ認証可能となるように制限をかけているため、「ユーザクレデンシャルをテスト」ボタンをクリックし、正しいユーザ情報を入力しても成功となりませんが、問題ではありません。
ユーザグループの設定
FortiGate管理GUI>ユーザ&認証>ユーザグループへ移動します。「新規作成」ボタンをクリックします。
以下の項目を設定し、「OK」を クリックします。
項目 | 設定値 |
名前 | SingleID |
タイプ | ファイアウォール |
リモートグループ | リモートサーバ:SingleID_RADIUS グループ:すべて |

SSLVPNの設定
FortiGate管理GUI>VPN>SSL-VPN設定へ移動します。
以下の項目を設定し、「適用」を クリックします。
項目 | 設定値 |
リッスンするインターフェース | 環境/VPN設定の情報 の「リッスンするインターフェース 」です。 |
リッスンするポート | 環境/VPN設定の情報 の「リッスンするポート 」です。 |
サーバ証明書 | 環境/VPN設定の情報 の「サーバ証明書 」です。 |
認証ポータルマッピング | グループ:SingleID ポータル:full-access すべてのその他のユーザ/グループ ポータル:web-access |

ポリシーの設定
SSLVPNの設定を適用すると、上部に以下のようなメッセージが表示されます。リンクをクリックし、ファイアウォールポリシーの設定を行います。
表示されない場合には、 FortiGate管理GUI>ポリシー&オブジェクト>ファイアウォールポリシーへ移動します。

以下の項目を設定し、「適用」を クリックします。
項目 | 設定値 |
名前 | SSLVPN |
着信インターフェース | SSL-VPN tunnel Interface (ssl.root) |
発信インターフェース | 環境/VPN設定の情報 の「発信インターフェース」です。 |
発信元 | アドレス:SSLVPN_TUNNEL_ADDR1 ユーザグループ:SingleID |
宛先 | 環境/VPN設定の情報 の「ファイアウォールポリシーの宛先」です。 |
サービス | all |
アクション | 許可 |

動作確認方法
ソフトウェアトークンのインストール
ソフトウェアトークンとして、以下のiPhoneおよびAndroidのスマートフォンアプリが利用できます。どちらかのアプリをスマートフォンへインストールします。
- FreeOTP
- Google Authenticator
SingleIDへソフトウェアトークンの登録
user1のSingle IDのユーザポータルへログインします。
https://www.singleid.jp/product-login/
SingleID ユーザポータル>オーセンティケーター画面へ移動します。
QRコードが表示されていることを確認します。

スマートフォンへインストールしたソフトウェアトークンアプリを起動します。(ここでは、Google Authenticatorを利用します。)
+をクリックし、新規アカウントを追加します。

「QRコードをスキャン」をクリックし、ユーザポータルに表示されているQRコードを読み取ります。

「アカウントを追加」をクリックし、アカウントを追加します。

表示されている6桁の数字をSingleID ユーザポータル>オーセンティケーター画面の「ワンタイムコード」へ入力し、「保存」をクリックし、オーセンティケーターを登録します。
ソフトウェアトークンの6桁の数字の表示は、30秒ごとに変わります。変わる前に、オーセンティケーターの登録を完了させる必要があります。登録する途中で、ソフトウェアトークンの数字が変わってしまった場合には、変わった数字を登録します。


FortiClientのインストール
以下、URLからFortiClientをダウンロードして、インストールします。
FortiClientの設定
項目 | 設定値 |
VPN | SSL-VPN |
接続名 | 任意です。例:SingleID |
リモートGW | 環境/VPN設定の情報 の「VPNゲートウェイIPアドレス」です。 |
ポートの編集 | 環境/VPN設定の情報 の「リッスンするポート」です。 |
認証 | ユーザ名入力 |

FortiGateへリモートアクセスVPN
スマートフォンのソフトウェアトークンアプリを起動し、6桁のワンタイムパスワードを確認します。
ソフトウェアトークンの6桁の数字の表示は、30秒ごとに変わります。数字が変わる前に、ログイン処理を終了させる必要があります。

SingleIDのユーザ(user1)でログインを試みます。
user1のパスワードとワンタイムパスワードを:(コロン)でつなげた文字列をパスワードとして入力します。(例:password:123456)

user1でログインできたことを確認します。
