Zenn
🐉

【AWS/FortiGate】FortiGate初心者の勉強方法と構築備忘録

2024/12/28に公開

どうも!新人エンジニアの前歯すきっ歯です🦷

これまたFortiGateを触ったことないのに構成を提案しなきゃだったり、
「既存パラシこれだから実現可能か確認しといて」なんて言われたりしてしまいました泣

いくらネットで調べても机上の空論なので、
これを機にFortiGateを使えるように今回も頑張っていきますよ~

今回のゴール

今回のゴールはプライベートサブネットのEC2からFortiGateを経由してインターネットにアクセスすることです!以下構成図を構築して、FortiGateを設定しますよ~

構成図

手順1.AWS環境の作成とFortiGateのデプロイ

AWS環境の構築部分は以下リンクが丁寧で1番分かりやすかったです~
ルートテーブル設定方法まで載せてくださり初心者歓喜です🙌
https://blogs.networld.co.jp/entry/2024/06/11/131534

★+α 設定部分①/セキュリティグループの設定

上記記事ではデプロイまでに焦点をあてているので、以下記事を見ながら追加設定が必要な部分をここから3点設定します。
https://dev.classmethod.jp/articles/how-to-deploy-fortigate-on-ec2/

まず1点目に、セキュリティグループ(以下SG)の設定です。
SGはデフォルトで設定しました。(FortiGateのAMIを選択すると自動的に入力されているSGです)リンクの”EC2作成”の項目参照。

★+α 設定部分②/Port1とPort2のENIの送信元/送信先変更を無効化

FortiGateでNATするにあたり”Internal(LAN)用のENI作成・設定”の項目を見て、各Portがインターネットへの通信ができるようにしました。

★+α 設定部分③/Private Subnetのルートテーブルへの追記

VPC内以外宛てのプライベートサブネットのルーティングをPort2へ向けます。このことでプライベートサブネット⇒FortiGate Port2⇒FortiGate Port1⇒IGW⇒インターネット…の順に通信を送ることができます。”ルートテーブル修正”の項目を見て、NATに向けたルーティングの修正を行いました。

手順2.FortiGateの設定とPingでの通信確認

FortiGateの設定部分は以下のリンクが分かりやすかったです!(+α 設定部分①で紹介したリンクです。)
※AWS環境構築部分は飛ばして読んでいます。
https://dev.classmethod.jp/articles/how-to-deploy-fortigate-on-ec2/

★前提/AWS環境とSystemsManagerの設定

自分はプライベートサブネットにあるEC2インスタンスにアクセスするためにSystemsManagerを使いました。VPCエンドポイントやSystemsManagerでの接続方法について以下のリンクが詳しく書いてくれています。
https://qiita.com/Masayuki-Goto/items/1cdc83403c33974a19e4#6-2プライベートサブネットの接続

★+α 設定部分④/タイムゾーンの設定

自分はタイムゾーンの設定も行いました。

★+α 設定部分⑤/Port2のプライベートIP設定方法

自分は(1)のリンクに従ってデプロイしたので、AWS上でPort2を作成しEC2にアタッチ済みでした。
その場合は画像のように最初からアドレッシングモードが”DHCPサーバ”で取得したIPは”Port2のアドレス”が入力されていました。

★+α 設定部分⑥/UIが少し違ったからメモ

送信元と送信先の指定部分で"all"のアイコンが違ったので念のためにメモです。
(初心者あるあるですが、UIが少し違うと不安になる…)


できたーーーーーーーーーーー!!!!!
どんなに簡単なことでも嬉しいですねぇ~

GoogleのパブリックDNSにPingが通りました!

Googleにアクセスできました!

FortiGateのFW機能を使ってみた(SaaSのアクセス制御)

せっかくなので以下リンク最後の方に載っているGoogleのアクセス制御も実施してみました。
※”(参考)アクセス制御について”を参照
https://iret.media/71728

Googleの拒否設定ができました!

ログにもちゃんと出ていました

つまずいたところ

基礎的なことばかりでお恥ずかしいのですが、次にミスしないための備忘録です。

FortiGateのSGでICMPを許可する(Ping用)

FortiGateデフォルトのSGではICMPが許可されていないのでPingが通りませんでした。FortiGateのSGでICMPを許可する設定を追加しました。(手順を見ているリンクにも書いてありますね)

Port1、Port2両方のNICで”送信元/送信先チェック”を無効化する

Port2だけ無効化して満足していましたが、無効化の目的を考えればどちらのポートも無効化が必要ですよね~
無効化の目的は手順リンクにも記載の通りです。

送信元/送信先変更のチェックを無効化します。 ENIのデフォルト設定では有効化されており、自身のIPが送信元または送信先になっているパケット以外を受け取らないためです。ここを無効化することでインターネットなど外部向けのパケットを処理可能になります

番外編/Pingのオプション -c

お恥ずかしながら、サイトに出てきたPingのcオプションの意味を忘れてしまったので調べました(〃ノωノ)
はい、Pingを飛ばす回数指定です。(”Count”のcですね!)
https://www.secuavail.com/kb/windows-linux/linux-windows-ping/

その他

その他今回勉強にあたり個人的に利用したリンクを置いておきます。

FortiGate各項目の上限値

以下リンク先でモデルバージョンを選択すると、各項目の上限値が出てきます。
今回はFWをIPアドレスで800個くらい設定する必要があったので心配となり調べました。
https://docs.fortinet.com/max-value-table

HA構成時の各FortiGateが個別に持つ固定IPアドレスの指定方法

HA構成時は画像”管理インターフェースの予約”からUTMに使うサービスポート等HA構成以外に利用する各FortiGateが個別に持つ固定IPアドレスの指定を行います。ここで指定を行わないとアクティブ側のFortiGateのIPアドレスの指定を踏襲することになります。

Discussion

ログインするとコメントできます