FortiGateの設計/設定ガイド

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

Webフィルタ(WebFilter)

1.Webフィルタ(WebFilter)について

1.1 Webフィルタとは

許可するWebサイトをフィルター(選別)することです。
(1)Webフィルタリングの目的
社員に対し、業務に関係が無いサイトへのアクセスを禁止することです。
たとえば、FortiGuardカテゴリにある「アダルト/成人コンテンツ」や「一般的な趣味・関心」にある「ゲーム」「スポーツ」「オークション」などを禁止します。

加えて、セキュリティを守るためにも大事な機能です。
たとえば、攻撃者は自らが用意した不審なサイトに巧みに誘導し、ウイルスを感染させたり、情報を抜き取ったりします。それらのサイト(C&Cサーバ)への通信をFortiGateが自動で防御するのです。
 
(2)FortiGateのWebフィルタリングでできること
・FortiGuardカテゴリ単位で、Webをフィルタリングする。
・ブラックリストとして、個別のURLのフィルタリングの設定
・上記のWebフィルタリングをポリシーとして、セグメント単位などのグループ単位で設定を適用
・設定したWebフィルタリングに対して、許可、ブロック、モニタ、警告、認証の5つの設定ができます。
・3つの検知モード(Inspection Mode)が選べます。負荷と検査の精度のバランスに応じて設定できます。
・その他、詳細な設定ができますが、詳しくは設定の記事で記載します。

1.2 ライセンス

Webフィルタリングを利用するには、別途ライセンスが必要です。
Webフィルタリング用のライセンス(1年更新)を購入するか、AVやIPSなどの機能が含まれたバンドル版を購入します。
フィルタリングするURLを手動で設定(ブラックリスト)をする場合は、ライセンスは不要です。

1.3 エンジンやデータベース

・Webフィルタリングのエンジンは独自です。
・フィタリングの情報は、定期的に更新されます。更新周期は非公開です。

1.4 WebフィルタとURLフィルタは別物?

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

WebフィルタとURLフィルタは別物って、どういう意味ですか?
FortiGateでは、WebフィルタとURLフィルタを分けています。
ライセンスを購入した場合はWebフィルタを利用します。基本はカテゴリベースです。
ライセンスを購入しなかった場合は、URLフィルタを利用します。ホワイトリストで書く必要があります。

▼WebフィルタとURLフィルタの切り替え
有償ライセンスを購入した場合、WebフィルタとURLフィルタの切り替えをProfile単位で設定することができます。
設定は、一番上の「FortiGuardカテゴリーによるフィルタ」を無効(灰色。ボタンをクリックで切り替え)します。加えて、下にある「URLフィルタ」を有効にします。

FortiGate-WebFilter4

1.5 IPアドレス単位やドメインでのURLフィルタは可能?

URLフィルタリングはURLのフィルタです。つまり、たとえば以下がURLです
https://www.viva-fortigate.com/archives/webfilter

では、以下のURLフィルタはできるのでしょうか。
FortiGateでは、Webフィルタ(ライセンス購入)とURLフィルタ(ライセンス未購入)を分けています。以下の内容は、Webフィルタならすべてできますが、URLフィルタの場合は、以下のように可否があります。

項目 可否
IPアドレス 192.168.1.1 ○(可能)
IPアドレスが含まれるURL http://192.168.1.1/archives/70705139.html
ドメインおよびサブドメイン viva-fortigate.com ワイルドカードを使えば可能
サブフォルダ http://www.viva-fortigate.com/archives/
※完全なURLではなく、途中まで。
途中までは無理。
サブフォルダまでの完全一致であれば可能
URLの一部 URLの一部にfortigateが含まれている場合 前後にワイルドカードを入れて「*fortigate*」という設定で可能

1.6 SSL通信をURLフィルタリングできる?

詳しくはSSLインスペクションの記事に記載していますが、基本的にはできません。
URL情報は、HTTPのデータ部分に入っていて、SSL通信では暗号化されているからです。
そこで、SSLインスペクションが必要です。

2.Webフィルタの設定

2.1 デフォルトのプロファイル

セキュリティプロファイル > Webフィルタを選択すると、以下のように3つのプロファイルが準備されています。

名前 表記 解説
default Default web filtering. デフォルトというか、標準的な設定
monitor-all Monitor and log all visited URLs, flow-based. 全てモニター
wifi-default Default configuration for offloading WiFi traffic. WiFiトラフィックをオフロード

※wifi-defaultは、defaultとたしか同じはず。Wifi通信をオフロード(APやコントローラと役割分担して最適化)するような意味だったと思う。

2.2 プロファイルの適用

設定は、AVなどの設定と同様に、ポリシーに対して、作成したプロファイルを割り当てます。

2.3 プロファイルの作成や編集

セキュリティプロファイル > Webフィルタ から新規作成でプロファイルを作成できます。
defaultはなるべく編集せずに残しておきましょう。

カテゴリに関しては、この後に記載します。
細かな設定。

▼レーティング
何らかの理由で FortiGuardのカテゴリ判定が受けられない場合に、どう処理をさせるかを設定できます。
レーティングエラー時に一時的に Webサイトを許可することもできます。
またドメインと IPアドレスで URLをレーティングすることで悪意のあるサイトの IPアドレスの変化に対応できます。

▼プロキシオプション
コンテンツ処理を行うことができます。
特定カテゴリに含まれるサイトのみ、Postアクションを制御し、例えばサイトを読むことは可能だが書込み(掲示板など)のみ禁止することができます。

2.4 アクション

設定したWebフィルタリングに対して、許可、ブロック、モニタ、警告、認証の5つの設定ができます。

アクション 内容
許可 通信を許可
ブロック 通信を止めます
モニタ 通信を許可しますが、アクセスコンテンツ含め、ログに出力します
警告 利用者のWeb画面上に警告メッセージを出し、注意喚起を行います。
認証 IDとパスワード認証します。認証に成功すると、Webサイトが表示されます。

※警告メッセージは、GUIのシステム内の差し替えメッセージで確認でき、直接編集も可能です。

2.5 検知モード(Inspection Mode)

ForiGateのWebFilterでは、プロキシ、フローベース、DNSの3つの検知モード(Inspection Mode)があります。→DNSの検知モードはDNSフィルタとして独立したと思われる。
前の方が検査の精度が高くなります。しかし、処理負荷も高くなります。
実際に動作をさせてみて、処理の負荷に応じてモードを切り替えるのも方法の一つです。
※ただ、セキュリティの観点から、推奨は検査精度がもっとも高いプロキシモードです。

❶プロキシモード
プロキシはもっとも多くの設定、検査が出来るモードですが、変わりに機器の負荷はもっとも高くなります。
※ユーザー認証機能を利用する場合はプロキシモード以外選択できません。

❷フローベースモード
カテゴリ処理、レーティング処理のみ利用するのであれば、本モードで十二分に効果があります。
また、機器の処理負荷もプロキシモードと比較して小さくなります。

❸DNSモード
機器への負荷がもっとも少ないモードです。このモードではセーフサーチ機能が利用できません。

3.Webフィルタのカテゴリ

3.1 カテゴリ

FortiGateでは、「FortiGuard カテゴリーによるフィルタ」として、以下のカテゴリが用意されています。
FortiGateを勉強する女性SE (はてな) 

世の中には数えきれないくらいのURLがあると思います。
それらのURLがどこカテゴリになるのか、FortiGateは記憶しているのですか?
いいえ、FortiGateはどの URLがどのカテゴリに属するかを全て把握しているわけではありません。
仕組みは以下です。
① ある URLへの接続が発生
② FortiGateは Webフィルタで URL情報を検知
③ FortiGateは該当 URLの情報を FortiGuardセンター(Fortinetの有するセキュリティセンタ)に照会
④ FortiGuradセンターから該当 URLの照会結果(どのカテゴリの URLか)回答
⑤ FortiGateは回答結果から URLのカテゴリ情報を判断し、設定に基づいたアクションを実行

③の処理を行う事で、FortiGateは全ての URL情報を把握していないくても、カテゴリ制御をうまく制御できるようにしています。

また都度、③の FortiGuardセンターに照会していると通信遅延に陥る場合も考えられるため、④の照会結果を FortiGateではデフォルト 3600秒(1時間)学習し、同じ URLへの接続がある場会は、学習された結果を利用することで無駄な処理を低減しています。
※学習時間は任意に変更可能です。メモリを圧迫するような状況の場合は学習時間を短くすることをお勧めします。

・Webサイトがどのカテゴリに合致しているかは、以下で検索することができる。
https://www.fortiguard.com/webfilter

カテゴリ サブカテゴリ
■ローカルカテゴリ 独自に作成したカテゴリのことです。
■違法性・犯罪性の高いサイト ・テロと過激論者(過激派グループ)
・ドラッグ (薬物乱用)
・ハッキング・不正アクセス
・プロキシサーバ回避
・児童虐待
・剽窃・盗作
・差別
・明示的な暴力
・違法・非倫理的
■成人/アダルトコンテンツ ・その他アダルトマテリアル
・アルコール
・ギャンブル
・タバコ
・ヌード(裸体)
・ポルノ
・下着・水泳着
・中絶
・兵器(販売)
・出会い
・唱道団体
・大麻(マリファナ)
・性教育
・民間信仰
・狩り・戦争ゲーム
■帯域を消費しやすいサイト ・ストリーミングメディア.ダウンロード
・インターネットラジオ/テレビ
・インターネット電話(IP電話)
・ファイル共有と保存
・フリーウェア・ソフトウェアダウンロード
・P2Pファイル共有
■セキュリティ上問題のあるサイト ・スパム URL
・ダイナミックDNS
・フィッシング(詐欺)
・悪意のあるサイト
■一般的な趣味・関心 - 個人 ・インスタントメッセージング
・ウェブチャット
・ウェブベースメール
・エンタテインメント
・オンラインブローカー・取引(仲買業)
・オークション
・ゲーム
・コンテンツサーバ
・ショッピング
・スポーツ
・ソーシャル・ネットワーキング
・ドメイン.パーキング
・ニュースとメディア
・ニュースグループ・伝言板
・リファレンスサイト(辞書サービス等)
・レストラン・飲食
・不動産
・世界宗教
・個人サイト.ブログ
・個人個人プライバシー
・個人用の乗り物
・健康とウエルネス
・児童教育
・動的コンテンツ
・広告
・政治団体
・教育
・旅行
・民間伝承
・求人情報
・無意味なコンテンツ
・社会・ライフスタイル
・芸術と文化
・薬剤・サプリメント
・電子ポストカード
■一般的な趣味・関心 - ビジネス ・IT
・ウェブベースのアプリケーション
・ウェブホスティング
・サーチエンジン・ポータルサイト
・ビジネス
・一般的な組織
・安全サイト
・情報・コンピュータセキュリティ
・政府機関と法的組織
・軍事機関(軍隊)
・金融・バンキングサービス(財政と銀行業)
■未分類 独自に分類できるカテゴリです。

3.2 事前に設定されたフィルタ

以下の4つのカテゴリがあり、レベルによってFortiGateが選定してくれている。

設定 意味 内容
Custom - 自分で選択
G General Audiences 子供が見ても安心。つまり、制限が一番厳しい
PG-13 Parental Guidance-13 13歳以下の子供には注意が必要 .
R Restricted 17歳未満の方は保護者の同伴が必要。GやPG-13に比べると制限は弱い

4.個別のWebフィルタリスト(ブラックリストやホワイトリスト)

(1)既存のフィルタに追加(ライセンス必要)

個別のWebフィルタリスト(ブラックリストやホワイトリスト)の作成方法です。ライセンスを購入している場合を想定しています。

①セキュリティプロファイル > Webレーティングオーバーライド を開きます。
FortiGate-WebFilter1

②登録したいURLを入力し、任意のカテゴリに入れます。
たとえば、禁止するブラックリストを作りたい場合、未分類に入れて、次のアクションでブロックします。
FortiGate-WebFilter2

③該当カテゴリ(今回は「未分類」)のアクションをブロックにします。
FortiGate-WebFilter3

④有効にするには、ポリシーで適用します。(AVの設定と同様)

FortiGateを勉強する女性SE (はてな)
質問です。
①レーティング検索はどういう意味ですか?
②カテゴリに入れずに、そのURLを直接禁止する設定はできませんか?

①に関して、現在はどのカテゴリに入っているかを確認します。4300万ものURLが登録されていますので、どこかのカテゴリが選ばれる可能性が高いと思われます。
②可能です。URLフィルタリングでは可能です。

(2)ホワイトリストのみ(ライセンス無しでも運用可能)

セキュリティを厳密に扱いたい環境においては、特定のURLだけを許可し、それ以外は拒否するというホワイトリスト運用をしたい場合がある。
その場合は、FortiGateのWebフィルタにおいて、「FortiGuardカテゴリベースのフィルタ」を外す。
代わりに、「スタティックURLフィルタ」の「URLフィルタ」をオン(緑色)にし、許可するURLをタイプ「シンプル」で指定し、それ以外をすべて拒否するので、*を「ワイルドカード」で指定して、アクションをブロックにする。以下は、www.yahoo.co.jpだけを許可する例



また、ポリシーに作成したWebフィルタのプロファイルを適用することを忘れずに。

16
アクションですが、「除外」を選ぶと、カテゴリの検査をしない。
それ以外は、カテゴリの検査をしたあとにスタティックURLフィルタを実施しま。

今回は、名前を「不正サイト」とし、「適用」ボタンを押して登録した画面が以下です。

■URLフィルタを個別に流し込む
GUIだとWebフィルタからプロファイルを作成し、スタティックURLで追加する。
CLIの場合も該当のプロファイルからいくかと思ったが(以下)
FGT# config webfilter profile [該当プロファイル]
実は違った。
CLIは以下から実行する
FGT# config webfilter urlfilter
show で見ると、現在設定されている状態が見える。
編集したいプロファイルが何番かを確認し該当番号を指定してeditしていく。以下は3番にyahoo.co.jpを追加
FGT(urlfilter) # edit 1
FGT (1) # config entries
FGT(entries) # edit 3
new entry '3' added
FGT (3) # set url "yahoo.co.jp"
FGT (3) # set action monitor
FGT (3) # end

5.コンテンツフィルタ

コンテンツフィルタとは、たとえば、「ギャンブル」「株」などの業務をするうえで、不適切なキーワードを含むサイトへのアクセスを禁止します。

【設定】
・コンテンツフィルタはForiGateではDLPの設定で実施をします。
・ただし、システムの設定で、プロキシモードとフローモードの2つがあって、コンテンツフィルタ(DLP)を有効にするには、プロキシモードである必要があります。
・デフォルトではDLPはメニューに表示されていないので、以下の画面からDLPをONにします。
29
※詳細は、余裕があれば記載します。

CLIとトラブルシュート

1.CLIの設定

1.1 CLIの設定方法

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

▼CLIの設定方法
以下の方法があります。
❶CONSOLEポートの接続してCLIを設定する
❷SSHやTelnetで接続する
❸GUI画面から設定する
GUI右上の >_ のボタンから行います。

1.2 基本コマンド

(0)コマンド体系

CLIを実行すると、以下の画面になります。

FGT #

ここで、#の状態が第一階層で、以下を実行すると、第二階層であるinterfaceの階層になります。

FGT # config system interface 
FGT (interface) # 

第一階層の#で、?を押すと、以下のコマンドが表示されます。つまり、実行できるコマンドには以下があるということです。

FGT # 
config      Configure object.
get         Get dynamic and system information.
show        Show configuration.
diagnose    Diagnose facility.
execute     Execute static commands.
alias       Execute alias commands.
項番 コマンド 内容
1 config Configを設定したり確認をする
2 get システムの情報を確認する。保存された設定情報(Config)ではなく、動的に変化するStatus情報も取得
3 show 設定情報(Config)を表示
4 diagnose Diagnose(診断)のコマンド。ダイアグノースと発声します
5 execute pingコマンドなど、実行するコマンド
6 alias alias(別名)に関するコマンド
(1)config : Configを設定したり確認をする
コマンド 使い方 説明
config Config "階層" config system interface Configを設定する階層を指定
edit edit "設定項目" edit wan1 設定する項目を指定
set set "設定値" set ip 192.168.1.99/24 実際の設定を入力
next - next 保存(設定している階層を維持)
end - next 保存(設定している階層から上位へ移動)

例)wan1 インターフェースに IPアドレスを設定する

FGT # config system interface
FGT(interface)# edit wan1
FGT (wan1)# set mode static
FGT (wan1)# set ip 192.168.1.99/24
FGT (wan1)# end
FGT # 
(2)show:設定情報(Config)を表示

a)階層に移動してからshow

FGT # config system interface 

FGT (interface) # show

b)階層に移動せずにshow

FGT # show system interface

c) show full-configurationを使うと、初期値の設定情報も確認できる。

FGT # show full-configuration system interface

いくつか実行例を紹介します。
❶wan1インターフェースの状態(IPアドレスなどを出力) config system interface

FortiGate-60E (interface) # show
config system interface
    edit "wan1"
        set vdom "root"
        set mode dhcp
        set allowaccess ping fgfm
        set type physical
        set role wan
        set snmp-index 1
    next
    edit "wan2"
        set vdom "root"
        set mode dhcp
        set allowaccess ping fgfm
        set type physical
        set role wan
        set snmp-index 2
    next
    edit "dmz"
        set vdom "root"
        set ip 172.16.1.99 255.255.255.0
        set allowaccess ping https http fgfm fabric
        set type physical
        set device-identification enable
        set lldp-transmission enable
        set role lan
        set snmp-index 3
    next
・・・

❷Firewallポリシーを表示 config firewall policy

FortiGate-60E # config firewall policy

FortiGate-60E (policy) # show
config firewall policy
    edit 1
        set uuid 0d367dda-c757-51ee-aa7e-0013a28fd81f
        set srcintf "internal"
        set dstintf "wan1"
        set action accept
        set srcaddr "all"
        set dstaddr "all"
        set schedule "always"
        set service "ALL"
        set nat enable
    next
    edit 2
        set name "dmz-->wan1"
        set uuid ef302cea-c757-51ee-9a9d-3f03fab81518
        set srcintf "dmz"
        set dstintf "wan1"
        set action accept
        set srcaddr "all"
        set dstaddr "all"
        set schedule "always"
        set service "ALL"
        set utm-status enable
        set ssl-ssh-profile "certificate-inspection"
        set av-profile "default"
        set ips-sensor "all_default"
        set logtraffic all
        set nat enable
    next
end
(3)get:システムの情報を確認する

繰り返しですが、show コマンドはConfigを表示するが、getはステータス情報を出力する。

a)階層に移動してからget

FGT # config system interface 

FGT (interface) # edit wan1

FGT (wan1) # get 
name                : wan1
vdom                : root 
vrf                 : 0
cli-conn-status     : 2
fortilink           : disable 
(後半略)

b)階層に移動せずにget
表示される内容が、physicalなので、先とは変わっている。

FGT # get system interface physical wan1
== [onboard]
        ==[wan1]
                mode: dhcp
                ip: 192.168.1.78 255.255.255.0
                ipv6: ::/0
                status: up
                speed: 1000Mbps (Duplex: full)

・get system statusでOSやライセンス情報、時刻情報などを取得

FGT # get system status
Version: FortiGate-VM64-AWS v7.4.3,build2573,240201 (GA.F)
・・・
AV AI/ML Model: 2.14973(2024-03-01 12:45)
IPS-DB: 6.00741(2015-12-01 02:30)
IPS-ETDB: 27.00741(2024-02-28 03:41)
・・・
System time: Sat Mar  2 06:48:01 2024
Last reboot reason: shutdown
(4)execute:実行コマンド

・ARPのクリア、DHCP、PPPoEの再接続、VPNなど作業時に必要なものから時刻設定などメンテナンスに利用できるものなど多岐にわたります。
・即時実行されます。
・例)ARPテーブルのクリア

FGT # execute clear system arp table
(5)diagnose:Diagnose(診断)のコマンド

a)DNSのキャッシュ
・確認

diag test application dnsproxy 7

・クリア

diag test application dnsproxy 1

b)物理ポートの確認

diag hardware deviceinfo nic ”インターフェース名”

※MACアドレスや各カウンターを確認できます。
c)セッション、Flowの確認

diag sys session list

※filterで出力結果を制御することもできます。
 filterの vdで VDOM番号を指定できます。
 設定した filterで任意のセッションのみ、クリアすることもできます。
d)通信の一連の流れを確認

diag debug flow

e)トラブル時に取得するコマンド

diag debug report

※このコマンドは tech-support と同義です。Configは一部(HA、Admin関連など)しか含まれませんので Configの Backupは必ず併せて
実施してください。 

1.3 設定の削除

設定の削除は、削除する場所が全体なのか、1行かだけなのかによってコマンドが違う。

コマンド 説明
unset 1行だけを削除
delete まとまった部分を削除

a)設定の表示

show user saml 

config user saml 
edit azure  
set user-name username  
set group-name group 
end 

b)1行だけ、つまりsetの内容を消すときはunset

config user saml 
edit azure 
unset group-name 
end 

c)editでまとまっている全部を消すときは、delete

config user saml  
delete azure  
end 

d)設定の確認をしよう

show user saml

1.4 便利コマンド系

(1)検索

各コマンドでは grep を利用し検索をかけることができます。
例えば Showコマンドで Configの内容を確認したい場合に、以下のように Internal に関連した Config階層を一覧で出力させることができます。

show | grep -f "internal"

grepすると、その文字の情報だけの表示になる。そうではなく、その項目に関連する情報も知りたい場合に-fを付ける。
■オプション一覧

オプション 説明
-i 大文字小文字の区別を無視(Ignore)
-n 行番号(line number)も表示
-v 一致しない行を選択
-f fortinet configのコンテキスト情報を体系的に表示
-c 行数(count)のみ表示
-A -fに関連して、指定した文字数だけ先頭から表示 例)grep -A 3 wan
-B -Aとは違い、後ろから表示
-C 上下を表示

これは show コマンド以外にも get、diag と利用できます。

(2)Ciscoでいうter len 0

デフォルトでは、CLIで長い表示をする場合に--More--で区切って表示される。
それは、以下のようにoutputが more になっているからである
a)状態の確認

FGT1 # get system console
mode : line
baudrate : 9600
output : more
login : enable
fortiexplorer : enable

b)設定をstandardに変更する

FGT1 # config system console
FGT1 (console) # set output standard
FGT1 (console) # end

c)再度状態の確認

FGT1 # get system console
mode : line
baudrate : 9600
output : standard
login : enable
fortiexplorer : enable

するとmore がなくなる。
たとえば、FGT1 # show full-configurationとすると、一気にすべての
Configが流れ出す。

(3)コマンドの階層確認、最大入力文字数確認コマンド

・ 各階層で 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 

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

1.5 ネットワーク関連

❶pingでの疎通確認
・単純なping実行

execute ping 8.8.8.8

・ping-option で実行回数、送信元アドレス、データーサイズの調整可能。
以下は、実行回数を3回に変更する

execute ping-option repeat-count 3
option 内容
adaptive-ping Adaptive ping .
data-size Integer value to specify datagram size in bytes.
df-bit Set DF bit in IP header .
interface Auto .
interval Integer value to specify seconds between two pings.
pattern Hex format of pattern, e.g. 00ffaabb.
repeat-count Integer value to specify how many times to repeat PING.
reset Reset settings.
source Auto .
timeout Integer value to specify timeout in seconds.
tos IP type-of-service option.
ttl Integer value to specify time-to-live.
use-sdwan Use SD-WAN rules to get output interface .
validate-reply Validate reply data .
view-settings View the current settings for PING option.

❷ルーティングテーブルを見る

get router info routing-table all

❸ARP
 ・ARPテーブルを見る

FGT $ get system arp

・ARPテーブルのクリア

 FGT # execute clear system arp table

❹MACアドレスの変更
FortiGateの物理ポートは MACアドレスが個別に設定されていますし、必要に応じて MACアドレスを書き換えることもできます。

 config system interface 
 edit "インターフェース名"
 set macaddr "MACアドレス"
 end

1.6 インターフェース関連

❶インターフェースの設定を確認

FortiGate-60E # config system interface
FortiGate-60E (interface) # edit wan1
FortiGate-60E (wan1) # show
config system interface
    edit "wan1"
        set vdom "root"
        set mode dhcp
        set allowaccess ping fgfm
  (略)
    next
end

❷設定を変更
・IPアドレスの設定

# set ip 10.1.1.1/24

・管理アクセスの内容を変更。以下は、fgfmをやめてpingだけにする

FortiGate-60E (wan1) # set allowaccess ping

❸インターフェースの情報を見る

FortiGate-60E # get system interface

1.7 管理系

❶adminパスワード変更

FGT#config system admin
FGT(admin)#edit admin
FGT(admin)#set password パスワード

❷TIME Zoneの設定

#config system global
# set timezone 60
#end

❸時間の確認

FGT # execute time
current time is: 11:17:34
last ntp sync:Sat Feb 17 10:29:15 2024

❹CPU、メモリの利用率確認

get system performance status

・定期的に確認するには

get system performance top

2.パケットキャプチャ

FortiGateでは2つの方法でパケットをキャプチャさせることができます。
① pcap ファイルで取得
② CLI上に Debugとして出力

2.1 GUIからpcap ファイルに出力

a)ネットワーク > 診断 を開き、上部のタブが「パケットキャプチャ」になっていることを確認。
b)インターフェースを選択

このとき、「保存する最大パケット数」にて、  取得するパケット数を設定できる。制限に達したときにパケットを停止する。

「フィルタ」では、ホストやポートなどでフィルタができる

c)「キャプチャを開始」を押す
すると、以下のようにパケットを取得することができる。

d)pcapで保存することが可能

このファイルを Wireshark で開きキャプチャ内容を確認します。

注意点は、ASIC(NP)に学習されたトラフィックは CPUで処理をされません。
よってパケットキャプチャでそのトラフィックを取得できません。

厳密にキャプチャを行うには、該当される Firewall Policyで以下を実施します。
※対象のトラフィックは限定した方が良いです。

config firewall policy 
(policy) # edit XX
(XX) # unset auto-asic-offload 
end

”unset auto-asic-offload ” で ASIC処理を無効にできます。

2.2 CLIで取得

tcpdumpと同じイメージです。以下のコマンドで実行します。

diagnose sniffer packet <interface> '<filter>' <level> <count> <tsformat>

設定項目は以下

項目 設定例 内容
interface internal インターフェースを指定
filter 'host 203.0.113.159 and tcp' IPアドレスやプロトコルを指定
level 1 ログレベル。レベル1~6まであり、1はIPパケットヘッダのみ。2はヘッダとペイロード。3はそれに加えてEhthernetヘッダ
1: print header of packets (default)
2: print header and data from ip of packets
3: print header and data from ethernet of packets (if available)
4: print header of packets with interface name
5: print header and data from ip of packets with interface name
6: print header and data from ethernet of packets (if available) with intf name
count 1000 件数
tsformat a 時刻表記。何もつけないか、1かaである。aがUTCなので一番見やすい。ただ、本体の設定で日本のGMT+9にしておいても、ログだとこの設定が反映されず、9時間早い時間で表示される。
a: absolute UTC time, yyyy-mm-dd hh:mm:ss.ms
l: absolute LOCAL time, yyyy-mm-dd hh:mm:ss.ms
otherwise: relative to the start of sniffing, ss.ms

※ログレベルに関しては、以下に記載がある。
https://community.fortinet.com/t5/FortiGate/Technical-Tip-Packet-capture-sniffer/ta-p/198313
※構文に関する詳細は、以下に記載がある。
https://help.fortinet.com/fa/cli-olh/5-6-1/Document/1600_diagnose/sniffer.htm

例は以下。ログの量が多いので、IPを制限した方がいいでしょう。ただし、srcとdstで指定すると、戻りパケットが取れないので、hostで指定する。
今回は、203.0.113.159を含むIPアドレスでTCPの通信を、ログレベル1で、10行、時刻表記を変更して表示している。

FGT# diag sniffer packet internal 'host 203.0.113.159 and tcp' 1 10 a
interfaces=[internal]
filters=[host 203.0.113.159 and tcp]
2018-01-01 01:12:48.025764 192.168.1.111.64005 -&gt; 203.0.113.159.80: syn 148305027 
2018-01-01 01:12:48.026162 192.168.1.111.64006 -&gt; 203.0.113.159.80: syn 1691563316 
2018-01-01 01:12:48.041343 203.0.113.159.80 -&gt; 192.168.1.111.64006: syn 465222532 ack 1691563317 
2018-01-01 01:12:48.041486 203.0.113.159.80 -&gt; 192.168.1.111.64005: syn 3092072803 ack 148305028 
2018-01-01 01:12:48.041654 192.168.1.111.64006 -&gt; 203.0.113.159.80: ack 465222533 
2018-01-01 01:12:48.042560 192.168.1.111.64005 -&gt; 203.0.113.159.80: ack 3092072804 

3.トラブルシューティング

3.1 FortiCloudでの認証エラーの不具合について

FortiCloudで無料アカウントを作成したのですが、すこしトラブったので記載します。
以下にログインおよびアカウント作成のページがあります。
https://login.forticloud.com/servicelist
a
ここでログインに成功するアカウントで、何度FortiGateでログインしてもエラーになりました。
※アカウントはダミー
c
日本専用のJPサーバでのアカウントと、別のようでした。
https://jplogin.forticloud.com/login
b
こちらでログインできるアカウントであれば、無事に成功しました。