FortiGateの評価ガイド② 管理者の認証/RADIUS連携したワンタイムパスワード認証
目次
目的
FortiGateの管理GUIへのアクセスについて、以下の要件を満たすために、SingleIDを利用します。
- RADIUSサーバに登録されたユーザでログインする。
- 特定グループに属するユーザのみアクセスを許可する。
- ログインの認証方式は、ワンタイムパスワード認証とする。
- 閲覧権限(super_admin_readonly)でログインする。設定変更は不可とする。
環境
グループの情報
グループ名 | グループの説明 | メンバー |
システム管理者(ビルトイングループ) | FortiGateへ「 super_admin_readonly 」でログインできるユーザのグループ | user1 |
RADIUSの情報
設定に必要な情報 | 説明および情報取得の方法など |
RADIUSサーバのホスト名 | SingleID 管理者ポータル>認証>RADIUS画面の基本情報タブの「ホスト名」です。 |
RADIUSサーバのIPアドレス | SingleID 管理者ポータル>認証>RADIUS画面の基本情報タブの「IPアドレス」です。 |
RADIUSサーバのポート番号 | SingleID 管理者ポータル>認証>RADIUS画面の基本情報タブの「RADIUSポート番号」です。デフォルトUDP1812です。 |
RADIUSクライアントのIPアドレス | FortiGate側のグローバルIPアドレスです。インターネットに出ていくときの送信元のIPアドレスです。 |
RADIUSクライアントのシークレット | 任意の文字列を設定します。ここでは、シークレットを「fortigate」とします。 |
設定方法
SingleIDの設定
SingleIDの管理者ポータルへログインします。
ユーザの作成
SingleID 管理者ポータル>ユーザ一覧画面へ移動します。
「登録」をクリックします。

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

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

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

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

許可グループの設定で「システム管理者」グループをダブルクリックし、許可へ移動させます。「super_admin_readonly」の権限を選択します。
「登録」をクリックします。

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 グループ:すべて |

管理者の設定
FortiGate管理GUI>システム>管理者へ移動します。「新規作成>管理者」ボタンをクリックします。
以下の項目を設定し、「OK」を クリックします。
項目 | 設定値 |
ユーザ名 | SingleID |
タイプ | リモートサーバグループのすべてのユーザと一致 |
管理者プロファイル | admin_no_access |
リモートユーザグループ | SingleID |

CLIから以下のコマンドで、設定します。
この設定を行うことで、SingleIDグループに設定した「admin_no_access」プロファイルをRADIUSサーバで指定したプロファイルの「super_admin_readonly」で上書きできます。
config system admin
edit "SingleID"
set accprofile-override enable
end
参考
Fortinet社の以下の情報を参考にさせていただきました。
Technical Tip: Remote admin login with Radius selecting admin access account profile
動作確認方法
ソフトウェアトークンのインストール
ソフトウェアトークンとして、以下の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秒ごとに変わります。変わる前に、オーセンティケーターの登録を完了させる必要があります。登録する途中で、ソフトウェアトークンの数字が変わってしまった場合には、変わった数字を登録します。


FortiGateの管理GUIへログイン

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

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

補足
以下の画面が表示されたときには、CLIで設定を確認し、「set accprofile-override enable」がセットされていることを確認してください。
TEST-FGT-A # config system admin
TEST-FGT-A (admin) # edit "SingleID"
TEST-FGT-A (SingleID) # show
config system admin
edit "SingleID"
set remote-auth enable
set accprofile "admin_no_access"
set vdom "root"
set wildcard enable
set remote-group "SingleID"
set accprofile-override enable
next
end
