Consideraciones de seguridad de AEM as a Cloud Service Security security-considerations
Almacén de confianza de AEM aem-trust-store
Para admitir operaciones criptográficas asimétricas, AEM guarda certificados dentro del repositorio de contenido, en un almacén de confianza global. Sus contenidos son públicos y, de forma predeterminada, son accesibles de forma anónima por cualquiera en las instancias de editor.
Características del almacén de confianza truststore-characteristics
-
El almacén de confianza se encuentra debajo de
/etc/truststorey consta de un archivo de almacén de claves Java™, su contraseña y los metadatos del repositorio. Tanto la contraseña como el almacén de claves están cifrados por motivos técnicos, aunque los certificados contenidos sean accesibles para todo el mundo de forma predeterminada a través de la API -
De forma predeterminada, los certificados se utilizan solo para la compatibilidad con HTTPS y SAML, y el almacén debe crearse manualmente primero
-
Los clientes pueden usarlo en su propio código a través de la API de almacén de claves
-
El almacén de confianza se puede administrar a través de la IU en Herramientas - Seguridad - Almacén de confianza o accediendo a
https://serveraddress:serverport/libs/granite/security/content/truststore.html, como se muestra a continuación:
-
El acceso al almacén de confianza se puede restringir aún más mediante el control de acceso al repositorio, según el caso de uso.
jcr:all para todo el mundo.Restringir el acceso anónimo a las propiedades del sistema restrict-anonymous-access-to-system-properties
AEM almacena metadatos del sistema, como jcr:createdBy y jcr:lastModifiedBy, como propiedades de nodo junto con contenido normal en el repositorio. Según la configuración y la configuración de control de acceso, procesar estos nodos como JSON o XML puede exponer información de identificación personal (PII).
Al igual que con otros datos del repositorio, el acceso a estas propiedades está controlado por la pila de autorización de Oak. Restrinja el acceso según el principio de mínimo privilegio.
En AEM as a Cloud Service, puede usar Repo Init para configurar una entrada de control de acceso denegado en la raíz del repositorio, restringiendo el acceso anónimo a propiedades específicas del sistema.
Pasos de configuración configuration-steps
-
En el proyecto de AEM, cree un archivo de configuración en el siguiente directorio:
ui.config/src/main/content/jcr_root/apps/<name-of-program>/osgiconfig/config.publish/Utilice el siguiente nombre de archivo:
org.apache.sling.jcr.repoinit.RepositoryInitializer-anonymousPermissions.config -
Añada la siguiente configuración al archivo:
code language-text scripts=[" set ACL on / deny jcr:all for anonymous restriction(rep:itemNames, jcr:createdBy,jcr:lastModifiedBy,cq:lastModifiedBy,cq:lastReplicatedBy,cq:lastRolledoutBy) end "]La restricción
rep:itemNameslimita la entrada denegada a los nombres enumerados. Esta configuración restringe el acceso anónimo a las siguientes propiedades:jcr:createdByjcr:lastModifiedBycq:lastModifiedBycq:lastReplicatedBycq:lastRolledoutBy
-
Confirme y envíe el archivo de configuración a su repositorio de Git e impleméntelo a través de una canalización de Cloud Manager. La configuración colocada en
config.publishse aplica al entorno de publicación.
Una vez que la configuración tiene efecto, las propiedades de destino ya no están visibles en la salida JSON o XML generada con los permisos de repositorio del usuario anónimo.