Dispatcher のセキュリティチェックリスト the-dispatcher-security-checklist

実稼動させる前に、以下のチェックリストを確認することをお勧めします。

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

最新バージョンの Dispatcher の使用 use-the-latest-version-of-dispatcher

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

NOTE
Dispatcher のログファイルを調べると、インストールされている Dispatcher の現在のバージョンを確認できます。
[Thu Apr 30 17:30:49 2015] [I] [23171(140735307338496)] Dispatcher initialized (build 4.1.9)
ログファイルを見つけるには、httpd.conf の Dispatcher 設定を調べます。

キャッシュをフラッシュできるクライアントの制限 restrict-clients-that-can-flush-your-cache

キャッシュをフラッシュできるクライアントを制限することをお勧めします。

トランスポート層のセキュリティ用に HTTPS を有効にする enable-https-for-transport-layer-security

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

アクセスの制限 restrict-access

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

管理 URL へのアクセスの拒否 make-sure-access-to-administrative-urls-is-denied

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

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

ブロックリストの代わりに許可リストを使用 use-allowlists-instead-of-blocklists

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

専用システムユーザーでの Dispatcher の実行 run-dispatcher-with-a-dedicated-system-user

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

また、IIS ユーザーは、web サイトを次のように設定する必要があります。

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

サービス拒否(DoS)攻撃の防止 prevent-denial-of-service-dos-attacks

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

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

  • mod_rewrite モジュール(Apache 2.4 など)を使用し、URL 検証を実行します(URL パターン規則がそれほど複雑ではない場合)。

  • フィルターを使用することで、疑わしい拡張子を持つ URL を Dispatcher がキャッシングするのを阻止します。
    例えば、キャッシング規則を変更して、以下のような mime タイプのみをキャッシングするよう制限します。

    • .html
    • .jpg
    • .gif
    • .swf
    • .js
    • .doc
    • .pdf
    • .ppt

    外部アクセスを制限するための設定ファイルのサンプルを参照できます。これには、MIME タイプに関する制限も含まれます。

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

  • /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 の設定 configure-dispatcher-to-prevent-csrf-attacks

AEM には、クロスサイトリクエストフォージェリ攻撃を防ぐことを目的としたフレームワークがあります。このフレームワークを適切に利用するには、次の手順を実行して、Dispatcher で CSRF トークンサポートを許可リストに登録します。

  1. /libs/granite/csrf/token.json パスを許可するフィルターを作成する。
  2. Dispatcher 設定の clientheaders セクションに CSRF-Token ヘッダーを追加する。

クリックジャッキングの防止 prevent-clickjacking

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

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

侵入テストの実施 perform-a-penetration-test

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

recommendation-more-help
ce382601-480f-4a99-8be7-73178d4b6ef5