セキュリティ

アプリケーションのセキュリティは、開発フェーズから始まります。アドビでは、次のセキュリティベストプラクティスを実施することをお勧めします。

リクエストセッションの使用

Leas権限の原則に従い、Adobeでは、すべてのリポジトリアクセスを、ユーザーリクエストにバインドされたセッションと適切なアクセス制御を使用しておこなうことをお勧めします。

クロスサイトスクリプティング(XSS)に対する保護

クロスサイトスクリプティング(XSS)を利用することにより、攻撃者は他のユーザーが表示する Web ページにコードを埋め込むことができます。このセキュリティ脆弱性が悪意のある Web ユーザーに悪用され、アクセス制御が擦り抜けられる可能性があります。

AEM では、ユーザーが提供するコンテンツをすべて出力時にフィルタリングする原則を適用しています。XSS を回避することは、開発時にもテスト時にも第一優先となります。

AEMが提供するXSS保護メカニズムは、OWASP(The Open Web Application Security Project)が提供するAntiSamy Java Libraryに基づいています。デフォルトのAntiSamy設定は、

/libs/cq/xssprotection/config.xml

設定ファイルをオーバーレイすることで、この設定を独自のセキュリティニーズに合わせて調整することが重要です。 公式のAntiSamyドキュメントから、セキュリティ要件を実装するために必要な情報がすべて提供されます。

メモ

XSS 対策 API にアクセスする場合は、AEM が提供する XSSAPI を常に使用することを強くお勧めします。

さらに、Apache🔗のmod_securityなどのWebアプリケーションファイアウォールは、デプロイメント環境のセキュリティを確実かつ一元的に管理し、以前に検出されなかったクロスサイトスクリプティング攻撃から保護できます。

クラウドサービス情報へのアクセス

メモ

インスタンスの保護に必要なクラウドサービス情報用の ACL と OSGi 設定は、実稼動準備モードの一部として自動化されます。つまり、設定の変更を手動で行う必要はありませんが、デプロイメントの運用を開始する前に変更を確認しておくことをお勧めします。

AEM インスタンスを Adobe Marketing Cloud と統合する場合は、クラウドサービス設定を使用します。これらの設定に関する情報は、収集された統計と共にリポジトリに格納されます。この機能を使用する場合は、この情報に適用されるデフォルトのセキュリティが要件に対応しているかどうかを確認することをお勧めします。

webservicesupport モジュールは、統計と設定情報を次の場所に書き込みます。

/etc/cloudservices

デフォルトの権限では、次の処理が可能です。

  • オーサー環境:read(contributors)

  • パブリッシュ環境:read(everyone)

クロスサイトリクエストフォージェリ攻撃からの保護

CSRF 攻撃を軽減するために AEM で採用されているセキュリティメカニズムについて詳しくは、セキュリティチェックリストの Sling Referrer Filter および CSRF 対策フレームワークのドキュメントを参照してください。

このページ