パロアルトネットワークスの次世代ファイアウォール技術を基に構築されたOCIクラウドネイティブのマネージド・ファイアウォール「OCI Network Firewall」が2022年7月にリリースされました。「OCI Network Firewall」はURLフィルタリングやTSL/SSL検査などの機能を提供します。 本チュートリアルは「OCI Network Firewallを構築する」の続編として、IDS/IPSの設定および動作を確認します。
IDS/IPSの動作検証には、Kali LinuxのツールおよびEicarファイルを使用します。 Kali Linuxでは、Network Firewallインスタンスに保護されたWindowsのコンピュートインスタンスに侵入テストを実施します。 Eicarファイルを使用する際は、Network Firewallインスタンスに保護されたLinuxのコンピュートインスタンスにWebサーバーを構築し、Webサーバーを使用して動作を検証します。
所要時間 : 約60分
前提条件 :
- OCIチュートリアル「OCI Network Firewallを構築する」を参考に、Network Firewallインスタンスの作成、コンピュートインスタンス(LinuxまたはWindows)の作成が終わっていること
- Kali Linuxを使用した動作検証を実施する場合、Windowsのコンピュートインスタンスに対して侵入テストを実施します。OCIチュートリアル「OCI Network Firewallを構築する」の手順6-2 Windowsインスタンスの作成に沿って、Windowsのコンピュートインスタンスが作成されていることを確認してください。
- Kali Linuxを使用した動作検証を実施する場合、Kali LinuxをOCIにデプロイするを参考に、OCI Network Firewallで保護されたコンピュートインスタンスに対して通信を行える環境に、Kali Linuxの構築が終わっていること。
- Eicarファイルを使用した動作検証を実施する場合、LinuxのコンピュートインスタンスにWebサーバーをインストールして動作を検証します。OCIチュートリアル「OCI Network Firewallを構築する」の手順6-1Linuxのコンピュート・インスタンスの作成に沿って、Linuxのコンピュートインスタンスが作成されていることを確認してください。
重要
: OCIの環境へツールなどを用いた侵入テストを実行する際は、メールにてOracleに事前に侵入テストの実施を通知する必要があります。本チュートリアルの内容を実施する際は、クラウド・セキュリティ・テスト通知の送信を参考に、事前にOracleへ告知メールを送信してください。
注意 :
- ※チュートリアル内の画面ショットについてはOracle Cloud Infrastructureの現在のコンソール画面と異なっている場合があります。
- ※本チュートリアルでは、OCI Network Firewallの機能検証を目的にKali LinuxおよびEicarファイルを使用します。ご自身の管理下にないサーバーや、本番環境に対しては使用しないでください。また、ツールを使用したことによりトラブルや損失が発生した場合についても責任を負いかねます。
1. ネットワーク・ファイアウォール・ポリシーの編集
今回のチュートリアルでは、「OCI Network Firewallを構築する」で作成したネットワーク・ファイアウォール・ポリシーを編集し、既存のネットワーク・ファイアウォール・ポリシーで許可しているアクセス以外は全て侵入検知するセキュリティ・ルールを追加します。
1-1. ネットワーク・ファイアウォール・ポリシーのクローニング
OCIチュートリアル「OCI Network Firewallを構築する」で作成したネットワーク・ファイアウォール・ポリシーの詳細画面の「ポリシーのクローニング」をクリックします。
「ネットワーク・ファイアウォール・ポリシー・クローンの作成」画面にて、新しいネットワーク・ファイアウォール・ポリシー名を入力し、「ネットワーク・ファイアウォール・ポリシーの作成」ボタンをクリックします。
名前
- 任意 例)NFWPolicy2
以上の手順で、既存のネットワーク・ファイアウォール・ポリシーのクローンは完了です。 クローンしたネットワーク・ファイアウォール・ポリシーは既存の設定内容を修正し、新しくネットワーク・ファイアウォール・インスタンスにアタッチすることができます。
1-2. サービス・リストの追加
手順1-2でクローンしたネットワーク・ファイアウォール・ポリシーの詳細画面を開きます。
ポリシー詳細画面左下のポリシー・リソースから「サービス・リスト」を選択し、「サービス・リストの作成」ボタンをクリックします。
「サービス・リストの作成」画面にて、任意のサービス・リスト名を入力します。
例)「others」
サービス・リスト名を入力したら、「サービスの作成」ボタンをクリックします。
「サービスの作成」画面にて、以下情報を入力し、「サービスの作成と選択」ボタンをクリックします。
名前
- 任意 例)othersプロトコル
- TCPポート範囲
- 1-65535
作成したサービスが「Selectedサービス」に追加されていることを確認したら、「サービス・リストの作成」ボタンをクリックします。
1-3.セキュリティ・ルールの作成
セキュリティ・ルールでは、手順1-2で指定したポート番号による通信のパケットを監視し、不正通信を防止するルールを作成します。
ポリシー詳細画面左下のポリシー・リソースから「セキュリティ・ルール」を選択し、「セキュリティ・ルールの作成」ボタンをクリックします。
「セキュリティ・ルールの作成」画面にて、セキュリティ・ルール名を入力します。
例)others-ips
一致条件の項目にて、「ソースIPアドレス」、「宛先IPアドレス」、「アプリケーション」は全て「任意」を選択します。
「サービス」にて、「サービス・リストの選択」をクリックし、「サービス・リストの選択
」ボタンをもう一度クリックします。
「サービス・リストの選択」画面にて、手順1-2で作成したサービス・リストにチェックをいれ、「選択済へ追加」ボタンをクリックします。
選択されたサービス・リストの欄に、手順1-2で作成したサービス・リストが表示されていることを確認したら、画面下の「選択したサービス・リストの追加」ボタンをクリックします。
URLは「任意のURL」を選択します。
続いて、ルール・アクションにて「侵入防止」を選択します。
ルールの順序で「リストの最後のルール」を選択し、「セキュリティ・ルールの作成」ボタンをクリックします。
以上の手順で、ポート番号1番から9999番における不正通信の侵入防止の設定は完了です。
セキュリティ・ルールは設定された順序に沿って通信が検査され、今回追加した侵入防止のルールは一番最後に検査されます。
2. Network Firewallインスタンスに割り当てられているNetwork Firewallポリシーの変更
OCIチュートリアル「OCI Network Firewallを構築する」で作成したNetwork Firewallインスタンスの詳細画面の「編集」ボタンをクリックします。
「ファイアウォールの編集」画面にて、手順1で作成したネットワーク・ファイアウォール・ポリシー「例)NFWPolicy2」を選択し、「変更の保存」ボタンをクリックします。
約10分程でNetwork Firewallが「更新中」から「アクティブ」になります。
Network Firewallが再び「アクティブ」になるのを待つ間に、次のステップでNetwork Firewallで保護されたコンピュートインスタンスにWebサーバーをインストールします。
3. Network Firewallで保護されたコンピュートインスタンスにWebサーバーをインストール(Eicarファイルを使用する場合)
本手順では、Eicarファイルを使用した動作検証を実施する場合、必要になるWebサーバーをインストールします。 OCIチュートリアル「OCI Network Firewallを構築する」で作成したコンピュートインスタンス(Linux)にSSHでアクセスします。 ターミナルで以下コマンドを実行し、Apache HTTPサーバをインストールします。
-
Apache HTTPサーバーをインストールします
sudo yum -y install httpd
-
TCPの80番(http)および443番(https)ポートをオープンします
sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --permanent --add-port=443/tcp
-
ファイアウォールを再ロードします
sudo firewall-cmd --reload
-
Webサーバーを起動します
sudo systemctl start httpd
クライアントPCのブラウザを開き、「http://<コンピュートインスタンスのIPアドレス>」にアクセスし、以下のようなページが表示されることを確認します。コンピュートインスタンスのIPアドレス>
4. Network Firewallインスタンスのログの有効化
本手順では、Network Firewallインスタンスのログを有効化します。 Network Firewallでは、以下2種類のログを出力します。
- Traffic Log : Network Firewallインスタンスを通過したトラフィックを記録したログ。
- Threat Log : Network Firewallによって脅威が検知されたトラフィックの詳細情報(脅威の内容など)を記録したログ。
本チュートリアルでは、実際に攻撃した内容がNetwork Firewallによって脅威として検知されているかを確認するため、「Threat Log」を有効化します。
Network Firewallインスタンスの更新が終了し、再びアクティブになったら、Network Firewallインスタンス詳細画面左下にあるリソースから「ログ」を選択します。
表示された「ログの有効化」画面にて、以下情報を入力し、「ログの有効化」ボタンをクリックします。
ログ・グループ
- 新規ログ・グループの作成を選択します。名前
- 任意 例)NFW_LOG説明
- 任意ログ名
- デフォルト「NFW1_threatlog」のままにします。変更したい場合は任意のログ名を入力してください。ログの保持
- デフォルトの1ヵ月にします。最大で6ヵ月まで保持することが可能です。
5. Eicarファイルを用いたNetwork Firewallの動作検証
Eicarファイルは、ウイルス対策ソフトの応答をテストするためにEICARが開発したテストファイルです。
5-1. Eicarファイルの配置
Eicarのホームページから、eicar.comファイルをクリックします。
以下の文字列がブラウザ上に表示されるので、表示された文字列をクリップボードにコピーします。
手順3でWebサーバーをインストールしたインスタンスにアクセスし、/var/www/htmlディレクトリ配下にコピーしたeicarファイルの中身をペーストします。 ここではページ名を「eicar.html」とします。
$ sudo cd /var/www/html
$ sudo vi eicar.html
5-2. Eicarファイルへアクセス
クライアントPCのブラウザを開き、以下URIにアクセスします。
http://<手順3でWebサーバをインストールしたインスタンスのIPアドレス>/eicar.html
OCI Network Firewallの侵入防止の機能によって、接続がリセットされます。
5-3. Network Firewallのログの確認
実際にNetwork Firewallのログに、脅威情報として上記のアクセスが記録されていることを確認します。
Network Firewallインスタンスの詳細画面左下のリソース→ログ→手順4で有効化したThreat Logの「ログ名」から、ログを確認します。
出力されたログから、手順1-3で作成したルール「others-ips」によって「Eicarファイルが検知」され、クライアントPCのグローバルIPアドレスからの接続がリセットされていることが分かります。