はじめに
FortiGate のログを見ていて、こんな風に頭を抱えたことはありませんか?
「怪しい通信があるけど、送信元が『192.168.1.50』としか出ない……これ、誰の PC ?」
DHCP 環境では IP アドレスが変わることも多く、ログの IP と DHCP サーバーのリース履歴を突き合わせて「誰が使っていたか」を特定するのは、非常に手間のかかる作業です。
Active Directory(以下 AD)と FortiGate を連携させれば、この課題は解決します。 ログの送信元にズバリ 「ユーザー名」 が表示されるようになるため、「誰が」 何をしたのかが一目瞭然になります。
本記事では、AD 連携の仕組み(FSSO)の解説から、追加コストのかからない「エージェントレス」での具体的な設定手順までを紹介します。
- 仕組み: FortiGate がユーザーを認識する技術(FSSO)
- 比較: 「エージェント型」と「エージェントレス型」の違い
- 実践: サーバーへのインストール不要な連携設定手順
ユーザーを識別する仕組み(LDAP と FSSO)
FortiGate が Active Directory(AD)の情報を利用するためには、主に以下の 2 つの技術が使われます。それぞれの役割を理解しておきましょう。
① LDAP(Lightweight Directory Access Protocol)
【役割: 電話帳(静的情報の参照)】
FortiGate が AD サーバー内のデータベースを参照するためのプロトコルです。 「ユーザー一覧」や「どのセキュリティグループに所属しているか」といった、登録されている情報(属性) を取得するために使います。 主に、権限の確認や VPN 接続時の認証などで利用されます。
② Fortinet Single Sign-On(FSSO)
【役割: リアルタイム通知(動的情報の連携)】
ユーザーが PC にログインした情報を、リアルタイムで FortiGate に伝える技術です。 「今、IPアドレス 192.168.1.50 でログインしたのは user01 です」という情報を AD から受け取ることで、FortiGate は通信パケット(IP アドレス)とユーザー名を紐づけることができます。

これにより、ユーザーは FortiGate 側で再度 ID/パスワードを入力することなく(シングルサインオン)、自動的にユーザー単位のポリシーが適用されます。
どっちがいい?「エージェント型」vs「エージェントレス型」
FSSO を実装するには、大きく分けて 2 つの方式があります。 それぞれの特徴は以下のとおりです。
| 項目 | ① エージェント型(DC Agent) | ② エージェントレス型(Polling) |
|---|---|---|
| 仕組み | AD に専用ソフトを入れ、ログを転送する | FortiGate が AD を定期的に見に行く |
| AD へのインストール | 必要(再起動が必要な場合も) | 不要(設定のみで完結) |
| 設定難易度 | 高い(サーバー側の作業あり) | 低い(FortiGate 側だけでほぼ完結) |
| リアルタイム性 | 非常に高い | 高い(数秒〜10秒程度のラグあり) |
| 推奨シーン | 大規模で厳密な即時性が必要な場合 | 一般的なオフィス環境 |
本記事では、② エージェントレス型(ポーリングモード) を推奨します。
理由はシンプルで、「AD サーバーに何もインストールしなくていいから」 です。 稼働中のドメインコントローラーに外部ツール(FSSO Agent)をインストールするのは、動作検証や再起動調整など、インフラ担当者にとって心理的・作業的ハードルが非常に高いです。



エージェントレス型なら、FortiGate 側から AD に「ねぇ、今誰がログインした?」と定期的に聞きに行くだけ(ポーリング)なので、AD サーバーへの影響を最小限に抑えつつ、手軽に連携をスタートできます。
設定手順
まずは、FortiGate が AD の「電話帳(ユーザー情報)」を参照できるように、LDAP サーバーとして登録します。
- FortiGate の管理画面で、[ユーザー&認証] > [LDAP サーバー] を開きます。
- [新規作成] をクリックし、AD サーバーの情報を入力します。
- IP アドレス/ドメイン名: AD サーバーの IP を入力
- 識別名(Distinguished Name):
dc=example,dc=comのようにドメインの DN を入力 - バインドタイプ: [レギュラー] を選択し、AD の管理者アカウント(または参照権限を持つユーザー)とパスワードを入力
- [接続のテスト] をクリックして「成功」と出ることを確認し、[OK] をクリックします。


次に、AD のログイン情報を監視するための「FSSO(エージェントレス)」を設定します。 FortiGate では、「ファブリックコネクタ(外部コネクタ)」 という機能を使ってこれを実現します。
- [セキュリティファブリック] > [外部コネクタ] を開きます。
- [新規作成] をクリックし、[Active Directory サーバーのポーリング] を選択します。
- 設定画面で、先ほど作成した「LDAPサーバー」を選択します。
- ※これで、FortiGate が AD に対して定期的に「誰がログインした?」と問い合わせるようになります。


コネクタを作っただけでは、まだポリシーで利用できません。使いたいグループを FortiGate にインポートします。
- 作成したコネクタの設定画面にある [ユーザー/グループ] タブ(またはボタン)をクリックします。
- [+ 追加] をクリックすると、AD 上のツリーが表示されます。
- FortiGate で制御したいグループ(例:
FG_Users)やユーザーを検索・選択し、[OK] をクリックします。


これで、AD 上のユーザーグループが FortiGate の「FSSO ユーザーグループ」として利用可能になります。
動作確認: ログにユーザー名は出るか?
設定が完了したら、実際にクライアント PC から通信を行い、ログを確認してみましょう。 これが本記事のゴールです。
① 転送トラフィックログの確認
まずは、AD ユーザー(例: user01)で PC にログインし、インターネット(Google など)へアクセスしてみます。
FortiGate の [ログ&レポート] > [転送トラフィック] を確認してください。





これまで IP アドレスしか表示されていなかった場所に、しっかりと ユーザー名(user01)が表示されています! これで、「誰が」通信しているか一目瞭然ですね。
② Web フィルタログの確認(ブロック時)
次に、Web フィルタで禁止されているサイトへアクセスしてブロックされてみます(例: user02 を利用)。 セキュリティインシデントの調査などでは、こちらのログの方が重要かもしれません。
[ログ&レポート] > [セキュリティイベント] > [Webフィルタ] を確認します。





こちらも 「誰が」禁止サイトを見ようとしたのかが即座に特定できるため、管理者からユーザーへの注意喚起や、インシデント対応のスピードが劇的に向上します。
まとめ
本記事では、FortiGate と Active Directory を連携させて、ログの可視性を向上させる FSSO(エージェントレス) の設定方法を紹介しました。
- 可視化: ログの送信元が「IP アドレス」から「ユーザー名」になり、誰が何をしたか一目瞭然に。
- 仕組み: 静的な情報は LDAP、動的なログイン情報は FSSO で取得する。
- 手軽さ: エージェントレス型(ポーリング) なら、AD サーバーへのインストール作業は不要
「AD 連携」と聞くと敷居が高く感じるかもしれませんが、今回紹介したエージェントレス型であれば、FortiGate 側の設定だけで完結するため、既存環境への影響も最小限です。
以上、最後までお読みいただきありがとうございました。

