FortiGateの設計/設定ガイド

FortiGateの設計・設定方法を詳しく書いたサイトです。 FortiGateの基本機能であるFW(ファイアウォール)、IPsec、SSL‐VPN(リモートアクセス)だけでなく、次世代FWとしての機能、セキュリティ機能(アンチウイルス、Webフィルタリング、SPAM対策)、さらにはHA,可視化、レポート設定までも記載します。初期化方法やバージョンアップなどの管理面も書いています。標的型攻撃を守るためのゲートウェイとしても導入されることが多いので、セキュリティ機能に関しては充実した記載を心がけます。

各種の高度な設定

1.VDOMについて

(1)VDOMについて

・FortiGateではVDOM(Virtual Domain)によって、複数の仮想UTMとして動作させることができます。これにより、物理的に1台のハードの中に、VDOMを利用した複数の FortiGateを動かすことができます。
・管理者を VDOM単位に分けることもできますし、本番環境、テスト環境と分けた利用の方法もあります。
・FortiGateでは FG-60D以上のモデルで VDOMを 10VDOM(無償)で利用できます。
※FG-1000C以上でライセンスを購入し VDOM数を増やすこともできます。
・VODMを有効にする CLI操作は以下です。
※FG-60Dなどは CLI操作で有効化する必要があります。
 本操作で再起動は必要ありません。

> config system global

> set vdom-admin enable
> end
 
・各 VDOMは L2モード(トランスペアレント)、L3モード(ルート/NAT)の2種類あります。両モードを混在した使い方もできます。
・ 各 VDOMではセッション数、ポリシー数、VPS(SA数含め)制御できます。
・同様に管理ユーザー側で機能別にリード/ライト制御ができます。

(2)VDOMに関するQ&A

Q1.複数のVDOMで物理ポートを共用できる?

A1.VDOMは L1層から完全に分けます。なので、物理ポートは分ける必要があります。

Q2.異なるVDOMでの通信はできない?
A2.LANケーブルでつなぐか、VDOMリンクを作成する

Q3.IPアドレスの重複はできる?
A3.可能

Q4.ルーティングテーブルは別?
A4.はい、別です。
#get router info routing-table all

Q5.管理者は別?
A5.別々できます

(3)VDOMの設定

入り口部分だけ、簡単に説明します。
①VDOMを有効にするにはCLIから実行する必要があります。

②左上のメニューが「グローバル」であることを確認した上で、「VDOM」メニューを開く。
ここで、「新規作成」ボタンからVDOMを作成します。
名前だけ付けて、あとはデフォルトのままでいいでしょう。

③左上のメニューが「グローバル」であることを確認した上で、「ネットワーク」>「インターフェース」メニューを開く。
たとえば、DMZを作成したVDOMに割り当てる場合、DMZを開き、「バーチャルドメイン」で、作成したVDOMを選択。
※このとき、IFがポリシーなどで使われていたら使えません。

④左上のメニューを作成したVDOMに切り替えます。
さきほど選択したIFが「ネットワーク」>「インターフェース」に出てきます。VDOMが設定されていますので、ポリシーなどを自由に設定できます。

■VDOMを設定する際のインターフェース
書籍に詳しい手順の記載があります。
VDOM用には切り出したポートから作成すると分かりやすと思います。
例は以下です。
【ポート構成】
・internal→そのままrootに残しておくといいでしょう
・wan1、port7 →VDOM1
・wan2、dmz →VDOM2 
こんな感じです。

■VDOMでアプリケーションコントロールなどをする場合
VDOM単位でアプリケーションコントロールなどをすることができます。
表示機能設定で、複数プロファイル設定ができるようにしておきましょう。
アプリケーションコントロールを例に解説します。
セキュリティプロファイル>アプリケーションコントロールを開くと、右上をみると「g-default」になっている。
これは、GlobalのVDOMという意味。なので、個別のVDOMからは編集ができない。
個別のVDOMで編集できるようにするには、新規で作る必要がある

2.L2モード(透過モード)の設定方法

透過(Transparent)モードでも設定できますが、GUIではできません。
GUIから設定する場合は、バーチャルワイヤペアを使うと、NATモードでも特定のポート間でL2で透過の設定ができます。
使いやすいので、この設定方法を説明します。

①「ネットワーク」「インターフェース」にて、「新規作成」「バーチャルワイヤペア」を選びます。

03

②バーチャルワイヤペアの名前を付けて、L2で透過したいポートの組み合わせを選びます。
以下は、ポート1とポート2を選択しています。
52

タグVLANが流れる状態でも透過をしたい場合は、ワイルドカードVLANを有効にします。
インターフェースの設定する際は、ポートが割り当てられていたりすると設定できません。
詳しくはFortiGateで始める企業ネットワークセキュリティに記載があります。

③バーチャルワイヤペアポリシーというのが設定できるようになります。
ここで、通常のFWと同様にポリシーの設定などを行います。
こちらも、ローエンドモデルでは通常のポリシーではできません。詳しくはFortiGateで始める企業ネットワークセキュリティに記載があります。
25

たとえば、以下は、http(80)の通信のみを許可し、それ以外を拒否するポリシーを設定した画面です。
56

■透過モード、DHCPでIPは取れる?
Q.透過モードの場合、ブロードキャストパケットは通過するのでしょうか。

A.はい、通過させることができます。ただし、ポリシー次第のような気がします。
DHCPサーバからIPアドレスを取得することは可能です。
ですが、実験した結果、ポリシーにてLAN側(PC側)→WAN側(DHCPサーバ側)だけを許可したらIPを取得できませんでした。
双方向でポリシーを許可したら、無事にDHCPサーバからIPアドレスを取得できました。

もちろんですが、ポリシーは「IPv4ポリシー」ではなく、「IPv4バーチャルワイヤーペアポリシー」です。

3.サーバを公開する

f:id:seeeko:20200818124151j:plain

サーバを公開する方法を解説します。
グローバルIPアドレスをいくつ保有しているかによって、設定が変わります。

❶グローバルIPアドレスを複数持っている場合

❷グローバルIPアドレスが一つしかない場合
・FWのIPアドレス 203.0.113.101
 ※FWにwebでアクセスする場合は、80、443以外の別のポート番号を割り当てる
・WebサーバのIPアドレス 203.0.113.101
 ※80や443ポートでアクセスする
・メールサーバにIPアドレス  203.0.113.101
 ※25番ポートでアクセスする

4.プロキシサーバの設定

FortiGateをプロキシサーバとして動作させます。
キャッシュ機能を有効にすることはあまりお勧めではありませんが、通信を終端してプロキシ機能を有効にします。既存プロキシサーバを統合する目的での利用が多いことでしょう。

① 設定の有効化
「システム」「FeatureVisibility」にてExplicitプロキシをオンにすることで設定画面項目をGUIに表示する

ExplicitProxy有効化

② プロキシサーバとしての設定

まず、機能として有効化する
次にプロキシサーバとして通信を受けるインタフェースを選択して、利用するポート番号など、プロキシーサーバとしての基本事項を設定する。
PACファイルを利用したい場合にも対応可能
①②でプロキシサーバとして有効化、動作する状態となっているため、続いてプロキシサーバとしての通信ポリシーを以下にて設定する
ExplicitProxy設定

③ プロキシサーバの通信ポリシー

ポリシー&オブジェクトのプロキシポリシーにて専用ポリシーを設定する
出力インタフェース、送信元、宛先アドレスを指定し、プロキシー通信に適用したいセキュリティ機能を設定する(例:アンチウィルス、ウェブフィルタ)
※明示的にクライアントブラウザでプロキシサーバを設定する利用方法がプロキシタイプのExplicitWebであり、指定せずに透過的にプロキシ処理する
 方法は、トランスペアレントWebであり、タイプで選択可能また、通信ログに関してもWebフィルタを有効化することでコンテンツレベルのログまで取得可能
ProxyPolicy設定

④ プロキシサーバのポリシーリスト確認

ProxyPolicyList

(1)概要

・FortiGateのLink Moniter(リンクモニター)は、CiscoでいうIP-SLAで、WAN回線などを冗長化しているときの、回線の切り替わりに活用する。
・監視先にpingなどの通信が届かなくなったときに、そのIFがルーティングテーブルから消える。
・ForiOS7.4.3 SD-WANからGUIで設定。SD-WANの方が、回線の冗長化などもできるので、やりやすい気がします。
https://docs.fortinet.com/document/fortigate/7.4.3/administration-guide/580649/link-health-monitor

(2)構成

・WAN1とWAN2を利用していて、メインがWAN1を使う(負荷分散をしない)
・スタティックルートで、WAN1のメトリックを小さくする。

(3)設定例

設定はCLIから行う。
まずはパラメータから

設定項目 内容 設定例
server 監視するサーバ 8.8.8.8
set server "8.8.8.8" "1.1.1.1"
set server "www.example.com"
srfintf スタティックルートを消すIF wan1
protocol 通信プロトコル ping
interval 通信する間隔(秒)。たとえば、ping監視を行う間隔 20以上。デフォルトは500
failtime 何回失敗で切り替えるか  
recoverytime 復旧するための成功した通信回数  

実際に投入したConfig。今回は早く切り替えたかったので、パラメータは調整した。

config system link-monitor
edit 1
set server 8.8.8.8
set srcintf wan1
set interval 20
set failtime 5
set recoverytime 100
next
end

設定確認もshow full-configuration system link-monitorコマンドから。以下のようにデフォルトで入る値がいくつか表示される。

FortiGate# show full-configuration system link-monitor
config system link-monitor
    edit "1"
        set addr-mode ipv4
        set srcintf "wan1"
        set server-config default
        set server-type static
        set server "8.8.8.8"
        set protocol ping
        set gateway-ip 0.0.0.0
        set source-ip 0.0.0.0
        set interval 20
        set probe-timeout 500
        set failtime 5
        set recoverytime 100
        set probe-count 30
        set ha-priority 1
        set update-cascade-interface enable
        set update-static-route enable
        set update-policy-route enable
        set status enable
        set diffservcode 000000
        unset class-id
        set service-detection disable
    next
end
(4)切り替えテスト

・WAN1のIFをダウンさせると、インターフェースが落ちるので、Link Moniterは不要。
・WAN1のIFをダウンさせず、その先のNWを切断した。
・結果は以下。通信が切れたのは、3秒ほど。ping切断は2回。

・ルートテーブルを見る。

get router info routing-table all

すると、以下のように、WAN1のルートが消えている。(WAN2のルートのみになっている)

6.無線のコントローラー設定

FortiGateは FortiAPと言う無線 APの管理、制御を行うことが出来ます。

また FortiAPと FortiGate間で、

・CAPWAPトンネル(UTMを無線通信に利用可能)
・FortiAPでブリッジ

を行えます。

同様に無線Clientのアソシエート情報やノイズ状況など電波出力状態を監視することも可能です。

WiFiコントローラは、システム>設定>フィーチャーより以下を有効にし設定を行います。
fortigate-wifi1
 
設定項目は GUIの左にある項目に Wifiコントローラー項目として追加されます。fortigate-wifi2

各設定項目は、

・WiFiネットワーク
 SSID:ココで作成した名称が FortiGateからは無線インターフェース名として認識されます。
     一般的な無線の暗号化方式や DHCPサーバーの設定などを行います。

 FortiAPプロファイル:FortiGateが管理する APの種別、電波出力状況、IEEE規格などを設定します。

 WIDS:無線用の IPS設定を行います。
      デフォルトプロファイルがあるので、そのまま利用するで構いません。

・マネージドアクセスポイント
 FortiGateがどの APを管理下に置くかを決めます。
 ココで管理下に置くことを決定すると、WiFiネットワークで作成したプロファイル情報を APに流し込みます。
 ※APは ZeroConfigで動きます。

・モニター
 FortiGateの管理下にある APの状況、クライアントの状況を GUIで確認できます。

□WiFiネットワーク
fortigate-wifi3-int1

インターフェース名:FortiGateから見ると仮想インターフェースで認識します。
             このインターフェースを使い、Firewall Policyを適用できます。

トラフィックモード:CAPWAPを利用するか、ブリッジで利用するかを選択します。

WiFi設定:無線用の SSIDなど設定を行います。

※Broadcast SSID 設定はデフォルトで有効になっています。
 これはビーコンで SSIDを周囲に通知する設定です。ステルス(周囲に SSIDを通知したくない)場合は
 チェックを外してください。

その他設定は通常のインターフェースで設定する DHCP、デバイス識別、ExplicitProxyなど
を設定します。

※無線の設定を行う場合、下記設定を注意してください。
 > config wireless-controller setting
   > set cuntry JP
   > ed

    無線を利用する国の指定が JP:日本 を示していること。


□FortiAP プロファイル
fortigate-wifi3-ap1

FortiGateが管理する 無線APをどのようなモードで使うか設定します。

アクセスポイント:無線APとしての利用です。無線クライアントをアソシエートします。
モニタ専用:不正な無線APの配置がないか探索するモードです。
         必要であればその不正な無線APからの通信を防ぐ事もできます。

無線資源自動配置:電子レンジなど無線通信に影響が考えられる chを外し、無線APを配置します。

クライアントロードバランス:周波数(2.4Ghz → 5Ghaz) 干渉の少ない方に誘導
                 APハンドオフ 干渉の少ない方に誘導

 □WIDSプロファイル
fortigate-wifi3-wids1

Rouage AP検知を有効:にチェックすることで、不正な AP配置がないか監視します。
必要に応じ不正とみなす APからの通信に Resetパケットを返信し、トラフィックを防御させることもできます。

その他、多様な侵入タイプに対し「しきい値」、間隔を設定することも出来ます。

□マネージドFortiAP
fortigate-wifi3-manage1

 FortiGateの管理下に置く無線AP(FortiAP)を選択します。
承認ボタンを押すと、管理下に置かれます。

承認すると、上記「状態」のオレンジマークが、緑マークに変化します。
fortigate-wifi3-manage2

管理下にある FortiAPは定期的に FortiGateから監視しています。
監視が途絶えるとログ等で通知します。

Capwapモードの場合は FortiGateとトンネルを確立するため、監視が途絶える=通信が出来なくなる状態です。
ブリッジモードの場合は、監視が途絶えるだけで無線AP側の通信は維持します。
但し無線APが再起動などしている場合は、その間の通信は出来ません。


同様に、管理下に置いた APを再起動、ファームアップ、プロファイルの変更を行うことが出来ます。 

6.サーバーロードバランス

FortigGateでは L4レベルで負荷分散を行うことができます。
但し全ての通信は CPU処理になり、過負荷を見極めるためにも事前に検証は
必要です。

UTM機能と併用する時は必ず事前に負荷試験を実施して利用してください。

サーバーロードバランスは、システム>設定>フィーチャーより以下を有効にし
設定を行います。

FortiGate-LB1

 ポリシー&オブジェクト>ロードバランス>バーチャルサーバー>新規作成から
設定を行います。

設定のイメージは、

・リアルサーバー:実際に負荷分散される対象のサーバー
・ヘルスチェック:FortiGateからリアルサーバーを監視する方式

上記2つをバーチャルサーバー機能に追加します。
※バーチャルサーバー機能では負荷分散の対象プロトコル、分散方式などを決めます。

ココで作成した内容を Firewall Policyへ適用することで完了します。

バーチャルサーバーの画面は、以下です。
対象ポート、バーチャルIPを作成していきます。

※モデルにより異なりますが、1つのバーチャルIPに関連付けられるリアルサーバーは4台、8台、
  32台になります。

FortiGate-LB2

タイプで選択できるのは以下です。
FortiGate-LB3

どのプロトコルを負荷分散の対象にするか選択します。
※セキュアプロトコルを分散する際は、パーシステンスの設定や、SSLオフロードを
 FortiGateで終端するかなどを併せて決めます。

ロードバランス方式は以下 7種類より選択します。
FortiGate-LB4

 これから方式の内、FirstAlive、LeastRTT、などはヘルスチェック機能を利用します。


 ポリシー&オブジェクト>ロードバランス>リアルサーバー で分散対象のサーバーを設定します。

 FortiGate-LB5

IPアドレスは実際のサーバーに設定している IPアドレスを入力します。
最大コネクション数はサーバーのスペックに応じて変更してください。

モードではアクティブ、スタンバイ、無効の3つを選択できます。

・アクティブ
 負荷分散の対象になります。

・スタンバイ
 アクティブサーバーが Downした際、代わりに利用されるサーバーです。
 Downしたサーバーが復帰すると、スタンバイに自動で遷移します。

・無効
 負荷分散の対象から外れます。

 
ポリシー&オブジェクト>ロードバランス>ヘルスチェック でサーバー監視方法を設定します。
監視タイプは TCP、HTTP、PING の3種類から選択できます。

TCP)
FortiGate-LB6

リアルサーバーに TCPパケットを送信し、応答時間に応じて UPを確認します。
TCP確認になり、間隔を短くするとサーバー側の負荷も増加します。

HTTP)
FortiGate-LB7

リアルサーバーが Webサーバーの場合に利用します。
監視対象を URLで指定できます。

PING)
FortiGate-LB8

もっとも利用されることが多い監視方法かも知れません。
PINGになるため、 サーバーまでに経路やサーバー側で ICMPを許可する必要があります。

リアルサーバー、ヘルスチェックを以下で設定した場合は、

リアルサーバー)
FortiGate-LB9

※サーバーアドレス、172.16.1.99 ~ 1.101
 172.16.1.101 のサーバのみ Downしている状態。

ヘルスチェック)
FortiGate-LB10

※サーバーアドレス、172.16.1.99 ~ 1.101
 172.16.1.101 のサーバのみ Downしている状態。

この状態でロードバランスのモニターは以下の状態になります。
FortiGate-LB11

上記で作成した内容をバーチャルサーバーに適用します。
FortiGate-LB13

バーチャルIPを 200.200.200.99 で設定。
バーチャルポートを 80で設定。

本設定を Firewall Policyに適用します。
FortiGate-LB12

宛先アドレスに選択しているのがバーチャルサーバーで作成したものです。
これでバーチャルIP 200.200.200.99+TCP80 宛ての通信を 172.16.1.99~101 のサーバーに対し、負荷分散します。