パロアルトネットワークスの次世代ファイアウォール技術を基に構築された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を構築する」で作成したネットワーク・ファイアウォール・ポリシーの詳細画面の「ポリシーのクローニング」をクリックします。 画面ショット1

「ネットワーク・ファイアウォール・ポリシー・クローンの作成」画面にて、新しいネットワーク・ファイアウォール・ポリシー名を入力し、「ネットワーク・ファイアウォール・ポリシーの作成」ボタンをクリックします。

  • 名前 - 任意 例)NFWPolicy2 画面ショット2

以上の手順で、既存のネットワーク・ファイアウォール・ポリシーのクローンは完了です。 クローンしたネットワーク・ファイアウォール・ポリシーは既存の設定内容を修正し、新しくネットワーク・ファイアウォール・インスタンスにアタッチすることができます。


1-2. サービス・リストの追加

手順1-2でクローンしたネットワーク・ファイアウォール・ポリシーの詳細画面を開きます。

画面ショット43

ポリシー詳細画面左下のポリシー・リソースから「サービス・リスト」を選択し、「サービス・リストの作成」ボタンをクリックします。

画面ショット44

「サービス・リストの作成」画面にて、任意のサービス・リスト名を入力します。
例)「others」
サービス・リスト名を入力したら、「サービスの作成」ボタンをクリックします。

画面ショット45

「サービスの作成」画面にて、以下情報を入力し、「サービスの作成と選択」ボタンをクリックします。

  • 名前 - 任意 例)others
  • プロトコル - TCP
  • ポート範囲 - 1-65535

画面ショット46

作成したサービスが「Selectedサービス」に追加されていることを確認したら、「サービス・リストの作成」ボタンをクリックします。

画面ショット47


1-3.セキュリティ・ルールの作成

セキュリティ・ルールでは、手順1-2で指定したポート番号による通信のパケットを監視し、不正通信を防止するルールを作成します。
ポリシー詳細画面左下のポリシー・リソースから「セキュリティ・ルール」を選択し、「セキュリティ・ルールの作成」ボタンをクリックします。

画面ショット48

「セキュリティ・ルールの作成」画面にて、セキュリティ・ルール名を入力します。
例)others-ips

画面ショット49

一致条件の項目にて、「ソースIPアドレス」、「宛先IPアドレス」、「アプリケーション」は全て「任意」を選択します。
「サービス」にて、「サービス・リストの選択」をクリックし、「サービス・リストの選択 」ボタンをもう一度クリックします。

画面ショット50

「サービス・リストの選択」画面にて、手順1-2で作成したサービス・リストにチェックをいれ、「選択済へ追加」ボタンをクリックします。

画面ショット51

選択されたサービス・リストの欄に、手順1-2で作成したサービス・リストが表示されていることを確認したら、画面下の「選択したサービス・リストの追加」ボタンをクリックします。

画面ショット52

URLは「任意のURL」を選択します。
続いて、ルール・アクションにて「侵入防止」を選択します。
ルールの順序で「リストの最後のルール」を選択し、「セキュリティ・ルールの作成」ボタンをクリックします。

画面ショット53

以上の手順で、ポート番号1番から9999番における不正通信の侵入防止の設定は完了です。
セキュリティ・ルールは設定された順序に沿って通信が検査され、今回追加した侵入防止のルールは一番最後に検査されます。

2. Network Firewallインスタンスに割り当てられているNetwork Firewallポリシーの変更

OCIチュートリアル「OCI Network Firewallを構築する」で作成したNetwork Firewallインスタンスの詳細画面の「編集」ボタンをクリックします。

画面ショット8

「ファイアウォールの編集」画面にて、手順1で作成したネットワーク・ファイアウォール・ポリシー「例)NFWPolicy2」を選択し、「変更の保存」ボタンをクリックします。

画面ショット9

約10分程でNetwork Firewallが「更新中」から「アクティブ」になります。

画面ショット10

Network Firewallが再び「アクティブ」になるのを待つ間に、次のステップでNetwork Firewallで保護されたコンピュートインスタンスにWebサーバーをインストールします。


3. Network Firewallで保護されたコンピュートインスタンスにWebサーバーをインストール(Eicarファイルを使用する場合)

本手順では、Eicarファイルを使用した動作検証を実施する場合、必要になるWebサーバーをインストールします。 OCIチュートリアル「OCI Network Firewallを構築する」で作成したコンピュートインスタンス(Linux)にSSHでアクセスします。 ターミナルで以下コマンドを実行し、Apache HTTPサーバをインストールします。

  1. Apache HTTPサーバーをインストールします

     sudo yum -y install httpd
    
  2. TCPの80番(http)および443番(https)ポートをオープンします

     sudo firewall-cmd --permanent --add-port=80/tcp
     sudo firewall-cmd --permanent --add-port=443/tcp
    
  3. ファイアウォールを再ロードします

     sudo firewall-cmd --reload
    
  4. Webサーバーを起動します

     sudo systemctl start httpd
    

クライアントPCのブラウザを開き、「http://<コンピュートインスタンスのIPアドレス>」にアクセスし、以下のようなページが表示されることを確認します。

画面ショット11


4. Network Firewallインスタンスのログの有効化

本手順では、Network Firewallインスタンスのログを有効化します。 Network Firewallでは、以下2種類のログを出力します。

  • Traffic Log : Network Firewallインスタンスを通過したトラフィックを記録したログ。
  • Threat Log : Network Firewallによって脅威が検知されたトラフィックの詳細情報(脅威の内容など)を記録したログ。

本チュートリアルでは、実際に攻撃した内容がNetwork Firewallによって脅威として検知されているかを確認するため、「Threat Log」を有効化します。

Network Firewallインスタンスの更新が終了し、再びアクティブになったら、Network Firewallインスタンス詳細画面左下にあるリソースから「ログ」を選択します。 画面ショット12

表示された「ログの有効化」画面にて、以下情報を入力し、「ログの有効化」ボタンをクリックします。

  • ログ・グループ - 新規ログ・グループの作成を選択します。
  • 名前 - 任意 例)NFW_LOG
  • 説明 - 任意
  • ログ名 - デフォルト「NFW1_threatlog」のままにします。変更したい場合は任意のログ名を入力してください。
  • ログの保持 - デフォルトの1ヵ月にします。最大で6ヵ月まで保持することが可能です。 画面ショット13


5. Eicarファイルを用いたNetwork Firewallの動作検証

Eicarファイルは、ウイルス対策ソフトの応答をテストするためにEICARが開発したテストファイルです。

5-1. Eicarファイルの配置

Eicarのホームページから、eicar.comファイルをクリックします。 画面ショット23

以下の文字列がブラウザ上に表示されるので、表示された文字列をクリップボードにコピーします。

画面ショット22

手順3でWebサーバーをインストールしたインスタンスにアクセスし、/var/www/htmlディレクトリ配下にコピーしたeicarファイルの中身をペーストします。 ここではページ名を「eicar.html」とします。

$ sudo cd /var/www/html
$ sudo vi eicar.html 

画面ショット24


5-2. Eicarファイルへアクセス

クライアントPCのブラウザを開き、以下URIにアクセスします。

http://<手順3でWebサーバをインストールしたインスタンスのIPアドレス>/eicar.html

OCI Network Firewallの侵入防止の機能によって、接続がリセットされます。

画面ショット25


5-3. Network Firewallのログの確認

実際にNetwork Firewallのログに、脅威情報として上記のアクセスが記録されていることを確認します。

Network Firewallインスタンスの詳細画面左下のリソース→ログ→手順4で有効化したThreat Logの「ログ名」から、ログを確認します。 画面ショット26

出力されたログから、手順1-3で作成したルール「others-ips」によって「Eicarファイルが検知」され、クライアントPCのグローバルIPアドレスからの接続がリセットされていることが分かります。 画面ショット27