株式会社エスロジカル
株式会社エスロジカル
SSL証明書(DV、OV、EV)、セキュリティ、Web開発、Linux開発、Go言語

HOME > 技術ドキュメント > FortiGate 基本設定入門

FortiGate 基本設定入門(UTM・次世代ファイアウォール)


FortiGate は Fortinet 社が提供する UTM(Unified Threat Management)/ 次世代ファイアウォール(NGFW)です。
ファイアウォール・IPS・Webフィルタリング・アプリケーション制御・VPN・SSL インスペクションなど、 多数のセキュリティ機能を一台で提供します。
この記事では FortiGate の基本的な考え方と主要機能の設定概要を解説します。


機能 概要
ステートフルファイアウォール 送受信パケットのポート・IP・方向に基づくアクセス制御
IPS(侵入防止) 既知の攻撃パターンを検知・遮断。FortiGuard のシグネチャを利用
アプリケーション制御 SNS・P2P・ゲームなどアプリケーション単位でのポリシー制御
Webフィルタリング カテゴリ・URL 単位での HTTP/HTTPS アクセス制御
アンチウイルス HTTP・FTP・メールのウイルス・マルウェアをゲートウェイで検査
SSL/TLS インスペクション 暗号化された HTTPS 通信を復号して検査(後述)
IPsec / SSL VPN 拠点間 VPN・リモートアクセス VPN
SD-WAN 複数 WAN 回線の帯域制御・フェイルオーバー

FortiGate の初期設定は Web GUI または CLI(コンソールポート・SSH)で行います。

項目 初期値
管理 IP(port1) 192.168.1.99(機種によって異なる)
管理 URL https://192.168.1.99
ユーザー名 admin
パスワード 空白(初回ログイン後に変更必須)

初回ログイン後は必ずパスワードを変更し、管理ポートへのアクセス元 IP を制限してください。
CLI での接続はシリアルコンソールか SSH(port1 の SSH アクセスを有効化した場合)を使います。

# CLI から管理者パスワードを変更
config system admin
    edit admin
        set password NewStrongPassword123!
    next
end

FortiGate はインターフェース単位でロール(WAN / LAN / DMZ など)を割り当てます。
「ネットワーク」→「インターフェース」から各ポートの IP・ロール・管理アクセスを設定します。

# WAN インターフェース(DHCP の場合)
config system interface
    edit "wan1"
        set mode dhcp
        set role wan
        set allowaccess ping
    next
end

# LAN インターフェース(固定 IP の場合)
config system interface
    edit "internal"
        set ip 192.168.10.1 255.255.255.0
        set role lan
        set allowaccess ping https ssh
    next
end

FortiGate のトラフィック制御はすべて「ポリシー」ベースです。 送信元・宛先インターフェース、アドレス、サービス(ポート)、アクション(許可/拒否)の組み合わせで定義します。

# 内部 LAN → インターネットへの HTTP/HTTPS アクセスを許可する例
config firewall policy
    edit 1
        set name "LAN-to-WAN-web"
        set srcintf "internal"
        set dstintf "wan1"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "HTTP" "HTTPS"
        set nat enable
        set utm-status enable
        set ips-sensor "default"
        set webfilter-profile "default"
        set ssl-ssh-profile "certificate-inspection"
        set logtraffic all
    next
end

ポリシーは上から順に評価され、最初にマッチしたルールが適用されます。 デフォルトでは最下段に「すべて拒否」の暗黙ルールがあります。


IPS は FortiGuard のシグネチャデータベースを使い、既知の脆弱性攻撃・エクスプロイトを検知・遮断します。
ポリシーに IPS センサーを割り当てることで有効になります。

# IPS センサーの作成(重大度「高」以上を遮断する例)
config ips sensor
    edit "custom-strict"
        config entries
            edit 1
                set severity high critical
                set action block
            next
        end
    next
end

組み込みの default センサーや high-security センサーを利用するのが手軽です。 FortiGuard のシグネチャは自動更新されるため、ライセンス(IPS サービス)が有効であることを確認してください。


FortiGuard のカテゴリデータベースを使い、URL・カテゴリ単位でアクセスを制御します。

# Web フィルタープロファイルの作成(ギャンブル・成人カテゴリを遮断)
config webfilter profile
    edit "company-filter"
        config ftgd-wf
            config filters
                edit 1
                    set category 7   # ギャンブル
                    set action block
                next
                edit 2
                    set category 9   # ポルノ
                    set action block
                next
            end
        end
    next
end

Web フィルタリングが HTTPS サイトにも適用されるようにするには、後述の SSL インスペクションが必要です。


現在の Web トラフィックの大半は HTTPS(暗号化)です。 暗号化されたまま通信を素通りさせると、IPS や Web フィルタリングが機能しません。
SSL インスペクションは FortiGate が HTTPS 通信を一時的に復号して検査する機能です。

SSL インスペクションの種類

モード 概要
証明書インスペクション
(Certificate Inspection)
SNI と証明書のカテゴリだけを検査。通信内容は復号しない。軽量で証明書エラーが出にくい。
ディープインスペクション
(Deep Inspection / MITM)
通信内容を完全に復号して検査。IPS・アンチウイルス・DLP が HTTPS にも有効になる。クライアントへの CA 証明書配布が必要。

ディープインスペクション使用時の証明書について

ディープインスペクションを有効にすると、FortiGate は 中間者(MITM)として その場で証明書を再発行してクライアントに提示します。
クライアントのブラウザがその証明書を信頼するには、FortiGate の CA 証明書を クライアント PC・スマートフォンにインストールする必要があります。
これを行わないと、社内のクライアントで「証明書エラー」が大量に発生します。

注意:ここで言う「FortiGate の CA 証明書」と、 公開 Web サーバーに設置する SSL証明書(サーバー証明書)は別のものです。
サーバー証明書はドメインの正当性を外部のユーザーに証明するもので、 DigiCert などの公的 CA から取得する必要があります。

# ディープインスペクションプロファイルを適用する例
config firewall ssl-ssh-profile
    edit "deep-inspection"
        set comment "Full SSL/TLS deep inspection"
        config ssl
            set inspect-all deep-inspection
        end
        config https
            set ports 443
        end
    next
end

FortiGate 同士、または他社機器との拠点間 VPN を IPsec で構築できます。
GUI の「VPN」→「IPsec ウィザード」を使うと、対話形式で設定できます。

フェーズ 設定項目
フェーズ 1(IKE) 認証方式(PSK/証明書)、暗号化(AES-256)、DH グループ(14 以上推奨)、ライフタイム
フェーズ 2(IPsec) 保護する通信(ローカル・リモートサブネット)、暗号化・認証アルゴリズム

証明書認証(PKI)を使う場合は、各拠点の FortiGate にサーバー証明書をインストールします。 この証明書は公的 CA から発行されたもの、または社内 CA で発行したものを使います。


在宅勤務や外出先からの社内アクセスに使うリモートアクセス VPN です。
FortiClient(Fortinet 製 VPN クライアント)をエンドポイントにインストールして接続します。

SSL-VPN ポータル(通常 HTTPS 443 ポート)を公開する場合、 ブラウザが信頼する 公的 CA 発行の SSL証明書を FortiGate に設定することを推奨します。
自己署名証明書のままでは接続時にセキュリティ警告が出るため、 社員・外部ユーザーへの信頼性が下がります。

エスロジカルでは FortiGate SSL-VPN ポータルに設置するための SSL証明書(DV・OV)も取り扱っています。
SSL証明書の購入・詳細はこちら / DV・OV・EV の違い


# システム情報の確認
get system status

# インターフェース状態の確認
get system interface physical

# ルーティングテーブルの確認
get router info routing-table all

# ファイアウォールポリシーの一覧
show firewall policy

# FortiGuard ライセンスの状態確認
diagnose autoupdate versions

# ログのリアルタイム表示
diagnose debug flow show function-name enable
diagnose debug enable

FortiGate を運用する上で、証明書には次の 3 種類が登場します。それぞれ役割が異なります。

証明書の種類 用途
FortiGate の管理用証明書 Web GUI(HTTPS)アクセス時のサーバー証明書。デフォルトは自己署名だが、公的 CA の証明書に差し替え可能。
SSL インスペクション用 CA 証明書 ディープインスペクション時に FortiGate が証明書を再発行するための内部 CA。クライアントに配布する。
公開 Web サーバーの SSL証明書 外部ユーザーへ HTTPS を提供するためのサーバー証明書。DigiCert などの公的 CA から取得。

UFW・Fail2ban 設定(Ubuntu 24.04) — Linux サーバーのソフトウェアファイアウォール設定
SSH 公開鍵認証・セキュリティ設定(Ubuntu 24.04)
AES暗号化入門 — 共通鍵暗号の仕組みと TLS との関係


← 技術ドキュメント一覧へ戻る