KUSONEKOの見る世界

FortiGate 備忘録

 ※私の調査結果に基づく内容なので間違っている場合があります。

1. セキュリティプロファイルを作成できない

 [システム]→[表示機能設定]で、[複数のセキュリティプロファイル]を有効にする。

案外忘れやすいし、初心者は気づきにくい。

2. アプリケーションコントロールのモニタが意図したようにならない

アプリケーションコントロールで、動画サイトの閲覧はログに残したいが、Webブラウザのログは残したくない事がある。

普通にGUIで、Video/Audio(category 5)をモニタ、Web.Client(category 25)を許可にしても、動画サイトのログが残らず、SSLが残ってしまう。
どうもログの優先度があるらしく、細かい設定をするにはCLIを使うしか無いようだ。

GUIで設定すると、CLI上では以下のようになる。

config application list
    edit "test"
        config entries
            edit 1
                (略)
            next
            edit 2
                set category 25
                set action pass
                set log disable
            next
        end
    next
end

この状態だと、Web.Client(category 25)は残らないが、Network.Protocol(category 15)のSSLがログに残っていた。肝心のVideo/Audio(category 5)が残らない。
おそらく、edit外の所でVideo/AudioよりNetwork.Protocolが優先されていると思われる。

CLIで以下のように変更することで、動画サイトのログは残し、WebブラウザやSSLのログは残さないことが可能であった。
おそらく、YouTubeなどの動画サイトでは、Video, SSL, Web.Clientの3つ属性があり、edit順でログを残す判定を行っており、edit 2でVideoログを残し、以降(edit外を含む)のログは残らないのだろう。

config application list
    edit "test"
        config entries
            edit 1
                (略)
            next
            edit 2
                set category 5
                set action pass
            next
            edit 3
                set category 25
                set action pass
                set log disable
            next
        end
    next
end

この状態で、GUIで設定を変更すると、元に戻ってしまうので注意。

3. DHCPサーバ機能

3-1. 払い出し可能IP数

Fortigate に払い出し数の制限は無いと思われる。
4000アドレスを払い出すVLANを複数設定しても、問題なし。

3-2. DHCPサーバの冗長化

Fortigateを2台設置し、それぞれIPの払い出し範囲を分けた状態で、
無線LANでローミングする。
そうすると端末からブロードキャストのDHCP Requestが出るが、
払い出していない方のFortigateからDHCP NAKが返ってくる。

期限が近くなると出るDHCP Requestは、ユニキャストのためNAKは返ってこない。

無線LAN環境で、DHCPサーバの冗長化をする場合は、RTXが手軽で良いと言える。

4. 冗長構成時考慮事項

4-1. 複数のHA構成のFortigateがあると通信できない

HAのIDが他のFortigateと重複し、仮想MACが重複している場合がある。
この現象は、Software Switchで複数のVLANをスルーしている際に、VLANが異なっていてもMACが重複しているとフレームを吸い込んでしまうことがある。
素直にIDを変更する。

config system ha
    set group-id 2
end

5. VPN経由でリモートのDNSサーバを参照する

IPsecにより、本社やクラウドと接続し、トンネル経由でリモートのDNSを参照することがあります。
その場合、DNSの送信元IPがWAN側のグローバルIPアドレスになってしまいます。
CLIで以下の様にLAN側のIPを指定できます。

config system dns
    set source-ip 192.168.0.254
end

しかし、上記の設定では、インターネット上のDNS通信もLAN側IPになってしまいます。
例えば、Active Directoryのドメインが含まれるのみ場合のみ、LAN側のIPにする場合は以下の様にします。

config system dns-database
    edit "hoge.local"
        set domain "hoge.local"
        set authoritative disable
        set forwarder "10.0.0.1"
        set source-ip 192.168.0.254
    next
end

これらのDNS解決は、FortigateのDNSサーバ設定が再帰的でなければなりません。

config system dns-server
    edit "internal"
        set mode recursive
    next
end