詳細設定
続いて、SiteGuard Server Editionの防御機能の主となるシグネチャ検査機能のほか、通知設定など、
詳細設定について紹介していきます。
シグネチャ検査機能
SiteGuard Server Editionは、標準搭載のトラステッド・シグネチャによる防御(シグネチャ検査機能)を主としています。
トラステッド・シグネチャによる検査を行うことで、ウェブアプリケーションの脆弱性を悪用する様々な攻撃から、Webサイトを保護することができます。
トラステッド・シグネチャ
トラステッド・シグネチャは、EGセキュアソリューションズが提供する「SiteGuardシリーズ」に搭載されている高品質なシグネチャの名称です。
ウェブサーバーのモジュールとして動作するSiteGuard Server Editionは、HTTP/HTTPSのリクエストを検査し、
- SQLインジェクション
- クロスサイトスクリプティング
- ディレクトリトラバーサル
- OSコマンドインジェクション
- 改行コードインジェクション(HTTPヘッダ、メールヘッダ)など
ウェブアプリケーションの脆弱性を悪用する攻撃を検出します。
また、Apache KillerやApache Struts 2のほか、ShellShockと呼ばれたbashの脆弱性など、ウェブサーバーやフレームワークの脆弱性を悪用する攻撃を検出するシグネチャも用意されており、迅速なシグネチャリリースに定評があります。
トラステッド・シグネチャの設定は、ウェブ管理画面の[モジュール設定]-[詳細設定]-[トラステッド・シグネチャの設定]で確認することができます。
シグネチャは、防御性能と運用性のバランスに配慮した”推奨設定”で、標準搭載しており、大規模な個人情報の流出といった甚大な被害を受けるSQLインジェクション攻撃を防御したり、CMS本体やプラグインの脆弱性にも多いクロスサイトスクリプティングなどを防御することができます。
シグネチャ更新設定
トラステッド・シグネチャの更新は、ウェブ管理画面の[シグネチャ更新設定]の画面で行います。
(90日間の評価版をご利用の場合、シグネチャ更新を行うことはできません。)
更新方法は、[今すぐ更新]ボタンによる手動更新とスケジュールによる自動更新があり、シグネチャ更新サイトにHTTPS(443)で接続します。インターネットへの接続にプロキシサーバを経由する必要がある場合のプロキシサーバの指定も可能です。
新しいシグネチャがリリースされている場合は、マークを表示して、分かりやすくお知らせします。
[今すぐ更新]ボタンで更新する場合は、以下のようにトラステッド・シグネチャ差分確認の画面が表示されますので、更新内容を確認してから更新することができます。
シグネチャの更新に成功すると、 のメッセージが表示されます。
すでに最新のシグネチャが適用されている場合には、が表示されます。
自動更新の場合は、[自動ダウンロード]を有効にして、毎時・毎日・毎週・毎月から更新頻度を選択してください。(デフォルト毎日)
が表示されている項目では、設定内容に関する説明を確認することができます。
自動更新のスケジュールは、rootのcrontabに保存されます。
スケジュールによる更新、メンテナンスや運用作業のタイミングに合わせた手動更新など、Webサイトの運用方針に合わせてご利用ください。
自動更新を設定していても、緊急性の高いシグネチャがリリースされたときの即時更新(手動更新との併用)が可能です。
シグネチャの更新ログは、[ログ]-[シグネチャ更新ログ]で確認することができます。
カスタム・シグネチャ
SiteGuard Server Editionでは、標準搭載されているトラステッド・シグネチャのほかに、お客様独自のルールを作成できるカスタム・シグネチャによる検査が可能です。(1000個までの条件を登録することができます。)
カスタム・シグネチャは、ウェブ管理画面の[モジュール設定]-[詳細設定]-[カスタム・シグネチャの編集]画面で作成します。
インストール後の状態では、サンプルとして3個のカスタム・シグネチャが登録されています。
いずれも、デフォルト無効となっていますので、必要に応じて、有効にしてご利用ください。
以下、サンプルのカスタム・シグネチャをもとに、作成例を紹介します。
sample-01:トラステッド・シグネチャの除外設定
カスタム・シグネチャでは、条件を指定した検出の除外設定を作成することができます。
sample-01は、”field1″というパラメータについて、signature-1~4とsignature-11のシグネチャによる検出を除外する設定となっています。
(実際のトラステッド・シグネチャ名ではなく、仮のシグネチャ名を使用しています。)
条件に、URLなどを加えた複数条件を登録することもできますので、柔軟な設定が可能です。
一部の検出を除外する場合など、有効活用してください。
sample-02:ブルートフォース対策
カスタム・シグネチャには、作成した条件に対して、何秒間に何回一致したかを接続元IPアドレスでカウントする「頻度判定」の機能があります。「頻度判定」を設定することで、ログインページへのブルートフォース攻撃といった高頻度の接続を検出することができます。
sample-02では、login.phpへの接続が”1秒間に3回以上”あった場合に検出します。
機械的な不正ログイン試行などに有効なシグネチャで、こちらも要求メソッドやパラメータの名前を指定して、複数条件を登録することができます。
sample-03:管理者アクセスの検査除外
接続元IPアドレスの指定で、条件に一致する接続を安全とみなす(検査を除外する)設定です。
sample-03では、/admin/というパスについて、192.168.1のネットワークからの接続を安全とみなす設定になっています。
CMSの利用において、ページやコードの編集といった管理者操作を検出してしまう場合など、管理者アクセスの検査除外ルールの作成を検討してください。
sample-03は、”パス”と”接続元IPアドレス”の組み合わせが条件になっていますが、条件を1つにして、接続元IPアドレスの指定だけで安全とみなす設定も可能です。
除外するトラステッド・シグネチャ名と検査文字列は、それぞれ正規表現で指定します。
■設定例
^signature-1$ signature-1が対象
^signature-[1-4]$ signature-1~4が対象
^192\.168\.1\. 192.168.1.xが対象
^192\.168\.1\.1(5|6)$ 192.168.1.15と192.168.1.16が対象
^: 文字列の最初
$: 文字列の最後
\X: 記号Xのエスケープ表記
[X-Y]: 文字範囲指定
A|B: AまたはB
(): グループ化
設定するときは、文字列の最初と最後を示す”^”と”$”や範囲指定について、気を付けてください。
記述にコツが必要となるケースもありますが、柔軟にシグネチャを作成できるというメリットがあり、このカスタマイズ性もSiteGuardシリーズの魅力の1つとなっています。
管理者への通知設定
SiteGuard Server Editionには、検査機能によって検出した内容のほか、製品に発生したエラー情報を管理者宛に通知する機能があります。
通知の設定は、[モジュール設定]-[基本設定]-[管理者への通知設定]で行います。(デフォルト:無効)
検出通知・障害通知を有効にして、通知間隔を指定します。(デフォルト:10分)
初期値の場合、検出情報を要約したメールが10分間隔で送信されます。
通知の間隔は、分単位による指定のほか、毎日00:00のようなデイリー設定も可能です。
宛先のメールアドレスのほか、差出人(From)を指定します。
宛先は、改行区切りで、複数のアドレスを指定することができます。
差出人の指定は任意で、差出人の指定がない場合は、宛先に指定された先頭のメールアドレスが差出人に設定されます。
このほか、SMTPサーバのホスト名(または、IPアドレス)とポート番号、SMTP認証が必要な場合は、認証のユーザ名とパスワードを指定します。
必要な情報を入力したら、[適用]ボタンを押して設定を反映しください。
検出通知メッセージの例:
通知メッセージの内容は、それぞれ[詳細設定]の[検出通知メッセージ]、[障害通知メッセージ]で編集することができます。
なお、通知間隔の指定は、いずれか1つとなります。
検出した情報を早いタイミングで確認したい場合は、分単位での設定。デイリーレポートとして通知を受けたい場合は、毎日を設定のように、運用方針に合わせてご利用ください。
検出やエラーの発生がなかった(ゼロであった)場合、メールは送信されません。
syslogへの出力(Apache版/Nginx版)
SiteGuard Server Editionのログは、インストールディレクトリのlogsにログファイルとして出力されますが、出力先をsyslogに設定することもできます。
ログ出力の設定変更は、[モジュール設定]-[詳細設定]-[高度な設定]で行います。
デフォルト値は、ファイルになっていますので、これをsyslogに変更し、タグとファシリティ、プライオリティを設定してください。
syslogに出力したログファイルは、ウェブ管理画面の[ログ]-[動作ログ]には表示されませんので、ウェブ管理画面からのログ閲覧も行う場合は、ログの出力先でファイルとsyslogを選択してください。
設定のバックアップ・リストア
SiteGuard Server Editionには、[バックアップ・リストア]の機能がありますので、万一の操作ミスや障害時に備えて、バックアップを取得しておくことができます。
バックアップを取得するときは、[バックアップ]を押します。
リストア時は、取得したバックアップファイルを選択して、[リストア]を押してください。
複数台の Server Editionに同じ設定を複製する場合にも、バックアップ・リストアの機能が有効です。
2台のウェブサーバーを構築し、SiteGuard Liteを同じ設定で動作させる場合、1台目で設定した情報を[バックアップ]して、2台目に[リストア]することができます。※
※ cronに登録されるシグネチャ自動更新のスケジュール設定は、バックアップの対象外となるため、リストア後の再設定が必要となります。
動作確認
必要に応じて、設定変更を検討する場合はありますが、ここまでの内容で、基本的に Server Editionの設定は完了となります。
サイトの新規構築時は、コンテンツ作成のほか、Webサイトの公開に向けたテストを実施し、通常アクセスやアプリケーションの動作に問題がないことを確認していきます。
トラステッド・シグネチャの推奨設定は、防御性能と運用性のバランスを図っていますが、通常アクセスが検出されてしまった場合には、前述のカスタム・シグネチャの作成例を参考に、サンプルの編集または、新規カスタム・シグネチャを作成してください。
稼働中のWebサイトへ導入する場合は、「監視運用(モニタリング)」を併用する方法があります。
監視運用については、管理者用ガイドに説明がありますので、管理者用ガイドを参照してください。
SiteGuardシリーズにご興味のある方はこちら