Hardening e protezione dei moduli AEM in ambiente OSGi hardening-and-securing-aem-forms-on-osgi-environment

CAUTION
AEM 6.4 ha raggiunto la fine del supporto esteso e questa documentazione non viene più aggiornata. Per maggiori dettagli, consulta la nostra periodi di assistenza tecnica. Trova le versioni supportate qui.

Scopri i consigli e le best practice per proteggere AEM Forms sul server OSGi.

La protezione di un ambiente server è di fondamentale importanza per un'organizzazione. Questo articolo descrive raccomandazioni e best practice per la protezione dei server che eseguono AEM Forms. Non si tratta di un documento completo per l'indurimento degli host per il sistema operativo in uso. Questo articolo descrive invece diverse impostazioni di protezione che devi implementare per migliorare la sicurezza dell’applicazione distribuita. Per garantire la sicurezza dei server applicazioni, tuttavia, è necessario implementare anche le procedure di monitoraggio, rilevamento e risposta di sicurezza oltre alle raccomandazioni fornite in questo articolo. Il documento contiene inoltre best practice e linee guida per la protezione dei dati personali (Personally Identifiable Information).

L'articolo è destinato a consulenti, esperti di sicurezza, architetti di sistemi e professionisti IT responsabili della pianificazione delle applicazioni o dello sviluppo e della distribuzione delle infrastrutture AEM Forms. Questi ruoli includono i seguenti ruoli comuni:

  • Tecnici IT e operativi che devono implementare applicazioni e server web sicuri nelle proprie organizzazioni o clienti.
  • Architetti e progettisti responsabili della pianificazione degli sforzi architettonici per i clienti nelle loro organizzazioni.
  • Specialisti in sicurezza IT che si concentrano sulla sicurezza delle piattaforme all'interno delle loro organizzazioni.
  • Consulenti di Adobi e partner che richiedono risorse dettagliate per clienti e partner.

L’immagine seguente mostra i componenti e i protocolli utilizzati in una tipica implementazione AEM Forms, inclusa la topologia firewall appropriata:

architettura tipica

AEM Forms è altamente personalizzabile e può funzionare in molti ambienti diversi. Alcuni dei consigli potrebbero non essere applicabili all’organizzazione.

Livello di trasporto sicuro secure-transport-layer

Le vulnerabilità relative alla sicurezza dei livelli di trasporto sono una delle prime minacce per qualsiasi server applicativo rivolto a Internet o Intranet. Questa sezione descrive il processo di indurimento degli host sulla rete rispetto a queste vulnerabilità. Si occupa della segmentazione della rete, dell'indurimento dello stack del protocollo di controllo della trasmissione/protocollo Internet (TCP/IP) e dell'uso di firewall per la protezione dell'host.

Limitare gli endpoint aperti limit-open-endpoints

Un'organizzazione può disporre di un firewall esterno per limitare l'accesso tra un utente finale e AEM Forms Publish Farm. L’organizzazione può inoltre disporre di un firewall interno per limitare l’accesso tra una farm di pubblicazione e altri elementi dell’organizzazione (ad esempio, istanza di authoring, istanza di elaborazione, database). Consenti ai firewall di abilitare l’accesso a un numero limitato di URL AEM Forms per gli utenti finali e all’interno degli elementi dell’organizzazione:

Configurare un firewall esterno configure-external-firewall

È possibile configurare un firewall esterno per consentire a un determinato URL di AEM Forms di accedere a Internet. L’accesso a questi URL è necessario per compilare o inviare un modulo adattivo, HTML5, una lettera di gestione della corrispondenza o per accedere a un server AEM Forms:

Componente
URI
Moduli adattivi
  • /content/dam/formsanddocuments/AF_PATH/jcr:content
  • /etc/clientlibs/fd/
  • /content/forms/af/AF_PATH
  • /libs/granite/csrf/
HTML5 forms
  • /content/forms/formset/profiles/
Gestione della corrispondenza
  • /aem/forms/createcorrespondence*
Portale Forms
  • /content/forms/portal/
  • /libs/cq/ui/widgets*
  • /libs/cq/security/
App AEM Forms
  • /j_security_check*
  • /soap/services/AuthenticationManagerService

Configurare un firewall interno configure-internal-firewall

Puoi configurare il firewall interno per consentire ad alcuni componenti di AEM Forms (ad esempio, istanza di authoring, istanza di elaborazione, database) di comunicare con la farm di pubblicazione e altri componenti interni menzionati nel diagramma della topologia:

Host
URI
Publish Farm (nodi di pubblicazione)
/bin/receive
Server di elaborazione
/content/forms/fp/*
Server aggiuntivo di Forms Workflow (AEM Forms sul server JEE)
/soap/sdk

Impostazione delle autorizzazioni dell'archivio e degli elenchi di controllo degli accessi (ACL) setup-repository-permissions-and-access-control-lists-acls

Per impostazione predefinita, le risorse disponibili sui nodi di pubblicazione sono accessibili a tutti. L’accesso in sola lettura è abilitato per tutte le risorse. È necessario per abilitare l'accesso anonimo. Se si prevede di limitare la visualizzazione del modulo e di inviare l’accesso solo agli utenti autenticati, utilizzare un gruppo comune per consentire solo agli utenti autenticati l’accesso in sola lettura alle risorse disponibili sui nodi di pubblicazione. Le posizioni/directory seguenti contengono risorse dei moduli che richiedono protezione (accesso in sola lettura per gli utenti autenticati):

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

Gestione sicura dei dati dei moduli securely-handle-forms-data

AEM Forms memorizza i dati in posizioni predefinite e cartelle temporanee. È necessario proteggere i dati per evitare un uso non autorizzato.

Imposta la pulizia periodica della cartella temporanea setup-periodic-cleanup-of-temporary-folder

Quando si configurano i moduli per allegati di file, si verificano o si visualizzano in anteprima i componenti, i dati corrispondenti vengono memorizzati sui nodi di pubblicazione in /tmp/fd/. I dati vengono eliminati periodicamente. È possibile modificare il processo di eliminazione dei dati predefinito in modo che sia più aggressivo. Per modificare il processo pianificato per eliminare i dati, aprire AEM console Web, aprire l'attività di pulizia di archiviazione temporanea di AEM Forms e modificare l'espressione Cron.

Negli scenari di cui sopra, i dati vengono salvati solo per gli utenti autenticati. Inoltre, i dati sono protetti con elenchi di controllo accessi (ACL). Quindi, modificare l'eliminazione dei dati è un ulteriore passo per proteggere le informazioni.

Azione di invio dei dati protetti salvati dal portale moduli secure-data-saved-by-forms-portal-submit-action

Per impostazione predefinita, l’azione Invia portale moduli dei moduli adattivi salva i dati nell’archivio locale del nodo di pubblicazione. I dati vengono salvati in /content/forms/fp. Si sconsiglia di archiviare i dati nell’istanza di pubblicazione.

È possibile configurare il servizio di archiviazione in modo che invii il materiale al cluster di elaborazione senza salvare nulla localmente sul nodo di pubblicazione. Il cluster di elaborazione risiede in un'area protetta dietro il firewall privato e i dati rimangono sicuri.

Utilizzare le credenziali del server di elaborazione per AEM servizio impostazioni DS per inviare i dati dal nodo di pubblicazione al server di elaborazione. Si consiglia di utilizzare le credenziali di un utente non amministrativo con restrizioni con accesso in lettura e scrittura all'archivio del server di elaborazione. Per ulteriori informazioni, consulta Configurazione dei servizi di archiviazione per bozze e invii.

Protezione dei dati gestita dal modello dati del modulo (FDM) secure-data-handled-by-form-data-model-fdm

Utilizzare gli account utente con privilegi minimi richiesti per configurare le origini dati per il modello dati del modulo (FDM). L'utilizzo di account amministrativo può fornire accesso aperto di metadati ed entità dello schema a utenti non autorizzati.
L’integrazione dei dati fornisce anche metodi per autorizzare le richieste di servizi FDM. Puoi inserire meccanismi di autorizzazione pre e post-esecuzione per convalidare una richiesta. Le richieste di servizio vengono generate durante la precompilazione di un modulo, l’invio di un modulo e la chiamata di servizi tramite una regola.

Autorizzazione preliminare: Puoi utilizzare l’autorizzazione preliminare per convalidare l’autenticità di una richiesta prima di eseguirla. Puoi utilizzare input, servizi e dettagli della richiesta per consentire o interrompere l’esecuzione della richiesta. È possibile restituire un'eccezione di integrazione dei dati OPERATION_ACCESS_DENIED se l'esecuzione viene interrotta. Puoi anche modificare la richiesta del client prima di inviarla per l’esecuzione. Ad esempio, modifica dell’input e aggiunta di informazioni aggiuntive.

Autorizzazione post-elaborazione: È possibile utilizzare l’autorizzazione post-elaborazione per convalidare e controllare i risultati prima di restituire i risultati al richiedente. È inoltre possibile filtrare, perfezionare e inserire dati aggiuntivi ai risultati.

Limitare l'accesso degli utenti limit-user-access

Per le istanze di authoring, pubblicazione ed elaborazione sono necessari diversi set di utenti tipo . Non eseguire alcuna istanza con le credenziali di amministratore.

In un'istanza di pubblicazione:

  • Solo gli utenti del gruppo utenti dei moduli possono visualizzare in anteprima, creare bozze e inviare moduli.
  • Solo gli utenti del gruppo di agenti cm-user-agent possono visualizzare in anteprima le lettere di gestione della corrispondenza.
  • Disabilita tutti gli accessi anonimi non essenziali.

Su un'istanza dell'autore:

  • Esiste un diverso set di gruppi predefiniti con privilegi specifici per ogni utente tipo. Assegna utenti al gruppo.

    • Utente di un gruppo di utenti di forms:

      • può creare, compilare, pubblicare e inviare un modulo.
      • impossibile creare un modulo adattivo basato su XDP.
      • non dispongono delle autorizzazioni necessarie per scrivere script per i moduli adattivi.
      • impossibile importare XDP o qualsiasi pacchetto contenente XDP
    • Utente di gruppi di utenti di forms-power: creazione, compilazione, pubblicazione e invio di tutti i tipi di moduli, scrittura di script per i moduli adattivi, importazione di pacchetti contenenti XDP.

    • Un utente di autori di modelli e di modelli-power-user può visualizzare in anteprima e creare un modello.

    • Un utente di fdm-authors può creare e modificare un modello di dati modulo.

    • Un utente di cm-user-agent gruppo può creare, visualizzare in anteprima e pubblicare lettere di gestione della corrispondenza.

    • Un utente del gruppo editor-workflow può creare un'applicazione inbox e un modello di workflow.

Al momento dell’elaborazione dell’autore:

  • Per i casi d’uso di salvataggio e invio in remoto, crea un utente con autorizzazioni di lettura, creazione e modifica sul percorso di contenuto/modulo/fp dell’archivio crx.
  • Aggiungi l’utente al gruppo di utenti del flusso di lavoro per consentire a un utente di utilizzare AEM applicazioni della casella in entrata.

Proteggere gli elementi Intranet di un ambiente AEM Forms secure-intranet-elements-of-an-aem-forms-environment

In generale, i cluster di elaborazione e il componente aggiuntivo di Forms Workflow (AEM Forms su JEE) vengono eseguiti dietro un firewall. Quindi, questi sono considerati sicuri. È comunque possibile eseguire alcuni passaggi per rendere più rigorosi questi ambienti:

Cluster di elaborazione protetto secure-processing-cluster

Un cluster di elaborazione viene eseguito in modalità di authoring ma non viene utilizzato per le attività di sviluppo. Non consentire l’inclusione di un utente normale nei gruppi di autori di contenuti e utenti di moduli di un cluster di elaborazione.

Utilizzare AEM best practice per proteggere un ambiente AEM Forms use-aem-best-practices-to-secure-an-aem-forms-environment

Questo documento fornisce istruzioni specifiche per l’ambiente AEM Forms. Assicurati che l'installazione AEM sottostante sia sicura quando distribuita. Per istruzioni dettagliate, vedi Elenco di controllo AEM documentazione.

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