はじめに
前回は、ブラウザに認証ポップアップを表示させてアクセス制御を行う「Explicit Proxy 認証」の設定方法をご紹介しました。

今回は、もう一つの代表的な認証方式である 「キャプティブポータル (Captive Portal)」 について解説します。
- キャプティブポータル とプロキシ認証の使い分け
- ゲスト Wi-Fi 構築に向けた FortiGate 設定手順
- CLI で行う タイムアウト設定(利用時間の強制制限)

ホテルや空港などの フリー Wi-Fi に接続した際、最初に 「ログイン画面」や「利用規約の同意画面」 がブラウザに表示された経験はありませんか?
あの仕組みが「キャプティブポータル」です。 ユーザーが Web サイトを見ようとすると、強制的に認証ページへリダイレクト(転送)し、認証が完了するまでインターネットへのアクセスをブロックする技術です。
プロキシ認証 vs キャプティブポータル
FortiGate には複数の認証機能がありますが、前回紹介した「プロキシ認証(Explicit Proxy)」と、今回の「キャプティブポータル」はどう使い分ければ良いのでしょうか?
最大の違いは 「ユーザー(クライアント端末)側の設定が必要かどうか」 です。
| キャプティブポータル | プロキシ認証(Explicit Proxy) | |
|---|---|---|
| 主な用途 | ゲストWi-Fi、BYOD | 社内 PC の Web 管理 |
| PC 側の設定 | 不要(つなぐだけで OK) | 必要(ブラウザ設定) |
| 認証の見た目 | Web ページ(デザイン変更可) | ポップアップ(地味) |
| 仕組み | 初回アクセスを強制リダイレクト | プロキシ経由で認証 |



例えば、来客用のゲスト Wi-Fi でお客様に対して「ブラウザの設定を開いて、プロキシのアドレスを入力してください」とお願いするのは現実的ではありませんよね。
キャプティブポータルであれば、ユーザーは端末を Wi-Fi に繋いでブラウザを開くだけ です。 誰でも直感的に利用を開始できる点が、不特定多数が利用するゲスト Wi-Fi に最適とされる理由です。
キャプティブポータルの設定手順
まずは「誰にアクセスを許可するか」というアカウント情報を作成します。
- 「ユーザー&認証」>「ユーザー定義」 へ移動し、「新規作成」をクリックします。
- タイプは「ローカルユーザー」を選択
- ユーザー名(例:
userA)と パスワード を入力し、「OK」をクリックします。
FortiGate の設定では、ユーザー単体ではなく「グループ」に対して権限を割り当てるのが基本です。
- 「ユーザー&認証」>「ユーザーグループ」 へ移動し、「新規作成」をクリックします。
- 名前(例:
Internet-Group)を入力します。 - メンバー に、先ほど作成した
userAを追加して「OK」をクリックします。





ユーザーをグループに入れておくことで、後から「userB」や「userC」を追加した際も、グループ設定を変えるだけで済むので管理が楽になります。
次に、LAN 側のインターフェースでキャプティブポータル機能を ON にします。 ここが今回の設定の核となる部分です。
- 「ネットワーク」>「インターフェース」 へ移動します。
- 対象の LAN側インターフェース(例:
internal1)をダブルクリックして編集画面を開きます。 - 画面中ほどの 「セキュリティモード」 を有効にし、「キャプティブポータル」 を選択します。
- 認証ポータル:「ローカル」 を選択(FortiGate 内蔵の標準ログインページを使用します)
- ユーザーグループ: 先ほど作成した
Internet-Groupを指定します。ここで指定したグループのメンバーだけが認証可能です。
設定が完了したら、画面最下部の「OK」をクリックして保存します。


最後に、認証を通過したユーザーがインターネットへ出られるように、ファイアウォールポリシーを作成します。
- 「ポリシー&オブジェクト」>「ファイアウォールポリシー」 へ移動します。
- 「新規作成」をクリックし、通常のインターネットアクセス許可ポリシーを作成します。
| 項目 | 設定内容 |
|---|---|
| 送信元 | all |
| 宛先 | all |
| サービス | ALL |
| アクション | ACCEPT |
| NAT | 有効 |
- 「OK」をクリックします。





今回はインターフェース設定(手順2)の段階で認証をかけているため、ポリシーの送信元は all でも問題ありません。 (認証されていないユーザーは、そもそもこのポリシーまで到達できないためです)
GUI での設定は以上ですが、ゲスト Wi-Fi などを運用する場合、「1時間経ったら自動で切断したい」 といった要望が出ることがあります。
この詳細なタイムアウト設定は GUI には用意されていないため、CLI(コマンドライン)で設定を行います。 今回は 「ログインから1分後に強制的に切断する(テスト用)」 設定を入れてみます。
コマンドの入力
FortiGate の CLI コンソール(画面右上の >_ アイコン)を開き、以下のコマンドを実行します。
config user setting
set auth-cert "Fortinet_Factory"
set auth-timeout 1 <-- 1分でタイムアウト
set auth-timeout-type hard-timeout
end3つのタイムアウト設定の違い
auth-timeout-type には、以下の3つのモードがあります。運用に合わせて使い分けましょう。
| モード | 動作の仕組み | おすすめの用途 |
|---|---|---|
| idle-timeout(デフォルト) | 通信がない状態が続くと切断 使い続けていれば切れません。 | 社内ユーザー向け |
| hard-timeout | 通信していても、時間が来たら強制切断 | ゲスト Wi-Fi |
| new-session | 時間経過後の「新しい通信」で再認証 既存の通信(ダウンロード等)は切れません。 | 利便性重視 |



不特定多数が使うフリーWi-Fiの場合、居座りを防止するために hard-timeout を設定するのが一般的です。
動作確認
最後に、実際にクライアント PC を接続して、期待通りの動作をするか確認してみましょう。
認証リダイレクトの確認
- PC を対象のインターフェース(または Wi-Fi)に接続します。
- ブラウザを開き、Web サイトへアクセスします。



Google などの HTTPS サイトは、セキュリティの仕様(HSTS など)により、認証画面へのリダイレクトが警告ブロックされる場合があります。 初回は http://neverssl.com などの HTTP サイトへアクセスすると、スムーズに認証画面が表示されます。
- FortiGate の認証画面 に自動的にリダイレクトされます。
- 作成したユーザー名
userAとパスワードを入力し、「続行」をクリックします。 - 認証が成功し、元の Web サイトが表示されれば成功です。


セキュリティ機能の確認(EICAR テスト)
「ただインターネットに繋がるだけ」ではありません。FortiGate の強みは 「認証した上でセキュリティチェックができる」 点です。 試しに、テスト用ウイルスファイル(EICAR)をダウンロードしてみます。


以下のように、認証済みのユーザーであっても、危険なファイルはしっかりと ブロック されます。


ステータスの詳細確認(CLI)
最後に、FortiGate がユーザーをどう認識しているか、CLI コマンドで確認してみます。
FortiGate# diagnose firewall auth list
192.168.101.200, userA
src_mac: e8:d8:d1:3f:99:e5
type: fw, duration: 3, ...
flag(804): hard no_idle <-- ここに注目!
group_name: Internet <-- 所属グループuserA: 認証されているユーザー名flag: hard: 先ほど設定したhard-timeout(強制切断)が効いていることが分かります。
ステータスの詳細確認(GUI)
「ログ&レポート」>「セキュリティイベント」を見れば、ブロックログにユーザー名が紐付いて記録されているはずです。


まとめ
本記事では、ゲスト Wi-Fi 構築などに最適な 「キャプティブポータル認証」 の設定方法を解説しました。
「不特定多数に使わせたいけれど、セキュリティも考慮したい」 そんな場合にぜひ活用を検討してみてください。
以上、最後までお読みいただきありがとうございました。




