Dispatcher のセキュリティチェックリスト

Dispatcher はフロントエンドシステムとして機能し、Adobe Experience Manager インフラストラクチャに追加のセキュリティレイヤーをもたらします。実稼動させる前に、以下のチェックリストを確認することを強くお勧めします。

注意

稼動させる前に、使用するバージョンの AEM のセキュリティチェックリストも確認する必要があります。対応する Adobe Experience Manager のドキュメントを参照してください。

最新バージョンの Dispatcher の使用

使用するプラットフォームに適した、使用可能な最新バージョンをインストールしてください。製品とセキュリティの機能強化を利用するには、最新バージョンを使用するように Dispatcher インスタンスをアップグレードする必要があります。Dispatcher のインストールを参照してください。

メモ

Dispatcher のログファイルを見て、インストールされている Dispatcher の現在のバージョンを確認できます。 

[Thu Apr 30 17:30:49 2015] [I] [23171(140735307338496)] Dispatcher initialized (build 4.1.9)

ログファイルを見つけるには、httpd.conf の Dispatcher 設定を調べます。

キャッシュをフラッシュできるクライアントの制限

トランスポート層のセキュリティのための HTTPS の有効化

オーサーインスタンスとパブリッシュインスタンスの両方で HTTPS トランスポート層を有効にすることをお勧めします。

アクセスの制限

Dispatcher の設定時に、できる限り外部アクセスを制限してください。Dispatcher に関するドキュメントのサンプルの /filter セクションを参照してください。

管理 URL へのアクセスの拒否

フィルターを使用して、Web コンソールなどすべての管理 URL への外部アクセスを確実にブロックします。

ブロックする必要がある URL のリストについては、Dispatcher のセキュリティのテストを参照してください。

ブラックリストの代わりにホワイトリストを使用

アクセスを制御する方法としては、ホワイトリストのほうが優れています。ホワイトリストは、明示的にホワイトリストに含まれているもの以外はすべてのアクセス要求を拒否するからです。このモデルでは、未確認だったり、特定の設定ステージで考慮されていなかった可能性がある新しい要求に対して、より厳しい制御を適用できます。

専用システムユーザーでの Dispatcher の実行

Dispatcher の設定時に、最低限の権限を持つ専用ユーザーによって Web サーバーが実行されていることを確認してください。Dispatcher のキャッシュフォルダーへの書き込みアクセス権のみを付与することをお勧めします。

さらに、IIS ユーザーは、Web サイトを以下のように設定する必要があります。

  1. Web サイトの物理パス設定で、「特定のユーザーとして接続」を選択します。

  2. ユーザーを設定します。

サービス拒否(DoS)攻撃の防止

サービス拒否(DoS)攻撃は、対象となるユーザーがコンピューターリソースを使用できない状態にするものです。

Dispatcher レベルでは、DoS 攻撃を防御するように設定する方法は 2 つあります。

  • mod_rewrite モジュール(Apache 2.2 など)を使用し、URL 検証を実行します(URL パターン規則がそれほど複雑ではない場合)。
  • フィルターを使用することで、疑わしい拡張子を持つ URL を Dispatcher がキャッシングするのを阻止します。
    例えば、キャッシング規則を変更して、以下のような mime タイプのみをキャッシングするよう制限します。
    • .html
    • .jpg
    • .gif
    • .swf
    • .js
    • .doc
    • .pdf
    • .ppt
    外部アクセスを制限するための設定ファイルのサンプルを参照できます。このファイルには、mine タイプの制限も含まれます。

パブリッシュインスタンス上ですべての機能を安全に有効にするには、以下のノードへのアクセスを防ぐようにフィルターを設定します。

  • /etc/ 
  • /libs/ 

次に、以下のノードパスへのアクセスを許可するようにフィルターを設定します。

  • /etc/designs/*
  • /etc/clientlibs/*
  • /etc/segmentation.segment.js
  • /libs/cq/personalization/components/clickstreamcloud/content/config.json
  • /libs/wcm/stats/tracker.js
  • /libs/cq/personalization/*(JS、CSS および JSON)
  • /libs/cq/security/userinfo.json(CQ ユーザー情報)
  • /libs/granite/security/currentuser.jsonデータをキャッシュしてはいけません
  • /libs/cq/i18n/*(インターナショナライゼーション)

CSRF 攻撃を防止するための Dispatcher の設定

AEM には、クロスサイトリクエストフォージェリ攻撃を防ぐことを目的としたフレームワークがあります。このフレームワークを適切に利用するには、Dispatcher で CSRF トークンサポートをホワイトリストに登録する必要があります。この情報を出力するには、次の操作をおこないます。

  1. /libs/granite/csrf/token.json パスを許可するフィルターの作成。
  2. CSRF-Token ヘッダーを許可するフィルターの作成。

クリックジャッキングの防止

クリックジャッキングを防ぐには、SAMEORIGIN に設定した HTTP ヘッダー X-FRAME-OPTIONS を指定するように Web サーバーを設定することをお勧めします。

クリックジャッキングについて詳しくは、OWASP のサイトを参照してください。

侵入テストの実施

実稼動に移行する前に、AEM インフラストラクチャの侵入テストを実施することを強くお勧めします。

​