アプリケーションのセキュリティは、開発フェーズから始まります。アドビでは、次のセキュリティベストプラクティスを実施することをお勧めします。
最小権限の原則に従って、アドビでは、リポジトリへのすべてのアクセスを、ユーザー要求と適切なアクセス制御にバインドされたセッションを使用して行うことをお勧めします。
クロスサイトスクリプティング(XSS)を利用することにより、攻撃者は他のユーザーが表示する Web ページにコードを埋め込むことができます。このセキュリティ脆弱性が悪意のある Web ユーザーに悪用され、アクセス制御が擦り抜けられる可能性があります。
AEM では、ユーザーが提供するコンテンツをすべて出力時にフィルタリングする原則を適用しています。XSS を回避することは、開発時にもテスト時にも第一優先となります。
AEM が提供する XSS 保護メカニズムは、OWASP(The Open Web Application Security Project)が提供する AntiSamy Java ライブラリに基づいています。デフォルトの AntiSamy 構成は、次の場所にあります。
/libs/cq/xssprotection/config.xml
設定ファイルをオーバーレイすることで、この設定を独自のセキュリティ要件に適合させることが重要です。公式の AntiSamy ドキュメントでは、セキュリティ要件を実装するために必要なすべての情報が提供されています。
AEM が提供する XSSAPI を使用して、常に XSS 対策 API にアクセスすることを強くお勧めします。
また、Apache 対応の mod_security などの web アプリケーションファイアウォールを使用すると、デプロイメント環境のセキュリティを高い信頼性で一元的に制御でき、以前は検出されなかったクロスサイトスクリプティング攻撃に対する保護も可能になります。
インスタンスの保護に必要なクラウドサービス情報用の ACL と OSGi 設定は、実稼動準備モードの一部として自動化されます。つまり、設定の変更を手動で行う必要はありませんが、設定されていることをデプロイメントの運用を開始する前に確認しておくことをお勧めします。
AEM インスタンスを Adobe Marketing Cloud と統合する場合は、クラウドサービス設定を使用します。これらの設定に関する情報は、収集された統計と共にリポジトリに格納されます。この機能を使用する場合は、この情報に適用されるデフォルトのセキュリティが要件に対応しているかどうかを確認することをお勧めします。
webservicesupport モジュールは、統計と設定情報を次の場所に書き込みます。
/etc/cloudservices
デフォルトの権限は、次のとおりです。
オーサー環境:contributors
に対する read
権限
パブリッシュ環境:everyone
に対する read
権限
CSRF 攻撃を軽減するために AEM で採用されているセキュリティメカニズムについて詳しくは、セキュリティチェックリストの Sling リファラーフィルターの節と、CSRF 対策フレームワークのドキュメントを参照してください。