OCI Network Firewallでサイバー攻撃を防ぐ

[前回の記事](https://qiita.com/western24/items/8f17855f1ed4cb59e321)では、サブネット間にNetwork Firewallを配置する方式をとりましたが、
今回は、パブリックサブネットにあるインスタンスが受ける様々なサイバー攻撃をNetwork FirewallのIPS(侵入防止)のシグネチャが検知し、トラフィックを遮断する構成を構築してみます
実際にハニーポットを配置することで、リアルタイムでサイバー攻撃を受けて、どういった種類の攻撃を検知・遮断しているのかをログから見ていきたいと思います

作成するネットワーク構成はこちらです
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/8c0892e0-fc4c-e36d-0a61-d8d1030537ef.png)
ポイントは、ハニーポットを作成するパブリック・サブネットのルート表はをNetwork Firewallを指すことで、インターネットへのトラフィックはNetwork Firewallを経由し、Internet Gatewayから外に出ていきます
同様にインターネットからハニーポットへのアクセスは、Internet Gatewayのルート表によって必ずNetwork Firewallを経由することになります
では、実際にテスト環境を作成していきたいと思います

## VCNとNetwork Firewallの準備

- VCNの作成。VCNウィザートを使い、172.16.0.0/21のVCNを作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/d2dfda54-7d54-0d6a-94d2-c07ae237d4e0.png)


- 作成したVCNにFW用のパブリック・サブネット(172.16.2.0/24)を追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/0e9dbdca-dc6c-0e23-35f6-993512551930.png)


- Network Firewallのポリシーを作成
導通テスト用に無条件ですべてのトラフィックを許可するポリシーを作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/121909e2-7b52-1c4e-6ab9-1b5d3dce78f7.png)

- Network Firewallを作成する。サブネットはFW_Subnetを選択し、ポリシーは上記で作成したものを指定する。作成後には、FW自身のIPアドレスをメモしておく
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/10f912f1-8137-1ad7-948b-d52b682b7ab7.png)

## ルート表の作成
- デフォルト・パブリックのルート表は、ターゲットをInternet GatewayからNetwork Firewallに変更する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/b72e80cf-9dda-02de-075b-b9c284f41b51.png)

- Network Firewall用ルート表を新たに作成し、宛先(0.0.0.0/0)をInternet Gatewayに向ける
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/50d07d71-f48c-b78c-0c1f-d6ee697c711b.png)

- Internet Gateway用のルート表を新たに作成し、宛先(172.16.0.0/24)をNetwork Firewallに向ける
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/024281ab-3013-2029-fa87-e007c90af0be.png)

- 今回使用するルート表。赤が新規作成したルート表、青は自動作成されたデフォルトのルート表
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/b369b2a7-505c-6259-8301-60c69d8cfab8.png)

## ルート表の割り当て

- Network Firewallのサブネットの編集から、作成したFW用のルート表を割り当てる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/364650de-dfdf-0c52-671c-b1a365dc0ca0.png)

- Internet Gatewayに作成したIG用のルート表を割り当てる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/ef624aa7-3e5e-48cf-ed39-219ae5089909.png)

- セキュリティリストは、フルオープンにしておく
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/eb3789fa-88d7-ed44-05fe-52562a5db4f3.png)

## ハニーポットの作成

172.16.0.0/24のパブリック・サブネットにハニーポットをデプロイする
作成手順は、[こちら](https://qiita.com/western24/items/cb9e988035a86325fa47)の記事を参照
作成後、T-Potの分析ダッシュボードに情報が表示されるようになっていれば、Network Firewallを経由してハニーポットまでのネットワーク設定が正しくできている

## Network Firewallの侵入防止を実行

- 無条件ですべてのトラフィックを侵入防止のアクションに変更し、Netowork Firwallに割り当てる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/b8085a14-e0ff-2bd6-5c7d-5bccc8303e02.png)

- Network FirewallのTrafficとThreatログを有効化する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/30ecc27b-45f5-c2ce-8952-49e44f33ba17.png)

- Threat Logに実際のサイバー攻撃を検知しアラートまたは遮断したトラフィックの詳細を確認できる。ログデータはJSON形式でLoggingサービスで管理されている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/bdebd01f-5ba7-1980-6c09-e4a3d86e704c.png)

- Service Connector Hubを使ってLoggingからLogging Analyticsにデータ連携すれば、下記のような直感的なログのビジュアライズや定常監視のための分析ダッシュボードなどが作成できる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/562423/f4961a7b-bfcf-96f6-64a6-fd4755c8e1fe.png)

数時間動作させただけでもかなり多くの脆弱性を調査するBotアクセスやブルートフォース、スパイウェアや不正コードの実行などの不正アクセスをNetwork Firewallが検出していることが分かります。
検出された脅威は、Palo Altoの脅威シグネチャによってカテゴライズされています。詳しくは[こちら](https://docs.paloaltonetworks.com/pan-os/9-1/pan-os-admin/threat-prevention/threat-signatures)

今回の構成は、Network Firewallを経由してInternet Gatewayからインターネット通信する基本的な構成となります。ロードバランサーを使用する場合も基本的な考え方は同じで、ロードバランサーとバックエンドのインスタンスが所属するサブネットのルート表をNetwork Firewallに向くようしてあげます。その際、忘れずにIntenet Gatewayのルート表に返りのルーティングを記述します

次回は、VNC間の通信時にNetwork Firewallを経由させるHub&Scopeというちょっと複雑な構成を作成してみたいと思います