fortigate ファイアーウォールポリシーの設定

構成

PCからR1のpingを通す

f:id:slavex:20220321142235p:plain

 

オブジェクト作成

ファイアーウォールのポリシーを設定する際、直接送信元や宛先のIPアドレスを指定するのではなく、オブジェクトを指定します。

よって、先にオブジェクトを作成する必要があります。

 

今回は、IPアドレス/マスクで、192.168.10.0/24を設定します。

Objects→Addresses→Create Newを押下

f:id:slavex:20220321141758p:plain

 

各項目を入力して、OK押下

ポリシーの設定

送信元アドレス192.168.10.0/24 宛先はanyの通信をすべて許可

それ以外は全て拒否に設定してみます。

 

Policy→IPv4→Create New押下

f:id:slavex:20220321122026p:plain

 

先ほど作成したオブジェクトをsource addressに設定。

incoming interfaceは、受信側なのでinternal

outing interfaceは、出力側なのでWAN2

入力後にOK押下。

f:id:slavex:20220321154603p:plain

 

 

設定後、下記一覧に表示されます。

f:id:slavex:20220321154818p:plain


※Implicitのall denyは、暗黙のdenyと呼ばれる要件です。

各ポリシーの最後の行に暗黙のdenyが自動で設定されるため、ポリシーを何も設定していない場合は、全ての通信がブロックされてしまいます。

なので、internal-WAN2も、acceptを削除すると通信できなくなります。

 

疎通試験

PC→R1のping(ポリシー設定済み)

>ping 192.168.0.254

192.168.0.254 に ping を送信しています 32 バイトのデータ:
192.168.0.254 からの応答: バイト数 =32 時間 <1ms TTL=254
192.168.0.254 からの応答: バイト数 =32 時間 =1ms TTL=254
192.168.0.254 からの応答: バイト数 =32 時間 <1ms TTL=254
192.168.0.254 からの応答: バイト数 =32 時間 <1ms TTL=254

 

Fortigateのログ

Fortigate2 # id=20085 trace_id=3 func=print_pkt_detail line=4489 msg="vd-root received a packet(proto=1, 192.168.10.1:1->192.168.0.254:8) from internal. code=8, type=0, id=1, seq=201."


id=20085 trace_id=3 func=init_ip_session_common line=4645 msg="allocate a new session-00007d7e"


id=20085 trace_id=3 func=vf_ip4_route_input line=1597 msg="find a route: flags=00000000 gw-172.16.0.254 via wan2"


id=20085 trace_id=3 func=fw_forward_handler line=692 msg="Allowed by Policy-2: SNAT"


id=20085 trace_id=3 func=__ip_session_run_tuple line=2608 msg="SNAT 192.168.10.1->172.16.0.253:62464"

 

PC→R1のping(ポリシー削除済み)

>ping 192.168.0.254

192.168.0.254 に ping を送信しています 32 バイトのデータ:
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。
要求がタイムアウトしました。

192.168.0.254 の ping 統計:
    パケット数: 送信 = 4、受信 = 0、損失 = 4 (100% の損失)、

 

Fortigateのログ

Fortigate2 # id=20085 trace_id=2 func=print_pkt_detail line=4489 msg="vd-root received a packet(proto=1, 192.168.10.1:1->192.168.0.254:8) from inter                   nal. code=8, type=0, id=1, seq=189."

id=20085 trace_id=2 func=init_ip_session_common line=4645 msg="allocate a new session-00007b58"

id=20085 trace_id=2 func=vf_ip4_route_input line=1597 msg="find a route: flags=00000000 gw-172.16.0.254 via wan2"

→ルートを発見しWAN2から172.16.0.254へ転送

 

id=20085 trace_id=2 func=fw_forward_handler line=567 msg="Denied by forward policy check (policy 0)"

→ポリシーチェックで一致件数0=暗黙のDenyにヒットして、ブロック

 

Fortigate上でパケットのログ表示

Fortigate2 # diagnose debug flow show console →ログ表示ON

Fortigate2 # diagnose debug flow filter proto 1 →表示ログフィルター(ICMPのみ)

Fortigate2 # diagnose debug flow trace start →表示ログ開始

※diagnose debug flow trace startまで入力しないとログは表示されない

止めるには、Fortigate2 # diagnose debug flow trace stopを入力。