• 検索結果がありません。

InterSecLB400j_InfoCage_SiteShellオプション設定手順書

N/A
N/A
Protected

Academic year: 2021

シェア "InterSecLB400j_InfoCage_SiteShellオプション設定手順書"

Copied!
65
0
0

読み込み中.... (全文を見る)

全文

(1)

InterSec/LB400k

InfoCage SiteShellオプション設定手順書

2017.8

初版

(2)

© Copyright NEC Corporation 2017. All rights reserved.

免責事項

本書の内容は、予告なしに変更されることがあります。 日本電気株式会社は、本書の技術的もしくは編集上の間違い、欠落について、一切責任をおいません。 また、お客様が期待される効果を得るために、本書に従った導入、使用および使用効果につきましては、 お客様の責任とさせていただきます。 本書に記載されている内容の著作権は、日本電気株式会社に帰属します。本書の内容の一部または全部 を日本電気株式会社の許諾なしに複製、改変、および翻訳することは禁止されています。

商標情報

InfoCage SiteShell および InterSec、CLUSTERPRO® X は日本電気株式会社の登録商標です。 Linux®は、Linus Torvalds氏の米国およびその他の国における、登録商標または商標です。

Javaは、Oracle Corporation 、および その子会社、関連会社の米国、および その他の国における登録商 標です。

(3)

目次

はじめに ...4 対象読者と目的 ... 4 適用範囲 ... 4 前提条件 ... 5 機能概要 ...6 機能概要 ... 6 基本構成 ... 7 ロードバランサの単一構成 ...9 ロードバランサの初期導入 ... 9 SITESHELL の導入 ... 10 負荷分散環境の構築 ... 17 SITESHELL の動作確認 ... 27 ロードバランサのクラスタ構成 ... 30 ロードバランサの初期導入 ... 31 フローティングIPアドレスの登録 ... 32 SITESHELL の導入(1台目) ... 38 負荷分散環境の構築 ... 43 SITESHELL の動作確認(1台目) ... 53 マスタサーバの切り替え ... 56 SITESHELL の導入(2台目) ... 57 SITESHELL の動作確認(2台目) ... 58 EXECリソース 起動/停止スクリプトへの追記... 59 クラスタ運用開始前の評価 ... 65

(4)

はじめに

対象読者と目的

本書は、InterSec/LB へ InfoCage SiteShell を導入する方法を紹介するものであり、システム管理者、お よびユーザサポートを行うシステムエンジニア、保守員を対象としています。 InfoCage SiteShell、InterSec/LB、CLUSTERPRO® X の製品個々の詳細な設定方法については、それぞ れの製品付属マニュアルをご参照ください。 最新の製品付属マニュアルは下記より入手できます。  InfoCage SiteShell InterSec/LB のローカルディスク /opt/nec/LB_SiteShell/Manual 配下  InterSec/LB (2017年8月時点のURL) http://jpn.nec.com/intersec/download_hw.html  CLUSTERPRO® X (2017年8月時点のURL) http://jpn.nec.com/clusterpro/clp/manual.html

適用範囲

本書は、以下の製品バージョンを対象としています。  InfoCage SiteShell Ver4.0 NW型SiteShell  InterSec/LB400k

(5)

前提条件

本書では、以下を前提としています。

 InfoCage SiteShell で HTTPS通信を攻撃検査する場合は、InterSec/LB の SSLアクセラレータオプ ションが必要となります。

SSLアクセラレータの設定手順は、下記をご参照ください。  InterSec/LB 製品付属マニュアル 「ユーザーズガイド」

 InterSec/LB に InfoCage SiteShell の運用管理部分(運用管理コンソール、運用管理サービス)を導 入することはできません。

InfoCage SiteShell 運用管理部分は、InterSec/LB とは別のサーバに導入する必要があります。

InfoCage SiteShell 運用管理部分のインストール手順は、下記をご参照ください。  InfoCage SiteShell 製品付属マニュアル「インストールガイド」

InfoCage SiteShell オプションでは、下記の InterSec/LB 機能を使用することができません。  L4負荷分散 ※L7負荷分散のみサポート

 分散ノードモジュールを使用した機能 ・ ノード自動認識

(6)

機能概要

機能概要

InterSec/LB (以下、ロードバランサ) に InfoCage SiteShell オプション (以下、SiteShell) を導入すること で、ロードバランサの分散ノードである Webサイトに対する攻撃を検知し、防御することができます。 これにより、Webサイトへの攻撃による影響を最小限に抑えることが可能です。 SiteShell の防御機能については、下記をご参照ください。  InfoCage SiteShell 製品付属マニュアル「製品説明書」 ロードバランサに SiteShell を導入した場合の動作イメージは、下図の通りです。 図 2.1-1 SiteShell の動作イメージ クライアントからのリクエストは、まずロードバランサが受けます。 ロードバランサは、負荷分散したリクエストを SiteShell へ転送します。 これにより、ロードバランサと WEBサーバ(分散ノード)の間で通信するリクエストを、SiteShell が検査/対処 することができ、攻撃性の無いリクエストのみ WEBサーバへ転送されるようになります。 つまりロードバランサに導入した SiteShell は、リバースプロキシ方式で動作することになります。 リバースプロキシ方式については、下記をご参照ください。  InfoCage SiteShell 製品付属マニュアル 「インストールガイド」 の 「3.8.1.1 リバースプロキシ方式」

(7)

基本構成

本書では、下記の構成を想定した導入手順を紹介します。  ロードバランサの分散グループに設定する仮想IPアドレスは、192.168.1.120 とする。  ロードバランサの分散ノード(L7負荷分散)である WEBサーバは2台とする。 1台目は 192.168.2.30、2台目は 192.168.2.40 とする。  SiteShell は WEBサーバのリバースプロキシとしてリクエストを待ち受ける。 1台目に対しては 192.168.1.130、2台目に対しては 192.168,1.140 とする。  ロードバランサは SiteShell が待ち受ける 192.168.1.130 か 192.168.1.140 に対して、 リクエストの転送を負荷分散する。 下記は、基本構成の構成図です。 図2.2-1 基本構成

(8)

HTTP通信では、次の経路を辿ることになります。 図2.2-2 HTTP通信経路 HTTPS通信では、次の経路を辿ることになります。 図2.2-3 HTTPS通信経路 この場合、ロードバランサの SSLアクセラレータオプションにより、SiteShell は非SSL化されたリクエストを受

(9)

ロードバランサの単一構成

本章では、「2.2 基本構成」 を想定し、ロードバランサを単一(1台)構成で導入する手順を説明します。

ロードバランサの初期導入

まず、ロードバランサを初期導入します。 ロードバランサの導入手順は、下記をご参照ください。  InterSec/LB 製品付属マニュアル 「セットアップ手順説明書」 以下に「セットアップ手順説明書」で必要な作業の章節を挙げます。  2章 インストール  3章 初期セットアップ  4章 初期導入

(10)

SiteShell の導入

初期導入を終えたロードバランサのローカルディスク /opt/nec/LB_SiteShell には、SiteShell のインストー ル媒体が展開されています。 インストール媒体のディレクトリ構成は、同ディレクトリ配下の readme.txt をご参照ください。 本節では、ロードバランサに SiteShell を導入する手順を説明します。

3.2.1. ロードバランサへのリモートログイン

SiteShell の導入はコマンド操作で行いますので、導入サーバにリモートログインする必要があります。 初期導入時のロードバランサには、sshd サービスが起動していません。 ロードバランサの ManagementConsole にログインして、sshd サービスを起動します。 sshd サービスの起動手順は、下記をご参照ください。  InterSec/LB 製品付属マニュアル 「ユーザーズガイド」 SSH に対応したターミナルエミュレータを使用して、ロードバランサにリモートログインします。 コマンド操作は、root ユーザ権限が必要です。 ログイン後は、root ユーザに切り替えておきます。

3.2.2.

Java のインストール

SiteShell の導入には、Java SE 8 が必要です。 下記より Java の RPM を入手してください。 (2017年8月時点のURL) https://www.java.com/ja/download/linux_manual.jsp 入手した RPM を /tmp 配下に転送します。 コマンドを投入して、Java をインストールします。 # cd /tmp # rpm -ivh jre-8u131-linux-x64.rpm ※Version 8 Update 131 の場合

(11)

3.2.3. ネットワークインターフェイスのエイリアス追加

ロードバランサのリクエストを受け付けるネットワークインターフェイスにエイリアスを追加します。 これはリバースプロキシとなる SiteShell に、ロードバランサからのリクエストを受け付けるためのネットワー クインターフェイスが必要となるためです。 エイリアスの追加手順は、下記をご参照ください。  InterSec/LB 製品付属マニュアル 「ユーザーズガイド」 以下は、「2.2 基本構成」 に沿った SiteShell のためのエイリアスの設定例です。 1. ManagementConsole にログインします。 2. システム > ネットワーク > インタフェース へ遷移します。 3. インターフェイス名 eth0 (192.168.1.0/24) 側のネットワークにエイリアスを追加します。 4. WEBサーバ1台目に対するリクエストを受け付けるエイリアスの情報を入力します。 IPv4アドレス 192.168.1.130 サブネットマスク 255.255.255.0 ブロードキャストアドレス 192.168.1.255

(12)

5. 操作結果通知を確認します。 6. 追加したエイリアスを起動します。 7. 操作結果通知を確認します。 8. 同様に、WEBサーバ2台目に対するリクエストを受け付けるエイリアスも追加し、起動します。 IPv4アドレス 192.168.1.140 サブネットマスク 255.255.255.0 ブロードキャストアドレス 192.168.1.255

(13)

3.2.4.

SiteShell のインストール

ロードバランサに SiteShell をインストールします。 ロードバランサのローカルディスクに展開されたインストーラを使用してインストールします。 SiteShell のインストール手順は、下記をご参照ください。  InfoCage SiteShell 製品付属マニュアル 「インストールガイド」 の 「3.8.3 インストール(NW型)」 # cd /opt/nec/LB_SiteShell/NW # rpm -ivh SiteShell_NW-4.0.0.0-1.x86_64.rpm

3.2.5. SiteShell の環境設定

ロードバランサにインストールした SiteShell に対して環境設定します。 SiteShell の環境設定手順は、下記をご参照ください。  InfoCage SiteShell 製品付属マニュアル 「インストールガイド」 の 「3.8.4 環境設定(NW型)」 以下は、「2.2 基本構成」 に沿ったリバースプロキシを行うための設定例です。 1. 仮想Webサイトの設定ファイル VirtualWebSite.csv を作成します。 # cd /opt/SiteShell_NW/ # vi VirtualWebSite.csv WEBSITE_NAME,IP,FORWARD_IP,FORWARD_PORT,GRP_IP,TEST_MODE,RECIPE_DEF WebSite1,192.168.1.130,192.168.2.30,80,,off,on WebSite2,192.168.1.140,192.168.2.40,80,,off,on 2. SiteShell の trusted.proxies プロパティを設定します。 trusted.proxies は、攻撃元IPアドレスを特定する精度を向上させるための設定値です。 SiteShell がロードバランサを攻撃元と判定しないように、予めロードバランサに付与する IPアドレスを trusted.proxies に設定しておきます。 # vi config/configuration.properties ~ trusted.proxies=192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.140 ~ trusted.proxies については、下記をご参照ください。  InfoCage SiteShell 製品付属マニュアル 「製品説明書」 の 「表 10 ノード設定のプロパティ - 基本動作」

(14)

3. SiteShell の設定を行います。 # ./setup.sh

Please enter the path to Java Runtime Environment(JRE) or Java Development Kit(JDK). Enter 'q' to quit the environmental settings.

JAVA HOME: /usr/java/jre1.8.0_131/

Please enter the LICENSE ID.

Enter 'i' to running the WAF in the 'Trial Mode'. Enter 'q' to quit the environmental settings. LICENSE ID: ****-****-****-****

Please enter the following setting menu.

1. Change the 'JAVA HOME'. [/usr/java/jre1.8.0_131/] 2. Update the license ID. [****-****-****-****] 3. Import the configuration of 'Apache Virtual Web Site'. 4. Export the configuration of 'Apache Virtual Web Site'.

5. Setting to manage by 'Operation Management Console'. * not selectable.

6. Setting to automatically register to 'Operation Management Console'. * not selectable. 7. Setting to automatically keep up-to-date the 'Vulnerability Countermeasures'.

Enter 'q' to go back to the previous menu. SELECT NUMBER (1-7,q)[q]:

3

Please enter the path of the import configuration file. Enter 'q' to go back to the previous menu.

FILE PATH [q]: VirtualWebSite.csv

Update the filter settings of the 'Virtual Web Site'.

Operation vWebSiteName IPaddr ForwardDest:Port NodeGroupID TestMode Protection Add. WebSite1 192.168.1.130 192.168.2.30:80 - off on Add. WebSite2 192.168.1.140 192.168.2.40:80 - off on Want to reflect these filter settings? y/[n]:

y

SiteShellServiceForNW installed.

WAF configuration to the 'Virtual Web Site' was completed. Settings are reflected by restart of 'Virtual Web Site'. Restart 'Virtual Web Site' right now? [y]/n:

y

WebSite1 is not running.

Starting : SiteShellNW(WebSite1)

7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,2 CPUs)

Processing archive: /opt/SiteShell_NW/config/SiteShell_logic.jar Extracting recipe/OSC.xml Extracting recipe/PT.xml Extracting recipe/SF.xml Extracting recipe/SQL.xml Extracting recipe/XSS.xml Everything is Ok

(15)

Files: 5

Size: 85256 Compressed: 50935

7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,2 CPUs)

Processing archive: /opt/SiteShell_NW/config/SiteShell_logic.jar Extracting CSC.properties Extracting LogicVersion.properties Everything is Ok Files: 2 Size: 823 Compressed: 50935 Start OK : SiteShellNW(WebSite1) WebSite2 is not running.

Starting : SiteShellNW(WebSite2)

7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,2 CPUs)

Processing archive: /opt/SiteShell_NW/config/SiteShell_logic.jar Extracting recipe/OSC.xml Extracting recipe/PT.xml Extracting recipe/SF.xml Extracting recipe/SQL.xml Extracting recipe/XSS.xml Everything is Ok Files: 5 Size: 85256 Compressed: 50935

7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,2 CPUs)

Processing archive: /opt/SiteShell_NW/config/SiteShell_logic.jar Extracting CSC.properties

Extracting LogicVersion.properties Everything is Ok

(16)

Files: 2 Size: 823 Compressed: 50935

Start OK : SiteShellNW(WebSite2)

Configuration changes of the WAF service is completed. Configuration is reflected in restart of WAF service. Restart WAF service right now? [y]/n:

y

Starting SiteShellServiceForNW SiteShellServiceForNW was started

Please enter the following setting menu.

1. Change the 'JAVA HOME'. [/usr/java/jre1.8.0_73/] 2. Update the license ID. [****-****-****-****] 3. Import the configuration of 'Apache Virtual Web Site'. 4. Export the configuration of 'Apache Virtual Web Site'. 5. Setting to manage by 'Operation Management Console'.

6. Setting to automatically register to 'Operation Management Console'.

7. Setting to automatically keep up-to-date the 'Vulnerability Countermeasures'. Enter 'q' to go back to the previous menu.

(17)

負荷分散環境の構築

本節では、ロードバランサの L7負荷分散の設定手順を説明します。 L7負荷分散の設定手順は、下記をご参照ください。  InterSec/LB 製品付属マニュアル 「ユーザーズガイド」

3.3.1. 分散グループの作成

L7負荷分散のための分散グループを作成します。 以下は、「2.2 基本構成」 に沿った負荷分散を行うための設定例です。 1. ManagementConsole にログインします。 2. 左メニューの LoadBalancer を選択します。 3. 設定 > 分散グループ設定 へ遷移します。

(18)

4. 分散グループの追加を選択します。

(19)

6. 分散グループの情報を入力します。 グループ名 WEB 仮想IPアドレス 192.168.1.120 固定化方式 Webサーバ固定化(L7スイッチ) Webサーバ固定化(L7スイッチ) / L7固定化方式 クライアントタイプ 7. 追加結果を確認します。

(20)

3.3.2. 分散ノードの追加

分散グループに属する分散ノードを追加します。 以下は、「2.2 基本構成」 に沿った負荷分散を行うための設定例です。 1. ManagementConsole にログインします。 2. 左メニューの LoadBalancer を選択します。 3. 設定 > 分散グループ設定 へ遷移します。 4. 分散ノードの追加を選択します。

(21)

5. WEBサーバ1台目に対応する分散ノードの情報を入力します。 ノード名 WEB01 分散ノードのIPアドレス 192.168.1.130 分散ノード先ポート番号 80 クライアントタイプ PC ヘルスチェック TCP ヘルスチェックを使用する ポート番号 80 6. 追加結果を確認します。

(22)

7. 同様に、WEBサーバ2台目に対応する分散ノードも追加します。 ノード名 WEB02 分散ノードのIPアドレス 192.168.1.140 分散ノード先ポート番号 80 クライアントタイプ PC ヘルスチェック TCP ヘルスチェックを使用する ポート番号 80

(23)

3.3.3. SSLアクセラレータの設定

ロードバランサで HTTPS通信のリクエストを受け付ける場合は、SSLアクセラレータを設定します。 SSLアクセラレータを使用するには、InterSec/LB の SSLアクセラレータオプションが必要となります。 InterSec/LB オプション製品のセットアップ手順は、下記をご参照ください。  InterSec/LB 製品付属マニュアル 「オプションライセンス セットアップ手順説明書」 SSLアクセラレータの設定手順は、下記をご参照ください。  InterSec/LB 製品付属マニュアル 「ユーザーズガイド」 SSLアクセラレータオプションのライセンスを登録後、SSLアクセラレータを設定します。 以下は、「2.2 基本構成」 に沿った HTTPS通信を受け付けるための設定例です。 設定例におけるサーバ証明書は「自己署名証明書」を選択しています。 1. ManagementConsole にログインします。 2. システム > SSLアクセラレータ for Webサーバ設定 へ遷移します。 3. アクセラレータ待ち受け設定の情報を入力します。 TCPポート番号 443 4. 追加結果を確認します。

(24)

5. サーバ証明書を作成します。 6. 自己署名証明書の作成のための情報を入力します。 国コード JP 都道府県名 ※都道府県名を入力します。 市区町村名 ※市区町村名を入力します。 会社名 ※会社名を入力します。 部門名 ※部門名を入力します。 サーバ名 ※サーバ名を入力します。 鍵長 2048bit

(25)

7. 作成結果を確認します。

8. アクセス転送先Webサーバ分散グループ設定の情報を入力します。

TCPポート番号 80

(26)

10. アクセラレータの設定内容を反映します。

(27)

SiteShell の動作確認

ロードバランサに SiteShell を導入した後は、SiteShell の攻撃検知/対処の動作確認を行います。

SiteShell の動作確認手順は、下記をご参照ください。

 InfoCage SiteShell 製品付属マニュアル 「製品説明書」 の 「SiteShellフィルタ機能の動作確認」

ここでは、Webサイトへの攻撃に対する SiteShell の対処動作として、下記2つのパターンを説明します。 ① forward SiteShell が WEBサーバに代わってエラー画面を返します。 リクエストはロードバランサ(導入サーバ)内部で処理され、Webサイトには転送されません。 ② replace SiteShell がリクエストをサニタイジング(無害化)します。 Webサイトへは、サニタイジングされたリクエストが転送されます。

SiteShell が攻撃を検知したことは、SiteShell の監査ログ(audit.log)に記録されます。 動作確認の際は、下記のディレクトリにある監査ログを併せてご確認ください。

ロードバランサのローカルディスク:

<SiteShell インストールディレクトリ> /websites/<仮想 Web サイト名>/logs/audit/

監査ログの記録内容については、下記をご参照ください。

(28)

3.4.1. 対処動作 forward の確認

以下は、「2.2 基本構成」 の環境下における対処動作 forward の確認手順です。 1. クライアントのブラウザから WEBサーバへ疑似攻撃を行います。 リクエストは、ロードバランサの分散グループで指定した仮想IPアドレス(192.168.1.120)へ送信します。 また手順では、SQLインジェクション攻撃を検知する 「お試し用攻撃文字列」 を指定しています。 http://192.168.1.120/?test=<SiteShell_SQL_Injection_Error_Test> 2. ブラウザに、赤い文字で 「error」 という画面が表示されることを確認します。 この画面は、SiteShell の既定のエラー画面です。 3. 監査ログの記録内容を確認します。 攻撃元IPアドレスには、クライアントの IPアドレスが記録されます。 [2017/06/08 17:53:29][SQL][SQL-9900-02][forward][192.168.1.10][/][paramValues]test=<SiteShell _SQL_Injection_Error_Test>

(29)

3.4.2. 対処動作 replace の確認

以下は、「2.2 基本構成」 の環境下における対処動作 replace の確認手順です。 1. クライアントのブラウザから WEBサーバへ疑似攻撃を行います。 リクエストは、ロードバランサの分散グループで指定した仮想IPアドレス(192.168.1.120)へ送信します。 また手順では、XSS(クロスサイトスクリプティング)攻撃を検知する 「お試し用攻撃文字列」 を指定して います。 http://192.168.1.120/?test=<SiteShell_Cross_Site_Scripting_Sanitizing_Test> 2. ブラウザに、WEBサーバ(Webサイト)が返す画面が表示されることを確認します。 SiteShell がサニタイジングしたリクエストを WEBサーバへ転送することで、そのリクエストを Webサイ トが受け付け、応答を返します。 3. 監査ログの記録内容を確認します。 攻撃元IPアドレスには、クライアントの IPアドレスが記録されます。 [2017/06/08 18:10:02][XSS][XSS-9901-03][replace][192.168.1.10][/][paramValues]test=<SiteShell _Cross_Site_Scripting_Sanitizing_Test>

(30)

ロードバランサのクラスタ構成

本章では、「2.2 基本構成」 を想定し、ロードバランサをクラスタ(2台)構成で導入する手順を説明します。 クラスタリングの運用形態は、片方向スタンバイクラスタです。

片方向スタンバイクラスタについては、下記をご参照ください。

(31)

ロードバランサの初期導入

ロードバランサの導入手順は、下記をご参照ください。  InterSec/LB 製品付属マニュアル 「二重化構成構築手順書」 本手順では、二重化構成構築手順書の 「フェイルオーバクラスタ構成構築の流れ」 に沿って進めます。 下記に引用します。 2台のロードバランサをクラスタ構成とするために、下記までの作業を行います。  1.フェイルオーバクラスタ構成の構築  2.設定パラメータの決定  3.InterSec/LB のセットアップ  4.ネットワーク確認  5.二重化ライセンスのセットアップ  6.クラスタの基本設定  7.フェイルオーバの設定

(32)

フローティング IP アドレスの登録

単一構成では、eth0 (192.168.1.0/24) 側にエイリアスを追加することで、分散ノード(SiteShell の待ち受け) となる IPアドレスを用意しましたが、このエイリアスではフェイルオーバ発生時にマスタサーバからスレーブサ ーバへ引き継ぐことはできません。 クラスタ構成では、当該IPアドレスをフローティングIPアドレスで登録しておく必要があります。 フローティングIPアドレスについては、下記をご参照ください。

 CLUSTERPRO X 3.3 for Linux 製品付属マニュアル 「リファレンスガイド」

フローティングIPアドレスの登録手順は、下記をご参照ください。

 CLUSTERPRO X 3.3 for Linux 製品付属マニュアル 「インストール&設定ガイド」

以下は、「2.2 基本構成」 に沿った SiteShell のためのフローティングIPアドレスの登録例です。 本手順はマスタサーバで行います。

1. ClusterManager にログインします。

(33)

3. グループリソース(フローティングIPアドレス)を追加します。

4. WEBサーバ1台目に対するリクエストを受け付けるフローティングIPアドレスの情報を入力します。 Steps. Info の情報を入力します。

(34)

5. Steps. Dependency の情報を入力します。

(35)

7. Steps. Details の情報を入力します。

IP Address 192.168.1.130%eth0:131

重要

・ InterSec/LB の仮想 IP は独自制御となっており、ethx:0~127 までは InterSec/LB の仮想 IP と して利用しています。

InterSec/LB で CLUSTERPRO X のフローティング IP(FIP)機能を使用する場合、ethx:128 以 降を使用するようにしてください。

8. 同様に、WEBサーバ2台目に対するリクエストを受け付けるフローティングIPアドレスも追加します。

Name fip-WEB2

(36)

9. 追加情報を反映します。

10. 反映結果を確認します。

11. Operation Mode に切り替えます。

(37)

13. 起動するサーバにマスタサーバを選択します。

(38)

SiteShell の導入(1台目)

この時点で、初期導入を終えたロードバランサが2台あります。 ローカルディスク /opt/nec/LB_SiteShell には、SiteShell のインストール媒体が展開されています。 インストール媒体のディレクトリ構成は、同ディレクトリ配下の readme.txt をご参照ください。 またロードバランサの1台目(現在のマスタサーバ)には、CLUSTERPRO X のフローティングIP(FIP)機能に より、SiteShell が待ち受けるための仮想IP(192.168.1.130、192.168.1.140)が起動しています。 本節では、このマスタサーバに SiteShell を導入する手順を説明します。 本手順はマスタサーバで行います。

4.3.1. ロードバランサへのリモートログイン

SiteShell の導入はコマンド操作で行いますので、導入サーバにリモートログインする必要があります。 初期導入時のロードバランサには、sshd サービスが起動していません。 ロードバランサの ManagementConsole にログインして、sshd サービスを起動します。 sshd サービスの起動手順は、下記をご参照ください。  InterSec/LB 製品付属マニュアル 「ユーザーズガイド」 SSH に対応したターミナルエミュレータを使用して、ロードバランサにリモートログインします。 コマンド操作は、root ユーザ権限が必要です。 ログイン後は、root ユーザに切り替えておきます。

(39)

4.3.2.

Java のインストール

SiteShell の導入には、Java SE 8 が必要です。 下記より Java の RPM を入手してください。 (2017年8月時点のURL) https://www.java.com/ja/download/linux_manual.jsp 入手した RPM を /tmp 配下に転送します。 コマンドを投入して、Java をインストールします。 # cd /tmp # rpm -ivh jre-8u131-linux-x64.rpm ※Version 8 Update 131 の場合

4.3.3.

SiteShell のインストール

ロードバランサに SiteShell をインストールします。 ロードバランサのローカルディスクに展開されたインストーラを使用してインストールします。 SiteShell のインストール手順は、下記をご参照ください。  InfoCage SiteShell 製品付属マニュアル 「インストールガイド」 の 「3.8.3 インストール(NW型)」 # cd /opt/nec/LB_SiteShell/NW # rpm -ivh SiteShell_NW-4.0.0.0-1.x86_64.rpm

4.3.4. SiteShell の環境設定

ロードバランサにインストールした SiteShell に対して環境設定します。 SiteShell の環境設定手順は、下記をご参照ください。  InfoCage SiteShell 製品付属マニュアル 「インストールガイド」 の 「3.8.4 環境設定(NW型)」 以下は、「2.2 基本構成」 に沿ったリバースプロキシを行うための設定例です。 1. 仮想Webサイトの設定ファイル VirtualWebSite.csv を作成します。 # cd /opt/SiteShell_NW/ # vi VirtualWebSite.csv WEBSITE_NAME,IP,FORWARD_IP,FORWARD_PORT,GRP_IP,TEST_MODE,RECIPE_DEF WebSite1,192.168.1.130,192.168.2.30,80,,off,on WebSite2,192.168.1.140,192.168.2.40,80,,off,on

(40)

2. SiteShell の trusted.proxies プロパティを設定します。 trusted.proxies は、攻撃元IPアドレスを特定する精度を向上させるための設定値です。 SiteShell がロードバランサを攻撃元と判定しないように、予めロードバランサに付与する IPアドレスを trusted.proxies に設定しておきます。 # vi config/configuration.properties ~ trusted.proxies=192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.140 ~ trusted.proxies については、下記をご参照ください。  InfoCage SiteShell 製品付属マニュアル 「製品説明書」 の 「表 10 ノード設定のプロパティ - 基本動作」 3. SiteShell の設定を行います。 # ./setup.sh

Please enter the path to Java Runtime Environment(JRE) or Java Development Kit(JDK). Enter 'q' to quit the environmental settings.

JAVA HOME: /usr/java/jre1.8.0_131/

Please enter the LICENSE ID.

Enter 'i' to running the WAF in the 'Trial Mode'. Enter 'q' to quit the environmental settings. LICENSE ID: ****-****-****-****

Please enter the following setting menu.

1. Change the 'JAVA HOME'. [/usr/java/jre1.8.0_131/] 2. Update the license ID. [****-****-****-****] 3. Import the configuration of 'Apache Virtual Web Site'. 4. Export the configuration of 'Apache Virtual Web Site'.

5. Setting to manage by 'Operation Management Console'. * not selectable.

6. Setting to automatically register to 'Operation Management Console'. * not selectable. 7. Setting to automatically keep up-to-date the 'Vulnerability Countermeasures'.

Enter 'q' to go back to the previous menu. SELECT NUMBER (1-7,q)[q]:

3

Please enter the path of the import configuration file. Enter 'q' to go back to the previous menu.

FILE PATH [q]: VirtualWebSite.csv

Update the filter settings of the 'Virtual Web Site'.

Operation vWebSiteName IPaddr ForwardDest:Port NodeGroupID TestMode Protection Add. WebSite1 192.168.1.130 192.168.2.30:80 - off on Add. WebSite2 192.168.1.140 192.168.2.40:80 - off on Want to reflect these filter settings? y/[n]:

y

(41)

WAF configuration to the 'Virtual Web Site' was completed. Settings are reflected by restart of 'Virtual Web Site'. Restart 'Virtual Web Site' right now? [y]/n:

y

WebSite1 is not running.

Starting : SiteShellNW(WebSite1)

7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,2 CPUs)

Processing archive: /opt/SiteShell_NW/config/SiteShell_logic.jar Extracting recipe/OSC.xml Extracting recipe/PT.xml Extracting recipe/SF.xml Extracting recipe/SQL.xml Extracting recipe/XSS.xml Everything is Ok Files: 5 Size: 85256 Compressed: 50935

7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,2 CPUs)

Processing archive: /opt/SiteShell_NW/config/SiteShell_logic.jar Extracting CSC.properties Extracting LogicVersion.properties Everything is Ok Files: 2 Size: 823 Compressed: 50935 Start OK : SiteShellNW(WebSite1) WebSite2 is not running.

Starting : SiteShellNW(WebSite2)

7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,2 CPUs)

Processing archive: /opt/SiteShell_NW/config/SiteShell_logic.jar Extracting recipe/OSC.xml Extracting recipe/PT.xml Extracting recipe/SF.xml Extracting recipe/SQL.xml Extracting recipe/XSS.xml Everything is Ok

(42)

Files: 5

Size: 85256 Compressed: 50935

7-Zip (A) [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 p7zip Version 9.20 (locale=C,Utf16=off,HugeFiles=on,2 CPUs)

Processing archive: /opt/SiteShell_NW/config/SiteShell_logic.jar Extracting CSC.properties Extracting LogicVersion.properties Everything is Ok Files: 2 Size: 823 Compressed: 50935 Start OK : SiteShellNW(WebSite2)

Configuration changes of the WAF service is completed. Configuration is reflected in restart of WAF service. Restart WAF service right now? [y]/n:

y

Starting SiteShellServiceForNW SiteShellServiceForNW was started

Please enter the following setting menu.

1. Change the 'JAVA HOME'. [/usr/java/jre1.8.0_73/] 2. Update the license ID. [****-****-****-****] 3. Import the configuration of 'Apache Virtual Web Site'. 4. Export the configuration of 'Apache Virtual Web Site'. 5. Setting to manage by 'Operation Management Console'.

6. Setting to automatically register to 'Operation Management Console'.

7. Setting to automatically keep up-to-date the 'Vulnerability Countermeasures'. Enter 'q' to go back to the previous menu.

(43)

負荷分散環境の構築

本節では、ロードバランサの L7負荷分散の設定手順を説明します。 本手順はマスタサーバで行います。 L7負荷分散の設定手順は、下記をご参照ください。  InterSec/LB 製品付属マニュアル 「ユーザーズガイド」

4.4.1. 分散グループの作成

L7負荷分散のための分散グループを作成します。 以下は、「2.2 基本構成」 に沿った負荷分散を行うための設定例です。 1. ManagementConsole にログインします。 2. 左メニューの LoadBalancer を選択します。 3. 設定 > 分散グループ設定 へ遷移します。

(44)

4. 分散グループの追加を選択します。

(45)

6. 分散グループの情報を入力します。 グループ名 WEB 仮想IPアドレス 192.168.1.120 固定化方式 Webサーバ固定化(L7スイッチ) Webサーバ固定化(L7スイッチ) / L7固定化方式 クライアントタイプ 7. 追加結果を確認します。

(46)

4.4.2. 分散ノードの追加

分散グループに属する分散ノードを追加します。 以下は、「2.2 基本構成」 に沿った負荷分散を行うための設定例です。 1. ManagementConsole にログインします。 2. 左メニューの LoadBalancer を選択します。 3. 設定 > 分散グループ設定 へ遷移します。 4. 分散ノードの追加を選択します。

(47)

5. WEBサーバ1台目に対応する分散ノードの情報を入力します。 ノード名 WEB01 分散ノードのIPアドレス 192.168.1.130 分散ノード先ポート番号 80 クライアントタイプ PC ヘルスチェック TCP ヘルスチェックを使用する ポート番号 80 6. 追加結果を確認します。

(48)

7. 同様に、WEBサーバ2台目に対応する分散ノードも追加します。 ノード名 WEB02 分散ノードのIPアドレス 192.168.1.140 分散ノード先ポート番号 80 クライアントタイプ PC ヘルスチェック TCP ヘルスチェックを使用する ポート番号 80

(49)

4.4.3. SSLアクセラレータの設定

ロードバランサで HTTPS通信のリクエストを受け付ける場合は、SSLアクセラレータを設定します。 SSLアクセラレータを使用するには、InterSec/LB の SSLアクセラレータオプションが必要となります。 InterSec/LB オプション製品のセットアップ手順は、下記をご参照ください。  InterSec/LB 製品付属マニュアル 「オプションライセンス セットアップ手順説明書」 SSLアクセラレータの設定手順は、下記をご参照ください。  InterSec/LB 製品付属マニュアル 「ユーザーズガイド」 SSLアクセラレータオプションのライセンスを登録後、SSLアクセラレータを設定します。 以下は、「2.2 基本構成」 に沿った HTTPS通信を受け付けるための設定例です。 設定例におけるサーバ証明書は「自己署名証明書」を選択しています。 1. ManagementConsole にログインします。 2. システム > SSLアクセラレータ for Webサーバ設定 へ遷移します。 3. アクセラレータ待ち受け設定の情報を入力します。 TCPポート番号 443 4. 追加結果を確認します。

(50)

5. サーバ証明書を作成します。 6. 自己署名証明書の作成のための情報を入力します。 国コード JP 都道府県名 ※都道府県名を入力します。 市区町村名 ※市区町村名を入力します。 会社名 ※会社名を入力します。 部門名 ※部門名を入力します。 サーバ名 ※サーバ名を入力します。 鍵長 2048bit

(51)

7. 作成結果を確認します。

8. アクセス転送先Webサーバ分散グループ設定の情報を入力します。

TCPポート番号 80

(52)

10. アクセラレータの設定内容を反映します。

(53)

SiteShell の動作確認(1台目)

ロードバランサ(現在のマスタサーバ)に SiteShell を導入した後は、SiteShell の攻撃検知/対処の動作確 認を行います。

SiteShell の動作確認手順は、下記をご参照ください。

 InfoCage SiteShell 製品付属マニュアル 「製品説明書」 の 「SiteShellフィルタ機能の動作確認」

ここでは、Webサイトへの攻撃に対する SiteShell の対処動作として、下記2つのパターンを説明します。 ① forward SiteShell が WEBサーバに代わってエラー画面を返します。 リクエストはロードバランサ(導入サーバ)内部で処理され、Webサイトには転送されません。 ② replace SiteShell がリクエストをサニタイジング(無害化)します。 Webサイトへは、サニタイジングされたリクエストが転送されます。

SiteShell が攻撃を検知したことは、SiteShell の監査ログ(audit.log)に記録されます。 動作確認の際は、下記のディレクトリにある監査ログを併せてご確認ください。

ロードバランサのローカルディスク:

<SiteShell インストールディレクトリ> /websites/<仮想 Web サイト名>/logs/audit/

監査ログの記録内容については、下記をご参照ください。

(54)

4.5.1. 対処動作 forward の確認

以下は、「2.2 基本構成」 の環境下における対処動作 forward の確認手順です。 1. クライアントのブラウザから WEBサーバへ疑似攻撃を行います。 リクエストは、ロードバランサの分散グループで指定した仮想IPアドレス(192.168.1.120)へ送信します。 また手順では、SQLインジェクション攻撃を検知する 「お試し用攻撃文字列」 を指定しています。 http://192.168.1.120/?test=<SiteShell_SQL_Injection_Error_Test> 2. ブラウザに、赤い文字で 「error」 という画面が表示されることを確認します。 この画面は、SiteShell の既定のエラー画面です。 3. 監査ログの記録内容を確認します。 攻撃元IPアドレスには、クライアントの IPアドレスが記録されます。 [2017/06/08 17:53:29][SQL][SQL-9900-02][forward][192.168.1.10][/][paramValues]test=<SiteShell _SQL_Injection_Error_Test>

(55)

4.5.2. 対処動作 replace の確認

以下は、「2.2 基本構成」 の環境下における対処動作 replace の確認手順です。 1. クライアントのブラウザから WEBサーバへ疑似攻撃を行います。 リクエストは、ロードバランサの分散グループで指定した仮想IPアドレス(192.168.1.120)へ送信します。 また手順では、XSS(クロスサイトスクリプティング)攻撃を検知する 「お試し用攻撃文字列」 を指定して います。 http://192.168.1.120/?test=<SiteShell_Cross_Site_Scripting_Sanitizing_Test> 2. ブラウザに、WEBサーバ(Webサイト)が返す画面が表示されることを確認します。 SiteShell がサニタイジングしたリクエストを WEBサーバへ転送することで、そのリクエストを Webサイ トが受け付け、応答を返します。 3. 監査ログの記録内容を確認します。 攻撃元IPアドレスには、クライアントの IPアドレスが記録されます。 [2017/06/08 18:10:02][XSS][XSS-9901-03][replace][192.168.1.10][/][paramValues]test=<SiteShell _Cross_Site_Scripting_Sanitizing_Test>

(56)

マスタサーバの切り替え

この時点で、ロードバランサの1台目(現在のマスタサーバ)への SiteShell 導入を終えています。

ロードバランサの2台目(現在のスレーブサーバ)に SiteShell を導入するため、マスタサーバを1台目から2 台目に切り替えます。

マスタサーバの切り替え手順は、下記をご参照ください。

 CLUSTERPRO X 3.3 for Linux 製品付属マニュアル 「インストール&設定ガイド」

以下は、マスタサーバの切り替え例です。

1. ClusterManager にログインします。

2. フェイルオーバグループを移動します。

3. 起動するサーバに2台目のロードバランサ(現在のスレーブサーバ)を選択します。

(57)

SiteShell の導入(2台目)

この時点で、初期導入を終えたロードバランサの2台目がマスタサーバとなり、CLUSTERPRO X のフローテ ィングIP(FIP)機能により、SiteShell が待ち受けるための仮想IP(192.168.1.130、192.168.1.140)が起動していま す。 ロードバランサの1台目と同様に、2台目についても SiteShell を導入します。 SiteShell の導入手順は、「4.3 SiteShell の導入(1台目)」 をご参考ください。 重要 ・ ロードバランサの1台目と2台目では、通常はロードバランサの物理 IP アドレスが異なります。 SiteShell の trusted.proxies プロパティには、SiteShell を導入するロードバランサに付与した IP アドレスを設定するようにしてください。

(58)

SiteShell の動作確認(2台目)

ロードバランサ(現在のマスタサーバ)に SiteShell を導入した後は、SiteShell の攻撃検知/対処の動作確 認を行います。

ロードバランサの1台目と同様に、2台目についても SiteShell の動作を確認します。 SiteShell の動作確認手順は、「4.5 SiteShell の動作確認(1台目)」 をご参考ください。

(59)

EXEC リソース 起動/停止スクリプトへの追記

EXECリソースの起動/停止のスクリプトに、SiteShell の起動コマンドを追記します。

これによりフェイルオーバ時に、SiteShell をマスタサーバでは起動させ、スレーブサーバでは停止させておく ことができます。

EXECリソースについては、下記をご参照ください。

 CLUSTERPRO X 3.3 for Linux 製品付属マニュアル 「リファレンスガイド」

SiteShell の起動コマンドについては、下記をご参照ください。

 InfoCage SiteShell 製品付属マニュアル 「製品説明書」 の 「付録C.NW型SITESHELL運用管理コ マンド」

以下は、EXECリソース 起動/停止スクリプトへの追記例です。

1. ClusterManager にログインします。

2. Config Mode に切り替えます。

(60)
(61)

5. 起動スクリプトに SiteShell の起動コマンドを追記します。

■起動時

■フェイルオーバ時(起動側)

(62)

7. 同様に、停止スクリプトもエディタで開き、SiteShell の停止コマンドを追記します。

■停止時

(63)

8. グループリソース(EXEC)のプロパティを閉じます。

9. 変更情報を反映します。

(64)

11. Operation Mode に切り替えます。

(65)

クラスタ運用開始前の評価

ここまでで、ロードバランサのクラスタ構成への SiteShell 導入は終えています。 片方向スタンバイクラスタの運用を想定した動作を確認します。

クラスタ運用開始前の評価手順は、下記をご参照ください。

 CLUSTERPRO X 3.3 for Linux 製品付属マニュアル 「インストール&設定ガイド」

参照

関連したドキュメント

この数字は 2021 年末と比較すると約 40%の減少となっています。しかしひと月当たりの攻撃 件数を見てみると、 2022 年 1 月は 149 件であったのが 2022 年 3

Scival Topic Prominence

・HSE 活動を推進するには、ステークホルダーへの説明責任を果たすため、造船所で働く全 ての者及び来訪者を HSE 活動の対象とし、HSE

アンチウイルスソフトウェアが動作している場合、LTO や RDX、HDD 等へのバックアップ性能が大幅に低下することがあります。Windows Server 2016,

手動のレバーを押して津波がどのようにして起きるかを観察 することができます。シミュレーターの前には、 「地図で見る日本

・蹴り糸の高さを 40cm 以上に設定する ことで、ウリ坊 ※ やタヌキ等の中型動物

すべての Web ページで HTTPS でのアクセスを提供することが必要である。サーバー証 明書を使った HTTPS

このアプリケーションノートは、降圧スイッチングレギュレータ IC 回路に必要なインダクタの選択と値の計算について説明し