Tech-Blogカテゴリにおけるサードパーティ製品の設定内容につきましては、弊社サポート対象外となります。

当記事では、AWS Transit Gateway を用いて通信を集約し、1台のFortiGate にて通信の精査を行う方法を記載します。

前提

FortiGate のバージョンは以下の通りです。

  • FortiOS
    • v6.4.5 build1828

構成

各VPC, サブネット, インスタンスのホストアドレスについては、以下の通りです。

 

事前準備

VPC

[構成] にある通り、3つのVPC を用意します。

Subnet

それぞれのVPC に割り当てるサブネットを用意します([VPC_FortiGate] には2つ用意します)。

Internet Gateway

[VPC_FortiGate] にアタッチするInternet Gateway を用意し、アタッチします。

VPC Route Table

[VPC_FortiGate] のPrivate Subnet 用Route Table が存在しない為、作成しておきます。

↑で作成したリソースはメインのRoute Table でない為、明示的にサブネットを紐づけます。

EC2 Instance

それぞれのVPC にインスタンスを作成します。

[ks-intenal-1], [ks-internal-2] は疎通確認用なので、最小構成のAmazon Linux のインスタンスで問題ございません。

FortiGate のみ注意点を以下に記します。

FortiGate

※記載の無い箇所はそのまま進めてください。

AMI は[fortigate] で検索するとMarketplace の一番上に出てくるものを選択します。この時、[以前のバージョン] で実行してください。

最初の画面は変更点がございませんので、[Continue to Configuration] を選択します。

Software Version は前提で記載した[FortiOS v6.4.5] 、Region は[Tokyo] を選択します。

Choose Action は[Launch through EC2] を選択します。

ネットワークインターフェイスは画像の様に、2つのセカンダリIPアドレスをPublic Subnet 用ENI に追加し、それとは別のENI にPrivate Subnet を割り振ります。
※こちらで設定したセカンダリIPアドレスは後述の手順(AWS におけるElastic IP アタッチ/FortiGate における宛先NAT 設定)にて利用します。

セキュリティグループは以下要件に従った状態にします。

  • 自身の環境からCLI/WebUI に接続可能な状態である。
  • FortiGate 配下のネットワークと通信が行える状態である。
  • デフォルトで記載されているルールは変更せず、保持する。

 

インスタンス起動後はENI の設定を変更します(FortiGate にアタッチされた両ENI に実行します)。

 

Elastic IP

3つ作成します。全てFortiGate のPublic Subnet から払い出したIPアドレスに紐づけます。

 

 

設定 (AWS Transit Gateway リソース群)

Transit Gateway

[Create Transit Gateway] よりウィザードを開始します。

[Default route table association], [Default route table propagation]  のみチェックを外しておきましょう。後で手動設定します。

Transit Gateway Attachment

[Create Transit Gateway Attachment] より、ウィザードを開始します。

赤枠の箇所を変更します。設定項目[VPC] にて[VPC_FortiGate] を選択した場合のサブネットを除き選択肢は無い筈です。
※[VPC_FortiGate] のサブネットはPrivate Subnet を選択してください。

各VPC 毎に一つずつ作成します。

Transit Gateway Route Table

[Create Transit Gateway Route Table より、ウィザードを開始します。

特筆事項はございません。[Transit Gateway] で作成したリソースを選択するのみです。

[VPC_FortiGate], [VPC_Internal (共通)] 用にそれぞれ作成します。

Association(Route Table とAttachment の紐づけ)

Transit Gateway Route Table 内タブ[Associations] より、[Create association] を実行します。

Transit Gateway Attachment を選択します。

作成した二つのTransit Gateway Route Table に正しく紐づけます。

Propagation (動的なルート追加)

[VPC_FortiGate] に紐づけたTransit Gateway Route Table 内タブ[Propagations] より、[Create Propagation] を実行します。

通信を行う対象となるTransit Gateway Attachment を選択します。

 

2つのTransit Gateway Attachment を追加します。

Routes(静的なルート追加)

[VPC_Internal-1], [VPC-Internal-2] に紐づけたTransit Gateway Route Table 内タブ[Routes] より、[Create Static Route] を実行します。

デフォルトルートとして、[VPC_FortiGate] のTransit Gateway Attachment を選択します。

Internal 間は通信を行わない様設定します。

3つのStatic Route を作成します。

設定変更 (VPC Route Table)

各VPC のRoute Table にTransit Gateway を参照する設定を追加していきます。

FortiGate 用VPC(External)

Internet Gateway をアタッチして、外部と接続可能な状態にします。

FortiGate 用VPC(Internal)

デフォルトルートをFortiGate にアタッチしたPrivate Subnet のIP アドレスを持つENI に向け、[VPC_Internal-1], [VPC_Internal-2] 宛の通信はTransit Gateway に向けます。

Internal 用VPC

[VPC_Internal-1], [VPC_Internal-2] 共にデフォルトルートをTransit Gateway に向けます。

設定変更(FortiGate)

FortiGate へのログインは、FortiGate にアタッチしたElastic IP を用いて実施します。初期設定ではHTTPS でのアクセスのみ許可されている為、(https://[Elastic IP]) とし、アクセスします。

アクセスすると、以下画面が表示されます。アカウント情報は(admin/[instance ID]) となりますので、FortiGate のinstance ID を確認し、ログインします。
※接続できない場合、[3.5.1. FortiGate] にて設定したセキュリティグループの内容を再度ご確認ください。

システム

ログイン後、NTP と言語を変更します。

表示設定から[名前なしポリシー許可] を有効にしておきます。

ネットワーク

インターフェイス

IPアドレスはDHCP にて自動割り振りされている為、ゾーンのみ追加しておきます。

スタティックルート

Internal 用VPC 宛の通信をAWS のゲートウェイにルーティングする設定を追加します。
※外部向けデフォルトルートはDHCP にて配信されている為不要です。

ポリシー&オブジェクト

バーチャルIP

FortiGate に割り振ったセカンダリIP を疎通確認用サーバのIPアドレスへ変換する為のオブジェクトを作成します。

ファイアウォールポリシー

Untrust→Trust ポリシーにバーチャルIPを適用します。

通信確認

IPS (Inbound)

IPS (Outbound)

AntiVirus

Webfiltering

各セキュリティ機能で精査が行えている事が確認出来ます。

以上でAWS Transit Gateway を用いて通信を集約し、1台のFortiGate にて通信の精査を行う方法の説明は終了となります。


この情報の発信者

セキュアヴェイルグループ(SecuAvail Inc. | CareAvail Inc. | LogStare Inc.)