Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
1
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
FortiGate-VM
AWS設定ガイド
Version 1.00
フォーティネットジャパン株式会社
2
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
免責事項
本ドキュメントに関する著作権は、フォーティネットジャパン株式会社へ帰属します。
フォーティネットジャパン株式会社が事前に承諾している場合を除き、形態及び手段を
問わず本ドキュメントまたはその一部を複製する事は禁じられています。
また本内容は参考例となります。個別のセキュリティ対策に関する要件を満たすには、
ご利用者様ごとにプランニングおよび設定の調整が必要となりますので、予めご了承
下さい。尚、本ドキュメントの作成にあたっては最新の注意を払っておりますが、その
記述内容は予告なしに変更される事があります。
3
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
目次:
第1章: はじめに P4
第2章: VPCのセットアップ P6
第 3章: FortiGateインスタンスのデプロイ P15
第 4章: FortiGateの設定 P24
第 5章: サーバインスタンスの準備 P27
第 6章: セキュリティポリシー P30
第 7章: 外部からの接続確認 P35
第 8章: 内部からの接続確認 P40
第 9章: その他 P48
Appendix: P49
改訂履歴: P56
4
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
1.はじめに
このドキュメントは Amazon Web Service(以下 AWS)上に FortiGateをデプロイし、AWS
上のインスタンスを保護するための設定ガイドです。
1-1.想定トポロジー
本ドキュメントでは以下のようなトポロジーを構成する手順を示します。
※インターネット側から各インスタンス(サーバ)へのアクセスはバーチャル IP(VIP)を用
いて可能にします。
※各インスタンス(サーバ)からインターネットへのアクセスは送信元 NATを用います。
※この例では各インスタンス(サーバ)間の通信も FortiGateで制御したいので、それぞれセ
グメントを分けています。サーバ間の通信を制御しないのであればセグメントを分ける
必要はありません。
VPC
Port1(eth0):10.0.0.99/24
Port2(eth1):10.0.1.99/24
Port3(eth2):10.0.2.99/24
Port4(eth3):10.0.3.99/24
Internet
AWS
Elastic IP A.A.A.A
Elastic IP B.B.B.B
Elastic IP D.D.D.D
Elastic IP C.C.C.C
FortiGate
インスタンス
サーバ 1
インスタンス
サーバ 2
インスタンス
サーバ 3
10.0.1.10/24
10.0.2.10/24
10.0.3.10/24
5
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
1-2.前提条件
・AWSのアカウントが作成済みで、接続可能であること。
1-3.ライセンス
AWSのMarketplaceで購入可能な FortiGate-VMは大きく分けると 2種類あります。
・BYOL
Bring Your Own Licenseの略。日本の販売代理店を通じて購入した FortiGate-VMラ
イセンスをお持ちの場合はこのイメージを購入してください。BYOL イメージの場合、
AWS 上のリソースの利用に対する課金はありますが、FortiGate-VM の利用そのもの
に対する AWS上の課金はありません。購入を希望される場合は、弊社代理店にお問い
合わせください。https://www.fortinet.co.jp/partners/
・オンデマンド(Pay as you go)
FortiGateの利用状況によりAWS上で課金されます。時間単位の従量課金となります。
サポートは弊社に直接お問い合わせ頂けますが、英語での対応となる場合があります。
このドキュメントではオンデマンドを前提に説明します。BYOLでの導入の場合、ライセン
スの事前購入と適用などちょっとした違いがあります。詳しくは購入元の代理店にお問い
合わせください。
6
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
2.VPC のセットアップ
2-1.VPC の作成
AWSにログインし、リージョンを確認します。このドキュメントでは「東京」に設定して
います。
メニュー内の「ネットワーキング&コンテンツ配信」の「VPC」を選択します。
7
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
「VPCの作成」ボタンをクリックして、「1個のパブリックサブネットを持つ VPC」を選択
し、以下の設定をします。
IPv4 CIDRブロック:
FortiGate のインターネット側のサブネット、内側のサブネット双方がおさまるような
CIDRブロックを設定します。この例では 10.0.0.0/24,10.0.1.0/24,10.0.2.0/24およ
び 10.0.3.0/24 の 4 つのサブネットの利用を予定しています。これらをすべて含む
10.0.0.0/16を指定しています。
VPC 名:
わかりやすい任意の名称を付けてください。
パブリックサブネットの IPv4 CIDR:
FortiGate のインターネット側サブネットを指定します。この例では 10.0.0.0/24 にな
ります。
8
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
設定し終えたら「VPC の作成」ボタンをクリックします。しばらくすると作成が終了しま
す。以下のような VPC が作成されたことを確認してください。(VPC を選択するとページ
下段に詳細が表示されます)
2-2.サブネットの設定
FortiGate のインターネット側のサブネットは前項で VPC と同時に「パブリックサブネッ
ト」として作成しているので、確認します。「VPC」→「Virtual Private Cloud」→「サブ
ネット」を表示して確認してください。
9
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
次に内側のサブネットも作成します。「サブネットの作成」ボタンをクリックして次の要領
で作成してください。
作成を終えたら、次のような設定になっていることを確認してください。
名前タグ:
わかりやすい任意の名称を付けてください。
VPC:
2-1で作成した VPCをドロップダウンリストより選択してください。
IPv4 CIDRブロック:
それぞれのサブネットに合わせて設定してください。
10
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
2-3.ルートテーブルの設定
今回設定するサブネットはそれぞれ別個のルートテーブルを持つように設定します。
FortiGate をデプロイしないと設定は完了しませんので、ひとまず下準備をしておきます。
「VPC」→「Virtual Private Cloud」→「ルートテーブル」を見てください。
前項まで手順を踏んで設定していくと、現在のルートテーブルは以下のようになっていま
す。今回作成された VPCに紐付けられているルートテーブルは 2つしかありません。
2 つのルートテーブルのうち、「明示的に関連付けられた…」が「1 サブネット」になって
いるものを選択し、ルートタブを見てみます。デフォルトゲートウェイ(0.0.0.0/0)のター
ゲットが「igw-xxxx」となっており、igw つまりインターネットゲートウェイがデフォル
トルートになっているルートテーブルであることがわかります。これは VPCを作成した時
に同時に作成されたルートテーブルです。
11
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
「サブネットの関連付け」タブを見てみると、このルートテーブルは 10.0.0.0/24 サブネ
ットに適用されていることがわかります。
「名前」欄をクリックすると編集できますので、「パブリックルート」などのわかりやすい
名前を付けましょう。
12
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
次にもう一つのルートテーブルを見てみます。「サブネットの関連付け」タブを見てみると、
このルートテーブルはどのサブネットにも割り当てられていないことがわかります。編集
ボタンを押して「10.0.1.0/24」のサブネットを割り当てて保存します。
わかりやすい名前も付けてください。
各サブネットに個別にルートテーブルを割り当てるので、あと二つ作成する必要がありま
す。ルートテーブルの作成をクリックして、以下の例のように 2 つルートテーブルを作成
してください。適切な VPCを選択し、わかりやすい名前をつけます。作成したルートテー
ブルには「サブネットの関連付け」でそれぞれ一つサブネットを割り当ててください。
13
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
次のように、パブリックルート、プライベートルート 1~3に一つずつサブネットが割り当
てられていることを確認してください。
2-4.Elastic IPの取得
Elastic IP(インターネットアクセス用の固定グローバル IP)を取得します。「VPC」→「Virtual
Private Cloud」→「Elastic IP」で「新しいアドレスの割り当て」クリックして割り当てて
ください。
14
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
以下の図では実際の IP アドレスを隠していますが、このようにグローバル IP を取得でき
ていれば OKです。
2-5.インターネットゲートウェイの名前付け
設定しなくても特に問題はありませんが、「VPC」→「Virtual Private Cloud」→「インタ
ーネットゲートウェイ」で利用する VPCのインターネットゲートウェイに名前を付けてお
いてください。
15
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
3.FortiGate インスタンスのデプロイ
3-1.FortiGate インスタンスのデプロイ
「EC2」のページに移動します。
「インスタンスの作成」ボタンをクリックし、「AWS Marketplace」を選択、検索窓に
「FortiGate」と入力して検索を実行してください。
FortiGateが 2つ出てきますが、上の方(BYOLではない)を選択してください。
16
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
次に料金の詳細情報が出てきますので、Continueをクリックし、インスタンスタイプの選
択に進みます。Fortinetでは c5.large以上を推奨しています。今回は FortiGateにインタ
ーフェースが 4つ必要ですので、c5.xlargeを選択します。各インスタンスがサポートする
NICの数は Appendix 1をご覧ください。また、料金例については Appendix 2をご覧く
ださい。
17
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
「次の手順:インスタンス詳細の設定」ボタンを押して以下のように設定します。
ネットワーク:
2-1で作成した VPCを選択してください。
サブネット:
2-2のパブリックサブネットを選択します。
ネットワークインターフェース eth0:
eth0は FortiGate上では port1として認識されます。Port1用の IPアドレス(この例で
は 10.0.0.99)を入力します。
18
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
「次の手順:ストレージの追加」を選択します。ここはデフォルトのままで結構です。
「次の手順:タグの追加」ボタンをクリックし、任意のタグを追加します。タグの詳細につ
いては以下をご覧ください。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/Using_Tags.html
「次の手順:セキュリティグループの設定」ボタンをクリックします。デフォルトでこのイ
ンスタンス(FortiGate用)の新しいセキュリティグループが作成されることを確認してくだ
さい。
19
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
「確認と作成」ボタンを押すと次のような画面が出てきますが、そのまま「次へ」ボタンで
進んでください。
キーペアは既存のものを利用するか、新しく作成してください。
20
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
次へ進むとインスタンスが作成されます。しばらく時間がかかります。作成された
FortiGateのインスタンスは「EC2」→「インスタンス」→「インスタンス」ページで確認
できます。わかりやすいように名前を付けておいてください。
画面下の「eth0」をクリックすると詳細情報を見ることができます。次の手順で利用します
のでインターフェース IDを確認しておいてください。
3-2.Elastic IPとの関連付け
いったん EC2ダッシュボードを離れ、「VPC」→「Virtual Private Cloud」→「Elastic IP」
を表示します。2-4で取得した Elastic IPを選択し、「アクション」のドロップダウンリス
トから「アドレスの関連付け」を選択します。
21
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
次のように設定します。
リソースタイプ:
「ネットワークインターフェース」を選択します。
ネットワークインターフェース:
3-1で確認した eth0のインターフェース IDを選択します。
プライベート IP:
FortiGateの Port1にアサインされている IPアドレスを選択します。
22
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
今のままでは FortiGateに Port1しかありません。Port2~4を作成します。EC2ダッシュ
ボードに移動し、「ネットワーク&セキュリティ」→「ネットワークインターフェース」で
「ネットワークインターフェースの作成」をクリックしてください。
以下のように設定します。
説明:
わかりやすい説明をつけてください。
サブネット:
2-2で作成したサブネットを選択します。
プライベート IP:
FortiGateの各ポートに割り当てる IPアドレスを入力します。
セキュリティグループ:
ひとまず FortiGateのインスタンス作成時に作られたものを選択してください。
23
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
次の図のように 4 つのインターフェースが作成され、適切なサブネットが割り当てられて
いることを確認してください。名前も付けておいてください。
次に、それぞれのインターフェースを選択して、「アタッチ」ボタンをクリックして
FortiGateのインスタンスに関連付けてください。
24
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
4.FortiGate の設定
4-1.FortiGate へのアクセスと基本設定
3-2で Elastic IPとの関連付けがおわっているので、「EC2」→「インスタンス」→「イン
スタンス」で FortiGateのインスタンスを見ると、次の図のように Elastic IPが関連付けら
れているはずです。
この Elastic IPを利用して、FortiGateの GUIにログインしてみてください。
https://<ElasticIP>で GUIにアクセス可能です。
(※FortiGateの自己証明書を利用しているためブラウザに警告が表示されます)
ユーザ名:admin
パスワード:<FortiGateのインスタンス ID>
25
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
ログイン後は admin ユーザ(削除できないスーパユーザ)のパスワード変更、タイムゾーン
の変更、GUIの言語設定など基本的な設定を実施してください。
また、ファームウェアのバージョンをチェックしておきましょう。執筆時点では FortiOS
6.0.1で動作していました。
GUIの左側ペインで、「ネットワーク」→「インターフェース」を開いてください。下の図
のようになっているはずです。Port1 は DHCP で IP アドレスを取得しています。
port1(eth0)に割り振る IP アドレスは予約されています(3-1)ので設定変更の必要はあり
ません※。
それ以外のポートは IPアドレスが設定されていないのでそれぞれ設定します。
※port1を DHCPではなくマニュアルに変更したい場合は以下を参考にしてください。設定を間違えると FortiGateに
管理アクセスできなくなる場合があるのでご注意ください。
https://www.fortinet.com/content/dam/fortinet/assets/solutions/aws/Fortinet_Multiple_Public_IPs_for_an_
AWS_interface.pdf
26
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
「アドレッシングモード」は「マニュアル」で「IP/ネットマスク」にそれぞれのインター
フェースの IPアドレス/ネットマスクを入力します。また、疎通確認するために「PING」
を許可しておきます。
次のように設定されたことを確認してください。
27
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
次にルーティングテーブルを確認します。GUIの左側ペインで、「モニタ」→「ルーティン
グモニタ」を表示させます。次の図のようになっているはずです。デフォルトゲートウェイ
は DHCPから取得した 10.0.0.1になっています。
5.サーバインスタンスの準備
5-1.FortiGate へのアクセスと基本設定
FortiGateの背後で稼働するサーバのインスタンスを準備します。ここではサンプルとして
Windows Server 2016を稼働させますが、適宜ご利用の環境に読み替えてください。
EC2で「インスタンスの作成」を選択し、Windows Server 2016 Baseを選択します。
28
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
インスタンスの詳細設定では次のように設定します。
ネットワーク:
2-1で作成した VPCを選択します。
サブネット:
2-2で作成したサブネットのうち、適切なものを選択します。
プライマリ IP:
サーバに割り当てる IPアドレスを設定します。
29
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
本ドキュメントでは便宜上、別々のセグメントにある 3 つのサーバに同じセキュリティグ
ループを設定します※。「セキュリティグループの設定」では次のようにしてください。最
初のサーバのインスタンス作成時に”新しいセキュリティグループ”を作成しわかりやすい
グループ名を割り当てます。2つ目以降のサーバ作成時にはそのセキュリティグループを選
択するようにしてください。
※あくまで本ドキュメント内での便宜上の設定ですので、実際のセキュリティポリシーに合わせて設定してください。
その他 3-1 を参考にしてサーバのインスタンスを作成してください。全部で 3 つのインス
タンスを作成します。
作成し終えたら以下のように 3 つのサーバが作成され、同じセキュリティグループが割り
当てられていることを確認してください。
また、各インスタンスに意図した IP アドレスが割り当てられているか確認してください。
~中略~
30
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
6.セキュリティポリシー
6-1.サーバ公開の準備
FortiGate の背後で稼働するサーバを外部公開するには、それぞれのグローバル IP を取得
し、FortiGateでバーチャル IPを利用して NATするのが正攻法です。
次の図はインターネットから入って来たパケットの宛先 IP の変化の流れを示しています。
Elastic IP[B.B.B.B]※宛のパケットはAWS(VPC)のゲートウェイによって[10.0.0.100]宛
に変換されます。FortiGateはセカンダリ IPとして[10.0.0.100]を割り当てられており、
到達したパケットをサーバ 1 の IP アドレスである[10.0.1.10]宛に変換して送信します。
要するに、それぞれのサーバに外部公開用 IPを持つ形になります。
※便宜上の表記です。実際は IPv4の IPアドレスとお考えください。
6-2.セカンダリ IP の割り当て
「EC2」→「ネットワーク&セキュリティ」→「ネットワークインターフェース」で FortiGate
の「Port1」のインターフェースを選択します。「アクション」ボタンをクリックして、「IP
アドレスの管理を」選択、下の図のように 10.0.0.100~10.0.0.102を割り当てます。
31
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
6-3.Elastic IPの取得
2-4の手順で必要な Elastic IPを取得します(この例では新たに 3つ)。
次に 3-2と同様の手順で新しい Elasticにプライベート IPを関連付けます。
関連付けが終わったら、以下のような設定になっているか確認してください。各 Elastic IP
にはわかりやすい名前を付けておいてください。
ネットワークインターフェース:
FortiGateの Port1のインターフェースを選択します。
※すべての Elastic IPを Port1に関連付けます
プライベート IP:
ドロップダウンリストから 10.0.0.100~102のいずれかを選択します。
32
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
6-3.FortiGate での VIP の設定
FortiGateの GUIにアクセスします。左側ペインの「ポリシー&オブジェクト」→「バーチ
ャル IP」で「新規作成」をクリックし、次のように設定します。
同様の手順で全てのサーバ用の VIPオブジェクトを作成してください。
名前:
英数字で名前を付けてください。
外部 IP アドレス/範囲:
FortiGateの 6-2で設定したセカンダリ IPを指定します。
マップされた IP アドレス/範囲:
サーバの実 IPを指定します。
33
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
6-4.FortiGate のポリシー設定
VIP を作成しただけでは通信を通すことはできません。ファイアウォールポリシーで通信
を許可する必要があります。FortiGateの GUI左側ペインの「ポリシー&オブジェクト」
→「Pv4ポリシー」で「新規作成」をクリックし、次のように設定します。
名前:
英数字で任意の名前を付けてください。ポリシーにいちいち名前を付けるのが煩わしい
場合は、「システム」→「表示設定」→「名前なしポリシーを許可」を on にしてくださ
い。
入力インターフェース:
インターネット側のインターフェース(Port1)を選択します。
出力インターフェース:
内側のインターフェース(Port2)を選択します。
34
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
同様に他のサーバ用のポリシーも作成してください。以下のようになっていれば OKです。
送信元:
限定できるのであれば、アドレスオブジェクトを作成して選択してください(推奨)。この
例では便宜上「all」にします。
宛先:
6-3で作成した Server1の VIPのオブジェクトを選択してください。
サービス:
サーバ宛に許可する通信を選択します。この例では pingとリモートデスクトップを許可
しています。
NAT:
デフォルトで有効です。「送信インターフェースのアドレスを使用」のままにしておいて
ください。ここでいう NATは送信元 NAT(IPマスカレード)のことです。宛先 NATは VIP
で定義しましたが、パケットがサーバ宛に出ていくときに送信元を FortiGateの IPアド
レスに変換しておくと戻りパケットのルーティングの心配が必要ありません
35
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
7.外部からの接続確認
7-1.リモートデスクトップ接続
リモートデスクトップ接続を試してみます。まず、Windows のパスワードを取得します。
「EC2」→「インスタンス」→「インスタンス」で Windows サーバを選択し、「アクショ
ン」をクリックします。「Windowsパスワードの取得」を選択すると、次の画面が出てきま
す。「キーペアのパス」は EC2コンソールですでに作成しダウンロード済みの pemファイ
ルを選んでください(3-1 参照。もし紛失した場合は再作成が必要です)。「パスワードの取
得」クリックしてください。パスワードが表示されますので、クリップボードにコピーして
ください。
リモートデスクトップ接続を起動して各サーバの公開アドレス(Elastic IP)宛にアクセスし
ます。
36
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
いかがでしょうか?
次のような表示が出て、接続に失敗しませんか?
Pingはどうでしょう?やはり失敗してしまいます。
これらの通信を可能にするにはセキュリティグループの理解と設定が必要です。
7-2.セキュリティグループ
5-1 でも出てきましたが、EC2 上の各インスタンスにはセキュリティグループというファ
イアウォールルールが適用されています。あまり意識していないかもしれませんが、インス
タンスを作成する際に適用されています。
「EC2」→「インスタンス」→「インスタンス」でどのインスタンスにどんなセキュリティ
グループが適用されているか確認してください。
~中略~
37
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
次に「EC2」→「ネットワーク&セキュリティ」→「セキュリティグループ」で FortiGate
に適用されていたセキュリティグループを選択し、「インバウンド」タブを表示させます。
ここには FortiGateに対するインバウンド通信で、許可したいものを定義します。サーバに
対するアクセスも FortiGateを通過しますので、定義してあげる必要があります。「編集」
→「追加」をクリックして、次のように RDPと ICMPを許可します。
38
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
設定が終わったら、再度 RDPを試してください。今度は接続できるはずです。
※Windowsサーバに割り当てられているセキュリティグループでも RDPが許可されている必要がありますが、デフォ
ルトでは許可されています。
Ping はどうでしょうか?こちらの方はあいかわらず疎通できない状態だと思います。
Windowsファイアウォールで pingを許可してみます。
Windowsアイコン→Control Panel→System and Security→Windows Firewallを表示
します。
39
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
Customize Settingsで「Turn off Windows Firewall」を選択し、無効化します。
※あくまで一時的な措置です。疎通確認後は元に戻しておいてください。
これで各サーバのElastic IPに対するPingは疎通可能なはずです。確認してみてください。
7-3.外部からの接続のまとめ
FortiGateを経由して、外部からの接続を許可する場合の条件を整理します。
1.Elastic IPを取得し、FortiGateのインターネット側ポート(Port1)に割り当てる VIP(EC2
上ではセカンダリ IP)との関連付けが済んでいること(6-2,6-3)。要するに B.B.B.B宛の通
信は 10.0.0.100に宛先変換というようなルールが定義されていること。
2.FortiGate上で VIPオブジェクトを作成し、許可ポリシーを設定していること(6-3,6-4)。
3.FortiGateに適用されているセキュリティグループ、各サーバのセキュリティグループ双
方でそのプロトコルが許可されていること(7-2)。
4.各サーバインスタンス上で動くファイアウォール(Windowsファイアウォールなど)でそ
のプロトコルが許可されていること(7-2)。
サーバインスタンス上でWebサービスを提供し、外部公開する場合などこれらの点に気を
付けてください。
40
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
8.内側からの接続確認
8-1.サーバからのインターネット接続
今度はWidowsサーバから FortiGateを経由インターネットに抜ける通信を許可します。
FortiGateの GUI左側ペインの「ポリシー&オブジェクト」→「Pv4ポリシー」で「新規作
成」をクリックして、以下のように設定してください。
名前:
英数字で任意の名前を付けてください。ポリシーにいちいち名前を付けるのが煩わしい
場合は、「システム」->「表示設定」->「名前なしポリシーを許可」を onにしてくださ
い。
入力インターフェース:
内側のインターフェース(Port2)を選択します。
出力インターフェース:
インターネット側のインターフェース(Port1)を選択します。
41
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
同様に他のサーバ用のポリシーも作成してください。以下のようになっていれば OKです。
送信元:
各サーバのアドレスオブジェクトを作成して設定してください(推奨)。この例では便宜
上「all」にします。
宛先:
不特定のインターネット宛の通信を意図しているので、「all」にします。
サービス:
必要なプロトコルを選択してください。ここでは便宜上「all」にします。
NAT:
デフォルトで有効です。「送信インターフェースのアドレスを使用」のままにしておいて
ください。ここでいう NATは送信元 NAT(IPマスカレード)のことです。
42
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
8-2.セキュリティグループ
FortiGateのセキュリティポリシー(ファイアウォールポリシー)は設定しましたが、セキュ
リティグループの方も設定しなければなりません。
7-2 の手順を参照して、各インスタンスに割り当てられているセキュリティグループを確
認してください。
その後、「EC2」→「ネットワーク&セキュリティ」→「セキュリティグループ」でWindows
に適用されていたセキュリティグループを選択し、「アウトバウンド」タブを表示させます。
送信方向はすべてのトラフィックを許可していますので、設定変更する必要がないことを
確認してください。
43
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
次に FortiGateに適用されているセキュリティグループの「インバウンド」タブを確認しま
す。Windowsがインターネット接続に利用するプロトコルが許可されているかどうか確認
してください。
「アウトバウンド」タブも確認します。すべてのプロトコルが許可されていることを確認し
てください。
44
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
それではWindowsサーバからpingでインターネットに抜けられるか確認してみましょう。
いかがでしょうか? 設定上問題は無いように思えますが、以下のように失敗しませんか?
8-3.VPC 特有のルーティング事情
失敗の原因は何でしょうか? Windowsサーバでルーティングテーブルを見るとわかります。
以下はサーバ 1で route printコマンドを実行した際の出力ですが、デフォルトゲートウェ
イが 10.0.1.1になっています。これを FortiGateの IP(10.0.1.99)に向けなければいけま
せん。ただし、EC2 のインスタンスではこれを変更できないのです(無理に変更すると
Windowsと疎通できなくなったりします)。
45
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
これを解決するには次のような設定が必要になります。
「EC2」→「インスタンス」→「インスタンス」で FortiGateのインスタンスを選択します。
ページの下に詳細情報が表示されます。eth1,eth2,eth3をクリックして表示されたそれぞ
れのインターフェース IDをコピーします。
「VPC」→「ルートテーブル」で、10.0.1.0/24用のルートテーブルを選択します。
「ルート」タブを表示し、「別のルートを追加」をクリックしてデフォルトルートを下図の
ように送信元:0.0.0.0/0、ターゲット:<インターフェース ID>に設定し保存します。
46
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
同様に 10.0.2.0/24 のデフォルトルートは eth2 へ、10.0.3.0/24 のデフォルトルートは
eth3 に設定してください。なお、これらの設定を実施してもWindows 上のルーティング
テーブル(route printの出力)は表示上変更されません(EC2の仕様)。
8-4.送信元/送信先の変更チェックの無効化
ルーティングの問題は解消されたはずですが、実はまだインターネットへの疎通はできま
せん。「EC2」→「ネットワーク&セキュリティ」→「ネットワークインターフェース」で
Port2 のインターフェースを選択し、「アクション」をクリック、「送信元/送信先の変更チ
ェック」を無効にします。他の FortiGateの内部側インターフェースである Port3,Port4も
同様に設定して下さい。
8-5.疎通確認
これで設定は終了です。各 Windows サーバから ping や Web アクセスなど試してみてく
ださい。こんどは成功するはずです。
47
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
8-6.内部からの接続のまとめ
内側のサーバからの接続を許可する場合の条件を整理します。
1.FortiGate上で NATを有効にした適切な許可ポリシーを作成していること(8-1)。
2. FortiGate に適用されているセキュリティグループ、各サーバのセキュリティグループ
双方でそのプロトコルが許可されていること(8-2)。
3.VPC のルーティングを理解し、各サブネットのデフォルトゲートウェイを適切に設定し
ていること(8-3)。
4.FortiGate の各内側インターフェースで「送信元/送信先の変更チェック」を無効化して
いること (8-4)。
FortiGateまでパケットが到達しなければ、FortiGate側でいくら設定を変えても通信を通
すことができません。うまく疎通確認ができない場合は#diagnose sniffer packetコマン
ドや#diagnose debug flowコマンドを利用して、FortiGateまでパケットが到達している
か、正しい処理がなされているかを確認してください。
http://kb.fortinet.com/kb/microsites/search.do?cmd=displayKC&docType=kc&ext
ernalId=FD30038
48
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
9.その他
9-1.FotiGate のセキュリティ機能
本ドキュメントは AWS上での FortiGateのデプロイと、疎通に関する説明を主眼としてい
るため触れていませんが、FortiGate はアンチウィルス、侵入防御(IPS)、アプリケーショ
ン制御、Webフィルタなど強力なセキュリティ機能を持っています。6-4や 8-1で要件に
応じて適宜設定を追加してください。
9-2.Elastic IPの節約
今回は FortiGateと 3つのサーバ用に合計 4つの Elastic IPを使用しています。要件によ
っては VIP とポートフォワーディングを組み合わせることで、利用する Elastic IP を減ら
すことが可能です。詳しくは Appendix3をご覧ください。
9-3.AWSの仕様変更
本ドキュメントは執筆時点(2018年 9月)で動作確認をしておりますが、将来的に AWSに
仕様変更が生じ、意図どおりに動作しない可能性もあります。
9-4.FortiGate のセキュリティグループ
FortiGateの基本機能はファイアウォールです。設定上許可しなければパケットを通すこと
はありません。EC2 のセキュリティグループもステートフルインスペクションファイアウ
ォールですが、2重にファイアウォールがあると煩雑でトラブルシュートにも時間がかかり
ます。FortiGateに適用するセキュリティグループはインバウンドもアウトバウンドも「全
ての通信を許可する」ようにするのも一案だと思います。
49
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
Appendix
Appendix 1 インスタンスごとの NIC のサポート数
https://docs2.fortinet.com/vm/aws/fortigate/6.0/about-fortigate-for-
aws/6.0.0/41066115-b161-11e8-8784-00505692583a/instance-type-support
50
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
Appendix 2 料金
オンデマンドの場合の各 FortiGate-VM インスタンスの時間当たりの料金例(2018 年 9 月
US East)
https://aws.amazon.com/marketplace/pp/B00PCZSWDA/?ref=_ptnr_web
51
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
Appendix 3 Elastic IP の節約
Elastic IPを複数利用すると、それだけ料金がかかってしまいます。ポートフォワーディン
グを利用して Elastic IPの利用を最小限に抑えることができます。ただし、トレードオフも
あります。サービス要件によってはこの構成は選択できません(サーバ 3台とも TCP 80で
Webサービスとして公開したい場合など)。
実現することを端的に図で示すと以下のようになります。Elastic IPは一つ(A.A.A.A)だけ
取得し、宛先ポート番号を変更することで各サーバに振り分けます。
おおよその設定は本文で説明した流れとほぼかわりませんが、異なる点を以下に示します。
1.Elastic IPは一つだけ取得
2.FortiGateの Port1(eth0)にセカンダリ IPを割り当てる必要はありません。
3.VIPの設定は次のようにします。
FortiGateの GUI→「ポリシー&オブジェクト」→「IPv4ポリシー」で新規作成。
インスタンス
サーバ 1
インスタンス インスタンス
サーバ 3
VPC
Port1(eth0):10.0.0.99/24
Port2(eth1):10.0.1.99/2
Port3(eth2):10.0.2.99/24
Port4(eth3):10.0.3.99/24
10.0.1.10/24 10.0.2.10/24 10.0.3.10/24
Internet
Elastic IP A.A.A.A
FortiGate
AWS
A.A.A.A:3389 A.A.A.A:3391
A.A.A.A:3390
52
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
53
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
6-4と同様にファイアウォールポリシーの設定も実施してください。
これらの設定で以下のことを実現します。
・TCP 3389宛に来た RDP通信は 10.0.1.10へ宛先変換して送信。
・TCP 3390宛に来た RDP通信は 10.0.2.10に宛先変換、ポート番号も TCP 3389に変
54
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
換して送信。
・TCP 3391宛に来た RDP通信は 10.0.3.10に宛先変換、ポート番号も TCP 3389に変
換して送信。
接続する場合はちょっとコツが要ります。たとえばサーバ 2 へ RDP 接続するには IP アド
レスの後に「:3390」を加えポート番号を指定して接続します。サーバ 3の場合は「:3391」
です。
接続に失敗する場合は 7-2 を参照して FortiGate のセキュリティグループを確認してくだ
さい。TCP 3390,3391を許可してください。
なお、無理にこのような設定にせず、たとえばサーバ 1 だけリモートデスクトップ接続可
能にして、それを踏み台にして他のサーバに接続するやり方の方が一般的かもしれません。
A.A.A.A:3390
55
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
Appendix 4 FAQ
Q1:
FortiGate にはトランスペアレントモード(TP)がありますが、AWS 上で TP の構成をとる
ことはできますか?
A1:
AWSプラットフォームの制約上、TPは利用できません。
Q2:
AWS上で FortiGateを HA構成にできますか?
A2:
可能です。詳しくは以下をご覧ください。
https://docs2.fortinet.com/vm/aws/fortigate/6.0/use-case-high-availability-for-
fortigate-on-aws/6.0.0/ed86f02e-a7f5-11e8-8784-00505692583a/fortigate-
native-active-passive-ha
Appendix 5 参考資料
https://cookbook.fortinet.com/deploying-fortigate-aws/
https://docs2.fortinet.com/vm/aws/fortigate/6.0/about-fortigate-for-
aws/6.0.0/410652e0-b161-11e8-8784-00505692583a/overview
56
–FortiGate-VM AWS Configuration – Ver1.00
Presented by Fortinet SE Team
改訂履歴
バージョン リリース日 改定内容
1.0.0 2018.9.14 初版制定