OSGi 環境における AEM Forms のセキュリティの強化 hardening-and-securing-aem-forms-on-osgi-environment

CAUTION
AEM 6.4 の拡張サポートは終了し、このドキュメントは更新されなくなりました。 詳細は、 技術サポート期間. サポートされているバージョンを見つける ここ.

OSGi サーバー上でAEM Formsを保護するための推奨事項とベストプラクティスについて説明します。

組織にとって、サーバ環境の保護は最も重要です。 この記事では、AEM Formsを実行するサーバーを保護するための推奨事項とベストプラクティスについて説明します。 これは、オペレーティングシステムに関する包括的なホスト堅牢化ドキュメントではありません。 この記事では、デプロイ済みアプリケーションのセキュリティを強化するために実装する必要がある、様々なセキュリティ強化設定について説明します。 ただし、アプリケーションサーバーのセキュリティを確保するには、この記事で説明する推奨事項に加えて、セキュリティ監視、検出、および応答手順も実装する必要があります。 このドキュメントには、PII(個人を特定できる情報)を保護するためのベストプラクティスとガイドラインも含まれています。

この記事は、AEM Formsのアプリケーションまたはインフラストラクチャの開発とデプロイメントの計画を担当するコンサルタント、セキュリティスペシャリスト、システムアーキテクト、IT プロフェッショナルを対象としています。 これらの役割には、次の共通の役割が含まれます。

  • 自社またはお客様の組織に安全な Web アプリケーションおよびサーバを導入する必要がある IT および運用エンジニア。
  • 組織内のクライアントマシンのアーキテクチャ計画に責任を負うアーキテクトおよびプランナー.
  • 組織内のプラットフォーム全体のセキュリティを提供する IT セキュリティスペシャリスト。
  • お客様およびパートナーの詳細なリソースを必要とするAdobeおよびパートナーのコンサルタント。

次の図は、適切なファイアウォールトポロジを含む、一般的なAEM Formsデプロイメントで使用されるコンポーネントとプロトコルを示しています。

典型的なアーキテクチャ

AEM Formsは高度にカスタマイズ可能で、様々な環境で動作します。 レコメンデーションの一部は、組織に適用できない可能性があります。

安全なトランスポート層 secure-transport-layer

トランスポート層のセキュリティの脆弱性は、インターネットに接続されている、またはイントラネットに接続されているアプリケーションサーバーに対する最初の脅威の 1 つです。 この節では、これらの脆弱性に対してネットワーク上のホストを強化するプロセスについて説明します。 これは、ネットワークのセグメント化、TCP/IP(Transmission Control Protocol/Internet Protocol) スタックの堅牢化、およびホスト保護のためのファイアウォールの使用に対応しています。

開いているエンドポイントを制限 limit-open-endpoints

組織に外部のファイアウォールを設定して、エンドユーザーとAEM Formsパブリッシュファームの間のアクセスを制限することができます。 また、内部ファイアウォールを使用して、パブリッシュファームと組織要素内の他の要素(例えば、オーサーインスタンス、処理インスタンス、データベース)との間のアクセスを制限することもできます。 これらのファイアウォールでは、エンドユーザーや組織内の各要素に、AEM Forms の一部の URL に対するアクセスを許可することができます。

外部ファイアウォールの設定 configure-external-firewall

外部ファイアウォールを設定して、特定のAEM Forms URL がインターネットにアクセスできるようにすることができます。 これらの URL にアクセスするには、アダプティブフォーム、HTML5 フォーム、Correspondence Management レターを入力するか(またはこれらを送信するか)、AEM Forms サーバーにログインする必要があります。

コンポーネント
URI
アダプティブフォーム
  • /content/dam/formsanddocuments/AF_PATH/jcr:content
  • /etc/clientlibs/fd/
  • /content/forms/af/AF_PATH
  • /libs/granite/csrf/
HTML5 のフォーム
  • /content/forms/formsets/profiles/
Correspondence Management
  • /aem/forms/createcorrespondence*
Forms ポータル
  • /content/forms/portal/
  • /libs/cq/ui/widgets*
  • /libs/cq/security/
AEM Forms アプリケーション
  • /j_security_check*
  • /soap/services/AuthenticationManagerService

内部ファイアウォールの設定 configure-internal-firewall

内部ファイアウォールを設定して、特定のAEM Formsコンポーネント(例えば、オーサーインスタンス、処理インスタンス、データベース)とパブリッシュファームおよびトポロジ図に記載されている他の内部コンポーネントとの通信を許可できます。

ホスト
URI
ファームを公開(ノードを公開)
/bin/receive
処理サーバー
/content/forms/fp/*
Forms Workflowアドオンサーバー (JEE 上のAEM Formsサーバー )
/soap/sdk

リポジトリ権限とアクセス制御リスト (ACL) の設定 setup-repository-permissions-and-access-control-lists-acls

デフォルトでは、パブリッシュノードで使用可能なアセットは、誰でもアクセスできます。 読み取り専用アクセスは、すべてのアセットに対して有効です。 匿名アクセスを有効にするには、これが必要です。 フォーム表示と送信アクセスを認証済みユーザーのみに制限する場合は、共通グループを使用して、認証済みユーザーのみが発行ノードで使用可能なアセットに対する読み取り専用アクセスを許可します。 以下の場所/ディレクトリには、堅牢化が必要なフォームアセットが含まれています(認証済みユーザーの読み取り専用アクセス)。

  • /content/*
  • /etc.clientlibs/fd/*
  • /libs/fd/*

フォームデータを安全に処理する securely-handle-forms-data

AEM Formsでは、事前定義された場所と一時フォルダーにデータを保存します。 これらのデータを保護して、データの不正使用を防ぐ必要があります。

一時フォルダーの定期的なクリーンアップを設定します setup-periodic-cleanup-of-temporary-folder

添付ファイル、検証、またはプレビューのコンポーネントのフォームを設定する場合、対応するデータは/tmp/fd/のパブリッシュノードに保存されます。 データは定期的にパージされます。 デフォルトのデータパージジョブを変更して、より積極的におこなうことができます。 データのパージにスケジュールされているジョブを変更するには、AEM Web コンソールを開き、AEM Forms一時ストレージクリーニングタスクを開いて、Cron 形式を変更します。

上記のシナリオでは、データは認証済みユーザーに対してのみ保存されます。 さらに、データはアクセス制御リスト (ACL) で保護されます。 したがって、データパージを変更することは、情報を保護するための追加の手順です。

フォームポータル送信アクションによって保存されたデータを保護する secure-data-saved-by-forms-portal-submit-action

デフォルトでは、アダプティブフォームのフォームポータル送信アクションは、データをパブリッシュノードのローカルリポジトリに保存します。 データは/content/forms/fp に保存されます。 パブリッシュインスタンスにデータを保存することはお勧めしません。

パブリッシュノード上でローカルに何も保存することなく、処理クラスターにオーバーザワイヤを送信するようにストレージサービスを設定できます。 処理クラスターは、プライベートファイアウォールの背後にあるセキュリティで保護されたゾーンに存在し、データは安全なままです。

AEM DS 設定サービスの処理サーバーの資格情報を使用して、パブリッシュノードから処理サーバーにデータを投稿します。 処理サーバーのリポジトリに対する読み取り/書き込みアクセス権を持つ、管理者以外の制限付きユーザーの資格情報を使用することをお勧めします。 詳細情報に関しては、ドラフトと送信に使用するストレージサービスの設定を参照してください。

フォームデータモデル (FDM) で処理される安全なデータ secure-data-handled-by-form-data-model-fdm

必要最小限の権限を持つユーザーアカウントを使用して、フォームデータモデル (FDM) のデータソースを設定します。 管理アカウントを使用すると、権限のないユーザーに対して、メタデータやスキーマエンティティのオープンアクセスを提供できます。
データを統合して、FDM サービス要求を認証する方法を提供することもできます。実行前と実行後の承認メカニズムを挿入して、リクエストを検証できます。 サービスリクエストは、フォームの事前入力、フォームの送信、ルールを介したサービスの呼び出し時に生成されます。

前処理認証: 前処理認証を使用して、リクエストを実行する前に、リクエストの信頼性を検証できます。 入力、サービスおよびリクエストの詳細を使用して、リクエストの実行を許可または停止できます。 実行が停止した場合は、データ統合例外 OPERATION_ACCESS_DENIED を返すことができます。 クライアントリクエストを実行用に送信する前に変更することもできます。 例えば、入力を変更したり、情報を追加したりします。

処理後認証機能: ​処理後認証機能を使用すると、実行結果を要求者に返す前に、その結果の検証と制御を行うことができます。また、結果に対して、フィルター処理、削除、および追加データの挿入を行うこともできます。

ユーザーアクセスを制限 limit-user-access

オーサーインスタンス、パブリッシュインスタンス、処理インスタンスには、異なるユーザーペルソナのセットが必要です。 いずれのインスタンスについても、管理者の資格情報を使用して実行することは避けてください。

パブリッシュインスタンス上:

  • フォームのプレビュー、ドラフトの作成、送信を行えるのは、forms-users グループのユーザーだけです。
  • cm-user-agent グループのユーザーのみが、Correspondence Management レターをプレビューできます。
  • 不要な匿名アクセスをすべて無効にします。

オーサーインスタンス上:

  • ペルソナごとに特定の権限を持つ、事前定義済みのグループのセットが異なります。 ユーザーを各グループに割り当ててください。

    • forms-user グループのユーザー:

      • フォームの作成、入力、発行、送信を行うことができます。
      • は XDP ベースのアダプティブフォームを作成できません。
      • アダプティブフォームのスクリプトを作成する権限を持っていません。
      • XDP または XDP を含むパッケージを読み込むことはできません
    • forms-power-user グループのユーザーは、すべての種類のフォームの作成、入力、発行、送信、アダプティブフォームのスクリプトの作成、XDP を含むパッケージの読み込みを行います。

    • template-authors および template-power-user のユーザーは、テンプレートをプレビューおよび作成できます。

    • fdm-authors のユーザーは、フォームデータモデルを作成および変更できます。

    • cm-user-agent グループのユーザーは、Correspondence Management レターを作成、プレビュー、および発行できます。

    • workflow-editors グループのユーザーは、インボックスアプリケーションとワークフローモデルを作成できます。

処理する作成者:

  • リモートでの保存と送信の使用例の場合は、crx-repository の content/form/fp パスに対する読み取り、作成、変更の権限を持つユーザーを作成します。
  • ユーザーを workflow-user グループに追加して、ユーザーがAEMインボックスアプリケーションを使用できるようにします。

AEM Forms環境のイントラネット要素の保護 secure-intranet-elements-of-an-aem-forms-environment

一般に、処理クラスターとForms Workflowアドオン (JEE 上のAEM Forms) は、ファイアウォールの内側で実行されます。 これらは安全と見なされます。 いくつかの手順を実行することにより、こうした環境のセキュリティをさらに強化することができます。

処理クラスターの保護 secure-processing-cluster

処理クラスターは、オーサーモードで実行されますが、開発アクティビティには使用されません。 また、一般ユーザーを、処理クラスターの content-authors グループや form-users グループに追加しないでください。

AEMのベストプラクティスを使用したAEM Forms環境の保護 use-aem-best-practices-to-secure-an-aem-forms-environment

このドキュメントでは、AEM Forms環境に固有の手順を説明します。 デプロイ時に、基になるAEMのインストールが確実に保護されるようにする必要があります。 詳しい手順については、「AEM セキュリティチェックリスト」を参照してください。

recommendation-more-help
a6ebf046-2b8b-4543-bd46-42a0d77792da