FortiGateの設計/設定ガイド

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

基本設定

インターフェースの設定

1.インターフェースに関して

(1)インターフェースとIPアドレスの関係

Fortigate-interface-IPaddress

(2)VLAN設定の考え方

デフォルトでは、各インターフェースごとに異なるセグメントが割り当てられている。
インターフェースをまとめて一つのセグメントにするには、スイッチグループの設定をする。

タグVLANは、一つのインターフェースにタグVLANの設定をする。

(3)コネクション

コネクションという言葉がふさわしいかどうかは分からないが、以下が可能である。

・物理ポートに対して1回線を収容できます。

・インターネット回線が1本で、プロバイダとの接続も1つである。この状態で、IPsecによるインターネットVPNをしながら、インターネットへのWEB閲覧が可能か
→可能である。

2.ネットワークインターフェースの設定(LAN側)
システム>ネットワーク>インターフェースを開く
設定する物理IFを選択する。
 fortigate_if
今回はinternal(LAN側)をまずは変更するので、ダブルクリック
fortigate_ip
このままでよければいいし、たとえばIPアドレスを変える場合は、IP/ネットワークマスクのところを変更する。
それ以外には、DHCPの設定を変更したり、不要ならばSTPを無効(チェックを外す)でもいいだろう。 

WAN側も同様。PPPoEの設定をする場合には、以下のようにPPPoEのラジオボタンを選択して、情報を入力する。
fortigate_pppoe

3.ネットワークインターフェースの設定(WAN側)

システム>ネットワーク>インターフェースを開き、 WAN側のインターフェースを選択します。 WAN側の設定には、以下の3つがあります。(画面も参照ください) ①マニュアル ②DHCP ③PPPoE  ③PPPoE PPPoEの設定をする場合には、以下のようにPPPoEのラジオボタンを選択して、情報を入力する。(旧画面)   新画面は以下です。 ②DHCP 以下は、WANをDHCPによるIPアドレスの自動取得にした設定です。 IPアドレスが自動取得されています。 ③固定で設定した場合 DHCPやPPPoEで設定すると、自動でデフォルトゲートウェイも取得することでしょう。しかし、固定で設定すると、デフォルトゲートウェイは自分で設定しなければいけません。 しかし、設定する場所がありません。 設定はルーティングで設定します。具体的には「ネットワーク」>「スタティックルート」で設定。

4.2つの動作モード

FortiGateに限らず、多くのUTM製品で同じことですが、動作モードがあります。
メーカーによって、3つだったり4つだったりしますが、FortiGateでは2つの動作モードがあります。

❶NAT/ルートモード
 ・L3機器として動作します。
 ・通常のファイアウォールはこの形です。
 ・IPアドレスを複数持ち、ルーティングします。

 ※別途、バーチャルワイヤペアを使うと、NATモードでも特定のポート間でL2で透過の設定ができます。

❷透過(Transparent)モード
 ・L2機器として動作します。
 ・ルーティングしませんから、HUBのようなものと思えばいいでしょう。
 ・IPアドレスは、管理用しか持ちません。
 ・従来のネットワーク構成を変えずに、あとからFWを追加するのには便利です。

5.VLANの設定
システム>ネットワーク>インターフェースの左上の「Create New」ボタンを押す

以下の画面で、VLANの設定を入力する 
fortigate_vlan









6.ポート6、7を新しいネットワークにする

スイッチのポートをもう一つ作る設置です。
デフォルトだと、ハードウェアスイッチが一つあります。
LANのポート1~7が一つのスイッチとなっています。
これを、もう一つ作ります。今回は、1つ目のハードウェアスイッチから6番と7番ポートを外します。
そして、6番と7番を一つのハードウェアスイッチ(LAN2)とします。

➀Network Interfaceから、「Create New」「New Interface」を選択
lan

②Network Interfaceの画面から新規に作成するInterfaceの設定を入れる。
・Interface Nameを入れる
・「Type」を「Hardware Switch」にする。
・Interface Membersとして、インターフェースの6番と7番を入れる
→他で使われていると表示されない。なので、他の「Hardware Switch」でインターフェースを削除しておく必要がある。
・アドレス情報を入れる
lan2

③「OK」をして作成が終わると、以下のように表示される。
lan3

CLI

1.GUIかCLIか

▼GUIで設定するか、CLIで設定するか
FortiGateはGUIが充実しており、GUIでの設定が推奨である。
ただ、GUIですべての設定ができるわけではなく、CLIでしかできない設定もある。
その場合は、GUIとCLIを組み合わせることになる。

▼CLIの設定方法
2つの方法があります。
①CONSOLEポートの接続してCLIを設定する
②GUI画面から設定する(次で解説)

▼GUIからCLIを設定する方法
➀旧OSの場合
「ダッシュボード」>「CLIコンソール」から行う。
cli

ここで、黒い部分をクリックすると、コマンドが入力できるようになる。
以下はConfigを見るためにshow full-configration を実行した画面
cli2

②新OSの場合
CLIの設定 右上の >_ のボタンから行います。
cli

 

  

2.CLIの基本コマンド

CLIの基本コマンドを以下に書きます。

① 設定を行うためのコマンド
  Config ”各階層”、edite ”設定したい階層名”、set ”パラメーター”、next、end (設定の保存)※
  ※操作結果に違いがあり、nextは設定している階層を維持し、endは設定している階層から外れます。

  例)wan1 インターフェースに IPアドレスを設定する
  FGT  # config system interface
     FGT(interface)# edite wan1
     FGT (wan1)# set mode static
     FGT (wan1)# set ip 192.168.1.99/24
     FGT (wan1)# end

② 設定した情報を確認するコマンド
  ”各階層” show 実行
  ※ show full-configuration は変更以外(初期値)の設定情報も確認可能。

  例)wan1 インターフェースに IPアドレスを設定した出力例

     FGT  # config system interface 
     FGT (interface) # edite wan1

 

     FGT (wan1) # show
      config system interface
         edit "wan1"
             set vdom "root"
             set ip 192.168.1.99 255.255.255.0
             set type physical
             set snmp-index 2
          next
      end 


③ 各ステータス情報を確認するためのコマンド
  ”各階層” get 実行
  ※show コマンドとの違いはステータス情報の出力

  例)wan1 インターフェースに IPアドレスを設定した出力例

     FGT # config system interface 
     FGT (interface) # edit wan1

 

     FGT (wan1) # get
     name                : wan1 
     vdom                : root 
     cli-conn-status     : 0
     mode                : static 
     dhcp-relay-service  : disable 
     ip                  : 192.168.1.99 255.255.255.0
     allowaccess         : 
     fail-detect         : disable 

     ~ 省略 ~ 
 

④ 実行コマンド(即時実行)
  execute ”パラメーター”
  ※ARPのクリア、DHCP、PPPoEの再接続、VPNなど作業時に必要なものから
   時刻設定などメンテナンスに利用できるものなど多岐にわたります。

   例)ARPテーブルのクリア
   FGT # execute clear system arp table

     例) Pingの実行
  FGT # execute ping "IPアドレス"
  ※ping-option で実行回数、送信元アドレス、データーサイズの調整可能。
  
⑤  コマンドの階層確認、最大入力文字数確認コマンド
   ”各階層” tree 実行

  例)wan1 インターフェースで実行した出力例

     FGT # config system interface 
     FGT (interface) # edit wan1

 

     FGT (wan1) # tree
     -- [interface] --*name (16)
                    |- vdom (12)
                    |- cli-conn-status (0,0)
                    |- mode 
                    |- distance (1,255)
                    |- priority (0,0)
                    |- dhcp-relay-service 
                    |- dhcp-relay-ip 
                    |- dhcp-relay-type 
                    |- ip 


   ※( )内の数字が最大入力文字数、最大値の数値になります。 
 

3.ネットワーク関連のCLI

ネットワーク関連のCLI

■1.ネットワークの設定を確認
# config system interface
(interface)# edit port1
(interface)# show


■2.IPアドレスを設定する
# config system interface
(interface)# edit port1
(interface)# set ip 10.1.1.1/24

■3.IPアドレスの情報を見る
# get system interface

■4.pingでの疎通確認
execute ping 8.8.8.8

■5.adminパスワード変更
FGT#config system admin
FGT(admin)#edit admin
FGT(admin)#set password パスワード

■6.ルーティングテーブルを見る
get router info routing-table all

■その他

・TIME Zoneの設定
#config system global
# set timezone 60
#end

ネットワーク関連の設定

1.ルーティングの設定

1)FortiGateで利用できるルーティングプロトコル

Static、RIP、OSPF、BGPが動作します。BGPはGUIでは設定できず、CLIからになります。ファイアウォールなので、ルーティングの設定をすることはそれほどないと思いますが、通常のルータのように各種の設定ができます。RIPやOSPFも利用できます。

2)ルーティングの設定(Static)

 ①ネットワーク > ルーティング を開きます。
routing

 ②「新規作成」ボタンから、ルーティングテーブルを作成します。
 宛先セグメント、経路となるデバイス(インターフェース)、ゲートウェイ(のIPアドレス)を設定します。
routing2

FortiGateを勉強する女性SE (10) 

アドミニストレーティブディスタンスって何ですか?




経路の優先度です。たとえば、Staticルートと動的ルートで2つの経路情報があった場合に、どちらを優先するかです。ForiGateの場合は、Staticルートがデフォルトでは10に設定されています。(Ciscoの場合はデフォルトが1)。値を変更する必要はなく、このままの設定で「OK」を押します。

3)経路情報(ルーティングテーブル)の確認方法

ネットワーク > ルーティング を開きます。
以下の「ルーティングモニタ」で、経路情報が確認できます。 ★★★詳細は別途
routingtable















2.DHCPの設定

ここでは、DHCPの設定をします。
FortiGateを勉強する女性SE (13) 
FortiGateがDHCPサーバになって、PCにIPアドレスを払い出すということですね。
はい、そうです。
設定は、ネットワーク > インターフェース の設定から実施します。
dhcp

LAN側のPCにIPアドレスを払い出しますので、LANのインターフェースをダブルクリックします。
すると、DHCPサーバの設定画面が開きます。デフォルトでは、192.168.1.110-210のIPアドレスの払出し設定がされています。
dhcp2
DHCPで払い出すのは、IPアドレスだけではなく、デフォルトゲートウェイやDNSもです。「指定」を押すと、個別に変更が可能です。

「高度な設定」を押すと、DHCPリレーの設定をしたり、オプションで別の情報を配信することも可能です。
dhcp3














3.DNSの設定

DNSの設定を解説します。
クライアントPCに払い出すDNSの設定ではなく、FortiGateが名前解決する場合のDNSサーバの設定です。
FortiGateを勉強する女性SE (21) 

FortiGateが名前解決をする必要があるのですか?
FWで利用する分には、不要だと思います。
その通りです。PCの場合、DNSの設定がないとインターネットにアクセスできません。一方、FortiGateは、DNSの名前解決ができなくても、FWとしては動きます。ただ、ライセンス認証ができないので、URLフィルタなどが利用できなくなるでしょう。

さて、設定は、「ネットワーク」>「DNS」から実施します。
FortiGateのWANのインターフェースを、DHCPクライアントとして設定した場合は、割り当てられたDNSサーバを利用します。
また、FortiGateのDNSサーバも用意されています。
dns








4.マルチホーミング

マルチホーミングとはインターネット回線を冗長化する仕組みです。
これを実現するには、ロードバランサの専用機が必要になることが多いのですが、FortiGateはマルチホーミングの機能を持っています。

具体的には、WANロードバランスと言う機能で実現します。従来からサポートしている ECMPでの分散以外に回線利用率、重み付け、バランシングアルゴリズムを利用した負荷分散など多様な機能をサポートしています。

設定はネットワーク項目の WAN LLB欄で実施します。
※以下から設定します。
FortiGate-WanLB1
設定画面ですが、以下の中で詳細を設定します。
WANの負荷分散をさせるインターフェースを指定したり、分散方法をラウンドロビンや、帯域利用率、IPアドレスの組み合わせ等々から選択します。
FortiGate-WanLB2
WAN LLB機能は、LAN から WANへ接続する場合に回線負荷分散させる機能です。

この機能の逆に WANから公開サーバー宛ての通信を分散させたい場合があります。サーバーをバランシングしたい場合です。つまり、公開Webサーバへのトラフィックを制御することです。 
本設定は、Firewallの VIP(Virtual IP)を利用します。
設定は、下記 ヴァーチャルサーバー 項目で実施します。
SLB1
設定の詳細は、以下になります。
SLB2
主な設定項目を解説します。
・タイプ:分散対象のプロトコルを指定します。 HTTP/HTTPS、TCP、UDP等様々なプロトコルを選択できます。
・ローバランシング方法: 分散方法をラウンドロビン、重み付け等から選択します。
・パーシステンス:SSL通信に対し Cookie等を監視した方法にするか選択します。
・SSLオフローディング:SSLの終端を FortiGateにするか、リアルサーバーを終端させるかなどを選択します。
・ヘルスチェック:分散対象のリアルサーバーをどの方式で監視するかを選択します。 必要に応じて Active、Backupサーバーとサーバーの冗長制御をさせることも可能です。

SSL処理などパーシステンスを利用する場合、メモリを多量消費するため、メモリ利用率は注視する必要が
あります。 

動作試験

1.FWおよびUTMの試験について

FWおよびUTMの試験について簡単に記載します。
これがすべてではないので、あくまでも参考としてお考え下さい。

■1.試験方法
①設定の目視確認
 設計書と実機を見比べる目視確認により、設定パラメータやポリシーの確認をする
②実地試験
 pingで実際に通信させたり、攻撃をしかけるなどして試験をする

■2.試験内容
(1)基本機能の試験
・ネットワークの設定
・DNS、NTPなど
(2)通信試験
 FWの各セグメントから、ポリシー通りに通信ができるか、および禁止されている通信が拒否されるかを確認する。
(3)UTM試験
・AV 
 →eicarによるテスト
 http://www.viva-fortigate.com/archives/70854400.html
・IPS
 →SQLインジェクションの攻撃を入れてみる、またはURLに/etc/passwdをつけてみる。

https://www.viva-fortigate.com/archives/70694841.html

 ・URLフィルタ
・アプリケーションコントロール
など
(4)侵入テスト、脆弱性試験
①ポートスキャン
空いているポートを確認
②ツールによる試験
Nessusなどを使って、簡易なプラットフォーム診断
(5)各種管理機能の試験
・SNMPによる管理
・ログが取得できているか など
(6)冗長化試験
切り替わり、切断時間、セッションの維持ができるか
切り戻りについても確認(多くは、自動切り戻りしない設定にしているはず)

2.FWのテスト-- PortScan

PortScanもFWの重要な試験の一つである。

①nmap
Linuxにてnmapをイントール
# yum install nmap
# nmap 203.0.113.212  ←このIPの空いているポートを探す。
または、以下のようにオプション-sSをつけるとステルススキャン
# nmap 203.0.113.212 -sS
結果は以下のような感じ。
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
80/tcp   open  http
443/tcp  open  https
※なぜかFTPがいつも空いていると表示される。

②telnetコマンド
または、PCにてtelnetclientを有効にする。
プログラム>プログラムと機能>Windowsの機能の有効化または無効化>Telnet Clientを有効に
# telnet 203.0.113.212 21 ←ポート番号を指定して接続接続できれば空いている。