AWSとWatchGuard製FireBoxのVPN接続

実験してみたので、まとめてみる。
ただUTM装置が障害のAWSとの接続の単一障害点となることを懸念する場合は、
CiscoやYAMAHAといったRouter製品で行うのがベスト。
また、WatchGuardから提供される無償の可視化ツール *Dimention* は別途まとめる。

# 概要

AWSについては、既に色々な方が触れているので説明は省略。
WatchGuardのFireBoxを初めて見る方に向けた説明を前半に、
実際にAWSとVPN接続を行う部分は後半に記載。

## WatchGuardとは

[Fortinet](https://www.fortinet.co.jp/)社や[Palo Alto](https://www.paloaltonetworks.jp/)社と同様にネットワークセキュリティ装置のベンダー。
また、最近ではエンドポイントセキュリティから、他要素認証まで幅広くサービスを提供。
製品のFireBoxという名前は「Firewall in Box」から。

■日本法人の公式サイト
https://www.watchguard.co.jp/

## UTMとは

統合脅威管理(Unified Threat Management)の略称。
一般的に下記の機能を搭載。
・ファイアウォール（Fire Wall）
・IDS（Intrusion Detection System）：不正侵入検知
・IPS（Intrusion Prevention System）：不正侵入防止
・アンチウィルス
・アンチスパム
・Webフィルタリング

その他、各ベンダー（とのライセンス契約）によって、提供されるサービスが異なる。
WatchGuardの場合、通常[トータルセキュリティ](https://www.watchguard.co.jp/contents/docs/resource/J_Brochure_Total_Security.pdf)を1年、あるいは3年という契約期間を提供。

検証に利用したFireBoxは下記の利用状況。

![セキュリティサブスクリプション.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/502ab0d9-d9db-649b-6be7-339a2e4eebef.png)

## 利用するソフトウェア

・Fireware OS v12.4.B589964
・WatchGuard System Manager release 12.4.0(B591532)

WSMは、Windowsのみなので、macOS対応版も欲しいところ...
必要な場合は下記から無償・登録不要でダウンロード可能。

[Software for Firebox T15](https://watchguardsupport.secure.force.com/software/SoftwareDownloads?current=true&familyId=a2R2A000002amEBUAY)

# VPN接続実験環境

## 利用製品

FireBoxシリーズの中で最小モデル、無線LAN機能がある [FireBox T-15-W](https://www.watchguard.co.jp/products/network-security-appliances/firebox-t15)を利用。 

![T15W.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/b9ae3a50-0f3e-1381-31c2-2c038d7e32a8.png)

## 全体構成

とりあえず作ったVPCにFireBoxからAWSにVPN接続。

![lab.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/33746b9b-5224-c060-860a-542a1389617c.png)

## AWS側準備

### VPC作成

とりあえず、10.200.0.0/16と適当なCIDRで作成。

<img width="932" alt="VPC001.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/06da2085-3480-7798-ef5d-2bf14e05e6e7.png">

### Customer Gateway作成

自身のグローバルIP（＝FireBoxのExternalに付与しているIP）を入力。

<img width="1305" alt="CGW001.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/e62d9358-2a07-ac78-a1c2-c0f4a0692a70.png">

### Private Gateway作成

BGPなどで経路情報を識別するためのASN(Autonomous System Number)も設定上不要なため、適当。

![VGW001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/52128d33-d876-9295-e593-a72b5f0cfdcb.png)

作ったばかりでは、いずれのVPCに紐付かないので設定。

![VGW003.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/c8841ea1-d8cb-e56e-30c8-c0af82c7bbd4.png)

### Site-to-Site（VPN）接続作成

参考ページでは、ルーティングオプションを静的にしていたので倣って設定。

![VPN001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/dd28310b-4d8e-4a8c-f9ae-fbf32e048c83.png)

（参考） [How to configure a VPN between a Firebox and an Amazon Web Service network](http://customers.watchguard.com/articles/Article/Configure-a-VPN-between-an-XTM-device-and-an-Amazon-Web-Service-AWS-network/?l=en_US&fs=RelatedArticle)
> In the VPN Connection settings, you must select Static Routing. You must specify static routes, which are the only subnets from which Amazon will accept traffic. 

### 作成したVPN接続の設定ファイルをダウンロード

色々なネットワークベンダー用のテンプレートがあるので、 *WatchGuard, Inc.* を選択し、ダウンロード。

![VPN007.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/93cfee30-2212-5246-91f9-e459512b32d8.jpeg)

## FireBox側準備

### ネットワーク構成

各インターフェイスの設定は下記の通り

![WSM001.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/d71ab78f-9ec1-2f53-17b6-44c1346be157.png)


### BOVPN仮想インターフェイスの作成

BO（Branch Office:支店、支部）間のVPN接続を行うインターフェイスの作成。

![VPN008.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/5960225e-623f-eb12-a2c9-c707d76d4cba.png)

### BOVPN仮想インターフェイスの作成 - ゲートウェイ設定

自身のIP、リモートゲートウェイのIPを入力。

![VPN015.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/b6be10ae-695c-c6cc-d07e-e8d7b6931669.png)

### BOVPN仮想インターフェイスの作成 - フェーズ１の設定

ここの設定内容は前述のダウンロードした設定ファイルに記載されている内容。

![VPN016.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/b216511a-5874-5d8e-5b8e-5dce39a9b8fb.jpeg)

### フェーズ2のプロポーザル

フェーズ２の設定は個別に実施。

![VPN009.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/2aede747-574d-dd5f-df61-e8352b2400f5.png)

ここの設定内容は前述のダウンロードした設定ファイルに記載されている内容。

![WSM002.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/b0d43778-cc2b-9ec6-a917-147056c8f784.jpeg)

### BOVPN仮想インターフェイスの作成 - フェーズ2の設定

ここの設定内容は前述のダウンロードした設定ファイルに記載されている内容。

![VPN017.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/063ac1cd-e946-196b-b113-bbc743b503dd.jpeg)

### BOVPN仮想インターフェイスの作成 - VPNルートの設定

仮想インターフェイスで利用するリンクローカルアドレスはここに設定。

![VPN018.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/6cec947d-3a51-4936-6c30-c691d0dfb8d7.png)

### BOVPN仮想インターフェイスの作成 - 設定後

AWSは、 *Design for Failure* の考え方に基づくのでVPNの経路は必ず２つ設定。

![VPN019.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/c70b49cf-c052-9a03-1634-67814f1df381.jpeg)

### FireBoxに反映後

VPN接続のステータスが **ダウン** から **アップ** に変化（＝VPN接続：OK）

![VPN020.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/7f0beeef-907e-b002-e10b-5377052b1803.jpeg)

## まとめ

FireBoxから無事にAWSへVPN接続ができました。
今回は接続することが主な目的でしたので、インスタンスまでは経路を確認出来ていません。
というのも、FireBoxの設定で、２つのBOVPN仮想インターフェイスに同じ経路が設定できなかったので、
ここは WatchGuardの [ユーザフォーラム](http://www.watchguard.com/Forum/)でトピックに上げてみようかと思います。

BOVPNに同じ経路が設定できてしまうと、ルーティングとしてどちらのインターフェイスを利用するか分からなくなる、
一方で、AWSは必ずVPN接続は２つ必要になるので、インターフェイスも２つ設定することになり、inboundのネットワークは同じにしないと運用上困るのではないかと思います。

### BOVPN仮想インターフェイスのVPNルートの設定エラー

下記の２つインターフェイスに対して設定

![VPN-req-003.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/3c7030f9-cbbc-9e05-3903-7253c3922109.jpeg)

１つ目の仮想インターフェイスにVPNルートを設定（実施済）

![VPN-req-004.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/b3329e20-b143-99ce-bf19-6a0885ad1bee.jpeg)

１つ目の仮想インターフェイスにVPNルートを設定

![VPN-req-005.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/b9099796-2189-5a92-36e0-efa9e6fbf4b4.jpeg)

既に設定している内容と重複している

![VPN-req-006.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/0f7e9ec7-b9b4-8b7a-1bc9-d6b0242d7bd2.jpeg)