Conozca diferentes configuraciones de seguridad para mejorar la seguridad de AEM Forms en un entorno JEE que se ejecuta en una intranet corporativa.
El artículo contiene recomendaciones y prácticas recomendadas para proteger los servidores que ejecutan AEM Forms en JEE. El objetivo de este documento no es proporcionar una guía completa sobre cómo proteger el host del sistema operativo y los servidores de aplicaciones. En vez de eso, este artículo describe las diferentes configuraciones de seguridad que debe implementar para mejorar la seguridad de AEM Forms en entornos JEE que se ejecutan en una intranet corporativa. Sin embargo, para asegurarse de que AEM Forms sigue siendo seguro en los servidores de aplicaciones JEE, también debe implementar procedimientos de monitorización, detección y respuesta de seguridad.
El artículo describe las técnicas de protección que deben aplicarse durante las siguientes etapas del ciclo de vida de instalación y configuración:
AEM Forms en JEE ofrece un alto grado de personalización y es compatible con un gran número de entornos diferentes. Es posible que algunas de las recomendaciones no se ajusten a las necesidades de la organización.
Antes de instalar AEM Forms en JEE, puede aplicar las soluciones de seguridad en la capa de red y el sistema operativo. Esta sección describen algunos problemas e incluye recomendaciones para reducir las vulnerabilidades de seguridad en estas áreas.
Instalación y configuración en UNIX y Linux
No debe instalar ni configurar AEM Forms en JEE con un shell raíz. De forma predeterminada, los archivos se instalan en el directorio /opt, y el usuario que realiza la instalación necesita todos los permisos de archivo en /opt. Alternativamente, se puede realizar una instalación bajo el directorio /user de un usuario individual donde ya tiene todos los permisos de archivo.
Instalación y configuración en Windows
Debe realizar la instalación en Windows como administrador si está instalando AEM Forms en un entorno JEE de JBoss mediante el método llave en mano, o si está instalando PDF Generator. Además, al instalar PDF Generator en Windows con compatibilidad con aplicaciones nativas, debe ejecutar la instalación con el mismo usuario de Windows que instaló Microsoft Office. Para obtener más información sobre los privilegios de instalación, consulte el documento* Instalación e implementación de AEM Forms en JEE* para su servidor de aplicaciones.
Las vulnerabilidades de seguridad de red están entre las principales amenazas a las que está expuesto un servidor de aplicaciones orientado a Internet o a la intranet. Esta sección describe el proceso de protección de los hosts de la red frente a este tipo de vulnerabilidades. Aborda la segmentación de red, la protección de pila del Protocolo de control de transmisión/Protocolo Internet (TCP/IP) y el uso de cortafuegos para la protección del host.
En la tabla siguiente se describen algunos procesos comunes que reducen las vulnerabilidades de seguridad de red.
Problema |
Descripción |
---|---|
Zonas desmilitarizadas (DMZ) |
Implementar servidores de formularios en una zona desmilitarizada (DMZ). La segmentación debe existir en al menos dos niveles con el servidor de aplicaciones utilizado para ejecutar AEM Forms en JEE detrás del cortafuegos interno. Separe la red externa de la DMZ que contiene los servidores web, que a su vez deben separarse de la red interna. Utilice cortafuegos para implementar las capas de separación. Categorice y controle el tráfico que pasa por cada capa de red para asegurarse de que solo se permite el mínimo absoluto de datos requerido. |
Direcciones IP privadas |
Utilice la traducción de direcciones de red (NAT) con direcciones IP privadas (RFC 1918) en el servidor de aplicaciones de AEM Forms. Asigne direcciones IP privadas (10.0.0.0/8, 172.16.0.0/12 y 192.168.0.0/16) para que sea más difícil para un atacante enrutar el tráfico hacia y desde un host interno NAT a través de Internet. |
Cortafuegos |
Utilice los siguientes criterios para seleccionar una solución de cortafuegos:
|
Puertos de base de datos |
No utilice puertos de escucha predeterminados para bases de datos (MySQL - 3306, Oracle - 1521, MS SQL - 1433). Para obtener información sobre cómo cambiar los puertos de base de datos, consulte la documentación de la base de datos. El uso de un puerto de base de datos diferente afecta a la configuración general de AEM Forms en JEE. Si cambia los puertos predeterminados, debe realizar las modificaciones correspondientes en otras áreas de configuración, como las fuentes de datos de AEM Forms en JEE. Para obtener información sobre la configuración de fuentes de datos de AEM Forms en JEE, consulte Instalación y actualización de AEM Forms en JEE o Actualización a AEM Forms en JEE para su servidor de aplicaciones en la Guía del usuario de AEM Forms. |
La siguiente tabla describe algunos de los enfoques que puede adoptar para minimizar las vulnerabilidades de seguridad presentes en el sistema operativo.
Problema |
Descripción |
---|---|
Parches de seguridad |
El riesgo de que un usuario no autorizado obtenga acceso al servidor de aplicaciones aumenta si los parches y las actualizaciones de seguridad del proveedor no se aplican de forma oportuna. Pruebe los parches de seguridad antes de aplicarlos a los servidores de producción. Asimismo, cree políticas y procedimientos para buscar e instalar los parches de forma regular. |
Software de protección antivirus |
Los analizadores de virus pueden identificar los archivos infectados mediante la búsqueda de una firma o la observación de comportamientos inusuales. Los analizadores guardan sus firmas de virus en un archivo que suele almacenarse en el disco duro local. Dado que se descubren virus nuevos con frecuencia, debe actualizar este archivo para que el analizador de virus identifique todos los virus actuales. |
Protocolo de tiempo de redes (NTP) |
Mantenga la precisión horaria en los servidores de Forms para realizar el análisis forense. Utilice el NTP para sincronizar la hora en todos los sistemas conectados directamente a Internet. |
Para obtener información de seguridad adicional sobre su sistema operativo, consulte "Información de seguridad del sistema operativo".
Esta sección describe las técnicas que puede utilizar durante el proceso de instalación de AEM Forms para reducir las vulnerabilidades de seguridad. En algunos casos, estas técnicas utilizan opciones incluidas en el proceso de instalación. La tabla siguiente describe estas técnicas.
Problema |
Descripción |
---|---|
Privilegios |
Utilice el menor número de privilegios necesarios para instalar el software. Inicie sesión en el equipo con una cuenta que no forme parte del grupo Administradores. En Windows, puede utilizar el comando Ejecutar como para ejecutar el programa de instalación de AEM Forms en JEE como usuario administrativo. En sistemas UNIX y Linux, utilice un comando como |
Fuente del software |
No descargue ni ejecute AEM Forms en JEE desde fuentes que no sean de confianza. Los programas maliciosos pueden contener código para infringir la seguridad de varias formas, incluido el robo, la modificación y la eliminación de datos y la denegación de servicio. Instale AEM Forms en JEE desde el DVD de Adobe o únicamente desde una fuente de confianza. |
Particiones de disco |
Instale AEM Forms en JEE en una partición de disco dedicada. La segmentación de discos es un proceso que mantiene datos específicos del servidor en discos físicos separados para proporcionar una mayor seguridad. Organizar los datos de esta forma reduce el riesgo de ataques transversales de directorios. Planee la creación una partición independiente de la partición del sistema en la que pueda instalar el directorio de contenido de AEM Forms en JEE. (En Windows, la partición del sistema contiene el directorio system32 o la partición de arranque). |
Componentes |
Evalúe los servicios existentes y deshabilite o desinstale los que no sean necesarios. No instale componentes y servicios innecesarios. La instalación predeterminada de un servidor de aplicaciones puede incluir servicios que no son necesarios para su uso. Debe deshabilitar todos los servicios innecesarios antes de la implementación para minimizar los puntos de entrada de un ataque. Por ejemplo, en JBoss, puede comentar servicios innecesarios en el archivo descriptor META-INF/jboss-service.xml. |
Archivo de política entre dominios |
La presencia de un archivo |
Configuración de seguridad del sistema operativo |
Si necesita utilizar codificación XML de 192 o 256 bits en plataformas Solaris, asegúrese de instalar |
Después de instalar correctamente AEM Forms en JEE, es importante mantener periódicamente el entorno desde el punto de vista de la seguridad.
La siguiente sección describe en detalle las diferentes tareas recomendadas para proteger el servidor de Forms implementado.
Las siguientes configuraciones recomendadas se aplican al servidor de AEM Forms en JEE fuera de la aplicación web administrativa. Para reducir los riesgos de seguridad a los que está expuesto el servidor, aplique esta configuración inmediatamente después de instalar AEM Forms en JEE.
Parches de seguridad
El riesgo de que un usuario no autorizado obtenga acceso al servidor de aplicaciones aumenta si los parches y las actualizaciones de seguridad del proveedor no se aplican de forma oportuna. Pruebe los parches de seguridad antes de aplicarlos a los servidores de producción para garantizar la compatibilidad y disponibilidad de las aplicaciones. Asimismo, cree políticas y procedimientos para buscar e instalar los parches de forma regular. Las actualizaciones de AEM Forms en JEE se encuentran en el sitio de descarga de productos empresariales.
Cuentas de servicio (llave en mano de JBoss solo en Windows)
De forma predeterminada, AEM Forms en JEE instala un servicio mediante la cuenta LocalSystem. La cuenta de usuario integrada de LocalSystem tiene un alto nivel de accesibilidad y forma parte del grupo Administradores. Si se ejecuta una identidad de proceso de trabajo como la cuenta de usuario LocalSystem, ese proceso de trabajo tiene acceso completo a todo el sistema.
Para ejecutar el servidor de aplicaciones en el que se implementa AEM Forms en JEE utilizando una cuenta específica no administrativa, siga estas instrucciones:
Cree un usuario local en Microsoft Management Console (MMC) para que el servicio del servidor de formularios inicie sesión como:
No puede cambiar esta configuración para PDF Generator.
Seleccione Inicio > Configuración > Herramientas administrativas > Servicios.
Haga doble clic en JBoss para AEM Forms en JEE y detenga el servicio.
En la pestaña Inicio de sesión, seleccione Esta cuenta, busque la cuenta de usuario que ha creado e introduzca su contraseña.
En MMC, abra Configuración de seguridad local y seleccione Directivas locales > Asignación de derechos de usuario.
Asigne los siguientes derechos a la cuenta de usuario en la que se ejecuta el servidor de Forms:
Asigne a la nueva cuenta de usuario permisos de modificación en los siguientes directorios:
[JBoss root]/server/[type]/svcnative/DocumentStorage
.[AEM-Forms-installation-location]\crx-repository
.Asigne permisos de escritura a la nueva cuenta de usuario en los siguientes directorios:
La ubicación de instalación predeterminada del servidor de aplicaciones JBoss:
Inicie el servidor de aplicaciones.
Desactivación del servlet de arranque del Administrador de configuración
El Administrador de configuración utilizó un servlet implementado en su servidor de aplicaciones para llevar a cabo el arranque de AEM Forms en la base de datos JEE. Dado que el Administrador de configuración accede a este servlet antes de que se complete la configuración, el acceso a él no se ha protegido para los usuarios autorizados y debe deshabilitarse después de haber utilizado correctamente el Administrador de configuración para configurar AEM Forms en JEE.
Descomprima el archivo adobe-livecycle-[appserver].ear.
Abra el archivo META-INF/application.xml.
Busque la sección adobe-bootstrapper.war:
<!-- bootstrapper start -->
<module id="WebApp_adobe_bootstrapper">
<web>
<web-uri>adobe-bootstrapper.war</web-uri>
<context-root>/adobe-bootstrapper</context-root>
</web>
</module>
<module id="WebApp_adobe_lcm_bootstrapper_redirector">
<web>
<web-uri>adobe-lcm-bootstrapper-redirector.war</web-uri>
<context-root>/adobe-lcm-bootstrapper</context-root>
</web>
</module>
<!-- bootstrapper end-->
Detenga el servidor de AEM Forms.
Comente los módulos adobe-bootstrapper.war y adobe-lcm-bootstrapper-redirectory.war como se indica a continuación:
<!-- bootstrapper start -->
<!--
<module id="WebApp_adobe_bootstrapper">
<web>
<web-uri>adobe-bootstrapper.war</web-uri>
<context-root>/adobe-bootstrapper</context-root>
</web>
</module>
<module id="WebApp_adobe_lcm_bootstrapper_redirector">
<web>
<web-uri>adobe-lcm-bootstrapper-redirector.war</web-uri>
<context-root>/adobe-lcm-bootstrapper</context-root>
</web>
</module>
-->
<!-- bootstrapper end-->
Guarde y cierre el archivo META-INF/application.xml.
Comprima el archivo EAR y vuelva a implementarlo en el servidor de aplicaciones.
Inicie el servidor de AEM Forms.
Escriba la siguiente URL en un explorador para probar el cambio y asegurarse de que ya no funciona.
https://<localhost>:<port>/adobe-bootstrapper/bootstrap
Bloqueo del acceso remoto al Almacén de confianza
El Administrador de configuración permite cargar una credencial de extensiones de Acrobat Reader DC en el almacén de confianza de AEM Forms en JEE. Esto significa que el acceso al servicio de credenciales del Almacén de confianza a través de protocolos remotos (SOAP y EJB) se ha habilitado de forma predeterminada. Este acceso ya no es necesario después de cargar las credenciales de derechos mediante el Administrador de configuración, o si decide utilizar la consola de administración más adelante para administrar las credenciales.
Puede deshabilitar el acceso remoto a todos los servicios del Almacén de confianza siguiendo los pasos de la sección Desactivación del acceso remoto no esencial a los servicios.
Desactive todo acceso anónimo no esencial
Algunos servicios del servidor de Forms incluyen operaciones que un llamador anónimo puede invocar. Si no se requiere acceso anónimo a estos servicios, deshabilite el acceso siguiendo los pasos indicados en Desactivación del acceso anónimo no esencial a los servicios.
Cuando se instala AEM Forms en JEE, se configura una sola cuenta de usuario predeterminada para el usuario Super Administrator/ login-id Administrator con la contraseña predeterminada password. Debe cambiar esta contraseña inmediatamente usando el Administrador de configuración.
Escriba la siguiente URL en un explorador web:
https://[host name]:[port]/adminui
El número de puerto predeterminado es uno de los siguientes:
JBoss: 8080
WebLogic Server: 7001
WebSphere: 9080
En el campo Nombre de usuario, escriba administrator
y, en el campo Contraseña, escriba password
.
Haga clic en Configuración > User Management > Usuarios y grupos.
Escriba administrator
en el campo Buscar y haga clic en Buscar.
Haga clic en Super Administrator en la lista de usuarios.
Haga clic en Cambiar contraseña en la página Editar usuario.
Especifique la nueva contraseña y haga clic en Guardar.
Además, se recomienda cambiar la contraseña predeterminada del Administrador CRX realizando los siguientes pasos:
https://[server]:[port]/lc/libs/granite/security/content/useradmin.html
usando el nombre de usuario/contraseña predeterminado.La generación del lenguaje de definición de servicios web (WSDL) solo debe habilitarse en entornos de desarrollo, donde los desarrolladores la utilizan para generar aplicaciones cliente. Puede optar por desactivar la generación de WSDL en un entorno de producción para evitar exponer los detalles internos de un servicio.
Escriba la siguiente URL en un explorador web:
https://[host name]:[port]/adminui
Haga clic en Configuración > Configuración del sistema principal > Configuraciones.
Anule la selección de Habilitar WSDL y haga clic en Aceptar.
En la tabla siguiente se describen algunas técnicas para proteger el servidor de aplicaciones después de instalar la aplicación AEM Forms en JEE.
Problema |
Descripción |
---|---|
Consola administrativa del servidor de aplicaciones |
Después de instalar, configurar e implementar AEM Forms en JEE en el servidor de aplicaciones, debe deshabilitar el acceso a las consolas administrativas del servidor de aplicaciones. Consulte la documentación del servidor de aplicaciones para obtener más información. |
Configuración de las cookies del servidor de aplicaciones |
El servidor de aplicaciones controla las cookies de las aplicaciones. Al implementar la aplicación, el administrador del servidor de aplicaciones puede especificar las preferencias de cookies en un servidor o en una aplicación específica. La configuración del servidor tiene preferencia de forma predeterminada. Todas las cookies de sesión que genere su servidor de aplicaciones deben incluir el atributo Puede restringir el envío de cookies para que se envían únicamente a través de HTTPS. Como resultado, las cookies no se enviarán sin cifrar a través de HTTP. Los administradores del servidor de aplicaciones deben habilitar las cookies seguras en el servidor a nivel global. Por ejemplo, al usar el servidor de aplicaciones JBoss, puede establecer el elemento connector en Consulte la documentación del servidor de aplicaciones para obtener más información sobre la configuración de las cookies. |
Examen de directorios |
Cuando alguien solicita una página que no existe o solicita el nombre de un director (la cadena de solicitud termina con una barra diagonal (/)), el servidor de aplicaciones no debe devolver el contenido de ese directorio. Para evitarlo, puede desactivar el examen de directorios en el servidor de aplicaciones. Debe hacerlo en la aplicación de la consola de administración y en el resto de las aplicaciones que se ejecutan en el servidor. En el caso de JBoss, establezca el valor del parámetro de inicialización listings de la propiedad <servlet> <servlet-name>default</servlet-name> <servlet-class> org.apache.catalina.servlets.DefaultServlet </servlet-class> <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> En el caso de WebSphere, establezca la propiedad En WebLogic, establezca las propiedades de los directorios del índice del archivo weblogic.xml en <container-descriptor> <index-directory-enabled>false </index-directory-enabled> </container-descriptor> |
A la hora de proteger la base de datos, debe implementar las medidas descritas por el proveedor de esta. Debe asignar un usuario de base de datos con el mínimo de permisos de base de datos requeridos otorgados para su uso por AEM Forms en JEE. Por ejemplo, no utilice una cuenta con privilegios de administrador de base de datos.
En Oracle, la cuenta de la base de datos utilizada solo necesita los privilegios CONNECT, RESOURCE y CREATE VIEW. Para ver requisitos similares de otras bases de datos, consulte Preparación para instalar AEM Forms en JEE (un solo servidor).
Modifique [JBOSS_HOME]\standalone\configuration\lc_{datasource.xml} para agregar integratedSecurity=true
a la URL de conexión, como se muestra en este ejemplo:
jdbc:sqlserver://<serverhost>:<port>;databaseName=<dbname>;integratedSecurity=true
Agregue el archivo sqljdbc_auth.dll a la ruta del sistema de Windows en el equipo que ejecuta el servidor de aplicaciones. El archivo sqljdbc_auth.dll se encuentra con la instalación del controlador Microsoft SQL DBC 6.2.1.0.
Modifique la propiedad del servicio de Windows de JBoss (JBoss para AEM Forms en JEE) para Iniciar sesión desde el sistema local en una cuenta de inicio de sesión que tenga una base de datos de AEM Forms y un conjunto mínimo de privilegios. Si está ejecutando JBoss desde la línea de comandos en lugar de como un servicio de Windows, no necesita realizar este paso.
Cambie la seguridad de SQL Server del modo Mixto a Solo autenticación de Windows.
Inicie la consola de administración del servidor de WebLogic escribiendo la siguiente URL en la línea URL de un explorador web:
https://[host name]:7001/console
En Centro de cambios, haga clic en Bloquear y editar.
En Estructura de dominio, haga clic en [base_domain] > Servicios > JDBC > Fuentes de datos y, en el panel derecho, haga clic en IDP_DS.
En la siguiente pantalla, en la pestaña Configuración, haga clic en la pestaña Grupo de conexiones y, en el cuadro Propiedades, escriba integratedSecurity=true
.
En Estructura de dominio, haga clic en [base_domain] > Servicios > JDBC > Fuentes de datos y, en el panel derecho, haga clic en RM_DS.
En la siguiente pantalla, en la pestaña Configuración, haga clic en la pestaña Grupo de conexiones y, en el cuadro Propiedades, escriba integratedSecurity=true
.
Agregue el archivo sqljdbc_auth.dll a la ruta del sistema de Windows en el equipo que ejecuta el servidor de aplicaciones. El archivo sqljdbc_auth.dll se encuentra con la instalación del controlador Microsoft SQL DBC 6.2.1.0.
Cambie la seguridad de SQL Server del modo Mixto a Solo autenticación de Windows.
En WebSphere, solo puede configurar la seguridad integrada cuando utiliza un controlador JDBC de SQL Server externo, no el controlador JDBC de SQL Server incrustado en WebSphere.
integratedSecurity
y, en el cuadro Valor, escriba true
.integratedSecurity
y, en el cuadro Valor, escriba true
.El esquema de la base de datos de AEM Forms contiene información confidencial sobre la configuración del sistema y los procesos empresariales, y debe ocultarse detrás del cortafuegos. La base de datos debe considerarse dentro del mismo límite de confianza que el servidor de Forms. Para evitar la divulgación de información y el robo de datos empresariales, el administrador de la base de datos (DBA) debe configurar la base de datos para permitir el acceso únicamente a los administradores autorizados.
Como precaución adicional, debe considerar la posibilidad de utilizar las herramientas específicas del proveedor de bases de datos para cifrar columnas en las tablas que contienen los siguientes datos:
Para obtener información sobre las herramientas específicas del proveedor, consulte "Información de seguridad de la base de datos".
AEM Forms utiliza normalmente un directorio de protocolo ligero de acceso a directorios (LDAP) en JEE como fuente de información de los usuarios y los grupos empresariales, y como medio para realizar la autenticación de contraseñas. Debe asegurarse de que el directorio LDAP esté configurado para utilizar la capa de sockets seguros (SSL) y de que AEM Forms en JEE está configurado para acceder al directorio LDAP a través del puerto SSL.
Normalmente, cuando se lleva a cabo un ataque mediante LDAP, el atacante realiza varios intentos de autenticación fallidos de forma deliberada. Esto obliga al servidor de directorio LDAP a bloquear a un usuario en todos los servicios que dependen de LDAP.
Puede establecer el número de intentos erróneos y el periodo de bloqueo posterior que implementa AEM Forms cuando un usuario no se autentica correctamente de forma repetida. En la consola de administración, seleccione valores reducidos. Al seleccionar el número de intentos erróneos, es importante tener en cuenta que, una vez se llevan a cabo todos los intentos, AEM Forms bloquea al usuario antes de que lo haga el servidor del directorio LDAP.
El uso adecuado y seguro de la auditoría y el registro de aplicaciones puede ayudarle a garantizar que se detecta y se realiza un seguimiento de los eventos de seguridad y de otros eventos anómalos lo antes posible. El uso efectivo de la auditoría y el registro de una aplicación comprende elementos como el seguimiento de inicios de sesión correctos y fallidos, así como eventos clave de la aplicación como la creación o eliminación de registros clave.
Puede utilizar la auditoría para detectar numerosos tipos de ataques, incluidos los siguientes:
En esta tabla se describen las técnicas de auditoría y registro que puede utilizar para reducir las vulnerabilidades del servidor.
Problema |
Descripción |
---|---|
ACL de archivos de registro |
Establezca las listas de control de acceso (ACL) de los archivos de registro de AEM Forms en JEE apropiadas. La configuración de las credenciales adecuadas contribuye a evitar que los atacantes eliminen los archivos. Los permisos de seguridad del directorio de los archivos de registro deben ser Control total para los grupos Administradores y SYSTEM. La cuenta de usuario de AEM Forms solo debe tener permisos de lectura y escritura. |
Redundancia de los archivos de registro |
Si los recursos lo permiten, envíe registros a otro servidor en tiempo real al que el atacante (solo escritura) no pueda acceder mediante Syslog, Tivoli, Microsoft Operations Manager Server (MOM) o cualquier otro mecanismo. Proteger los registros de esta forma contribuye a evitar su manipulación. Además, el almacenamiento de registros en un repositorio central facilita la correlación y la monitorización (por ejemplo, si se utilizan varios servidores de Forms y se está realizando un ataque de averiguación de contraseña en varios equipos en los que se solicita una contraseña para cada equipo). |
Puede permitir a un usuario que no sea administrador que utilice PDF Generator. Normalmente, solo los usuarios con privilegios administrativos pueden utilizar PDF Generator. Realice los siguientes pasos para permitir que un usuario que no es administrador ejecute PDF Generator:
Cree el nombre de variable de entorno PDFG_NON_ADMIN_ENABLED.
Establezca el valor de la variable en TRUE.
Reinicie la instancia de AEM Forms.
Después de instalar correctamente AEM Forms en JEE, es importante mantener la seguridad de su entorno de forma periódica. Esta sección describe las tareas recomendadas para mantener la seguridad del servidor de producción de AEM Forms en JEE.
Puede usar un proxy inverso para asegurarse de que un conjunto de URL de aplicaciones web de AEM Forms en JEE está disponible para los usuarios externos e internos. Esta configuración es más segura que permitir que los usuarios se conecten directamente al servidor de aplicaciones en el que se ejecuta AEM Forms en JEE. El proxy inverso realiza todas las peticiones HTTP del servidor de aplicaciones que ejecuta AEM Forms en JEE. Los usuarios solo tienen acceso a la red desde el proxy inverso y solo pueden intentar conexiones URL compatibles con el proxy inverso.
URL raíz de AEM Forms en JEE para su uso con el servidor del proxy inverso
Las siguientes son las URL raíz de cada aplicación web de AEM Forms en JEE. Debe configurar el proxy inverso para exponer únicamente las URL de la funcionalidad de aplicación web que desea proporcionar a los usuarios finales.
Ciertas URL se resaltan como aplicaciones web dirigidas al usuario final. Debe evitar exponer otras URL del Administrador de configuración para acceder a usuarios externos a través del proxy inverso.
URL raíz |
Finalidad o aplicación web asociada |
Interfaz basada en web |
Acceso del usuario final |
---|---|---|---|
/ReaderExtensions/* |
Aplicación web de extensiones de Acrobat Reader DC para aplicar derechos de uso a documentos PDF dirigida a usuario finales |
Sí |
Sí |
/edc/* |
Aplicación web de Rights Management dirigida a usuarios finales |
Sí |
Sí |
/edcws/* |
URL del servicio web de Rights Management |
No |
Sí |
/pdfgui/* |
Aplicación web de administración de PDF Generator |
Sí |
Sí |
/workspace/* |
Aplicación web de Workspace dirigida a usuarios finales |
Sí |
Sí |
/workspace-server/* |
Servlets y servicios de datos de Workspace requeridos por la aplicación cliente de Workspace |
Sí |
Sí |
/adobe-bootstrapper/* |
Servlet para arrancar el repositorio de AEM Forms en JEE |
No |
No |
/soap/* |
Página de información de los servicios web del servidor de Forms |
No |
No |
/soap/services/* |
URL del servicio web de todos los servicios del servidor de Forms |
No |
No |
/edc/admin/* |
Aplicación web de administración de Rights Management |
Sí |
No |
/adminui/* |
Página de inicio de la consola de administración |
Sí |
No |
/TruststoreComponent/ secured/* |
Páginas de administración de Administración de almacenes de confianza |
Sí |
No |
/FormsIVS/* |
Aplicación IVS de Forms para probar y depurar la representación de formularios |
Sí |
No |
/OutputIVS/* |
Aplicación IVS de salida para probar y depurar el servicio Output |
Sí |
No |
/rmws/* |
URL de REST para Rights Management |
No |
Sí |
/OutputAdmin/* |
Páginas de administración de Output |
Sí |
No |
/FormServer/* |
Archivos de la aplicación web de Forms |
Sí |
No |
/FormServer/GetImage Servlet |
Se utiliza para recuperar JavaScript durante la transformación de HTML |
No |
No |
/FormServerAdmin/* |
Páginas de administración de Forms |
Sí |
No |
/repository/* |
URL de acceso a WebDAV (depuración) |
Sí |
No |
/AACComponent/* |
Interfaz de usuario de aplicaciones y servicios |
Sí |
No |
/WorkspaceAdmin/* |
Páginas de administración de Workspace |
Sí |
No |
/rest/* |
Páginas de soporte de REST |
Sí |
No |
/CoreSystemConfig/* |
Página de las opciones de la configuración principal de AEM Forms en JEE |
Sí |
No |
/um/ |
Autenticación de User Management |
No |
Sí |
/um/* |
Interfaz de administración de User Management |
Sí |
No |
/DoumentManager/* |
Carga y descarga de documentos que se van a procesar al acceder a puntos de conexión remotos, puntos de conexión WSDL de SOAP y el SDK de Java a través del transporte SOAP o el transporte EJB con documentos HTTP habilitado. |
Sí |
Sí |
Un ataque de falsificación de solicitud en sitios múltiples (CSRF) explota la confianza que un sitio web tiene en un usuario para transmitir comandos que no han sido autorizados ni enviados intencionadamente por este. El ataque se configura incluyendo un vínculo o un script en una página web o una URL en un mensaje de correo electrónico para acceder a otro sitio en el que el usuario ya se ha autenticado.
Por ejemplo, puede iniciar sesión en la consola de administración mientras navega por otro sitio web. Una de las páginas web puede incluir una etiqueta de imagen HTML con un atributo src
que identifica un script del lado del servidor en el sitio web atacado. Al aprovechar el mecanismo de autenticación de sesión basado en cookies que proporcionan los exploradores web, el sitio web atacante puede enviar solicitudes malintencionadas al script del lado del servidor atacado haciéndose pasar por el usuario legítimo. Para ver más ejemplos, consulte https://owasp.org/www-community/attacks/csrf#Examples.
Las siguientes características son comunes al CSRF:
AEM Forms en JEE utiliza la función Filtro de referente para bloquear los ataques de CSRF. En esta sección se utilizan los siguientes términos para describir el mecanismo de filtrado de referentes:
El proceso de filtrado de referentes se puede describir de la siguiente manera:
El servidor de Forms comprueba el método HTTP utilizado para la invocación:
El servidor de Forms comprueba si el URI solicitado existe en la lista de permitidos:
Si hay un referente en la solicitud, el servidor comprueba si es un referente permitido. Si está permitido, el servidor comprueba la existencia de una excepción relacionada con ese referente:
Si no hay ningún referente en la solicitud, el servidor comprueba si se permite un referente nulo:
AEM Forms en JEE proporciona el Filtro de referente para especificar los referentes a los que se permite el acceso a los recursos del servidor. De forma predeterminada, el Filtro de referente no filtra las solicitudes que utilizan un método HTTP seguro (por ejemplo, GET) a menos que CSRF_CHECK_GETS esté establecido en True. Si el número de puerto de una entrada de referente permitida está establecido en 0, AEM Forms en JEE permitirá todas las solicitudes con referente procedentes de ese host independientemente del número de puerto. Si no se especifica ningún número de puerto, solo se permiten las solicitudes del puerto predeterminado 80 (HTTP) o 443 (HTTPS). El Filtro de referente se desactiva si se eliminan todas las entradas de la lista Referentes permitidos.
Cuando instala Document Services por primera vez, la lista Referentes permitidos se actualiza con la dirección del servidor en el que se ha instalado este. Las entradas del servidor incluyen el nombre del servidor, la dirección IPv4, la dirección IPv6 si IPv6 está habilitado, la dirección de bucle invertido y una entrada localhost. El sistema operativo del host devuelve los nombres agregados a la lista Referentes permitidos. Por ejemplo, un servidor con la dirección IP 10.40.54.187 incluirá las siguientes entradas: https://server-name:0, https://10.40.54.187:0, https://127.0.0.1:0, http://localhost:0
. La lista de permitidos no se actualiza para los nombres no autorizados devueltos por el sistema operativo del host (nombres que no tienen una dirección IPv4, una dirección IPv6 o un nombre de dominio autorizado). Modifique la lista Referente permitidos para adaptarla a su entorno empresarial. No implemente el servidor de Forms en el entorno de producción con la lista Referentes permitidos predeterminada. Si ha modificado cualquiera de los referentes permitidos, las excepciones de los referentes permitidos o los URI, asegúrese de reiniciar el servidor para que los cambios surtan efecto.
Administración de la lista Referentes permitidos
Puede administrar la lista Referente permitidos desde la interfaz de User Management en la consola de administración. La interfaz de User Management proporciona la funcionalidad para crear, editar o eliminar la lista. Consulte la sección * Prevención de ataques CSRF* de la ayuda de Administración para obtener más información sobre cómo trabajar con la lista Referentes permitidos.
Administración de las listas Excepciones de referentes permitidos y URI permitidos
AEM Forms en JEE proporciona API para administrar las listas Excepciones de referentes permitidos y URI permitidos. Puede utilizar estas API para recuperar, crear, editar o eliminar cada lista. A continuación se muestra una lista de las API disponibles:
Consulte la Referencia de las API de AEM Forms en JEE para obtener más información sobre las API.
Utilice la lista LC_GLOBAL_ALLOWED_REFERER_EXCEPTION para las excepciones de los referentes permitidos a nivel global, es decir, para definir excepciones aplicables a todas las aplicaciones. Esta lista contiene únicamente URI con una ruta absoluta (p. ej., /index.html
) o una ruta relativa (p. ej., /sample/
). También puede anexar una expresión regular al final de un URI relativo; p. ej., /sample/(.)*
.
EL ID de lista LC_GLOBAL_ALLOWED_REFERER_EXCEPTION se define como una constante en la clase UMConstants
del área de nombres com.adobe.idp.um.api
, que se encuentra en adobe-usermanager-client.jar
. Puede utilizar las API de AEM Forms para crear, modificar o editar esta lista. Por ejemplo, para crear la lista de excepciones de referentes permitidos globales, utilice:
addAllowedRefererExceptions(UMConstants.LC_GLOBAL_ALLOWED_REFERER_EXCEPTION, Arrays.asList("/index.html", "/sample/(.)*"))
Utilice la lista CSRF_ALLOWED_REFERER_EXCEPTIONS para las excepciones específicas de las aplicaciones.
Desactivación del Filtro de referente
En el caso de que el Filtro de referente bloquee por completo el acceso al servidor de Forms y no pueda editar la lista Referentes permitidos, puede actualizar el script de inicio del servidor y deshabilitar el filtrado de referentes.
Incluya el argumento JAVA -Dlc.um.csrffilter.disabled=true
en el script de inicio y reinicie el servidor. Asegúrese de eliminar el argumento JAVA después de volver a configurar correctamente la lista Referentes permitidos.
Filtrado de referentes para archivos WAR personalizados
Es posible que haya creado archivos WAR personalizados para trabajar con AEM Forms en JEE con el fin de satisfacer sus necesidades empresariales. Para habilitar el filtrado de referentes para los archivos WAR personalizados, incluya adobe-usermanager-client.jar en la ruta de clase del archivo WAR y agregue una entrada de filtro en el archivo web.xml con los siguientes parámetros:
CSRF_CHECK_GETS controla la comprobación del referente en las peticiones GET. Si no se define este parámetro, el valor predeterminado se establece en False. Incluya este parámetro únicamente si desea filtrar las peticiones GET.
CSRF_ALLOWED_REFERER_EXCEPTIONS es el ID de la lista Excepciones de referentes permitidos. El Filtro de referente evita que las solicitudes procedentes de referentes de la lista identificada por el ID de lista invoquen cualquier tipo de recurso en el servidor de Forms.
CSRF_ALLOWED_URIS_LIST_NAME es el ID de la lista URI permitidos. El Filtro de referente no bloquea las solicitudes de ninguno de los recursos de la lista identificados por el ID de lista, independientemente del valor del encabezado Referente de la solicitud.
CSRF_ALLOW_NULL_REFERER controla el comportamiento del Filtro de referente cuando el referente es nulo o no está presente. Si no se define este parámetro, el valor predeterminado se establece en False. Incluya este parámetro únicamente si desea permitir referentes nulos. Permitir referentes nulos puede permitir algunos tipos de ataques de falsificación de solicitud en sitios múltiples.
CSRF_NULL_REFERER_EXCEPTIONS es una lista de los URI para los que no se realiza la comprobación del referente cuando el referente es nulo. Este parámetro solo está habilitado cuando CSRF_ALLOW_NULL_REFERER se está establecido en False. Separe los diferentes URI de la lista con comas.
A continuación, se muestra un ejemplo de la entrada de filtro del archivo web.xml de un archivo WAR de ejemplo:
<filter>
<filter-name> filter-name </filter-name>
<filter-class> com.adobe.idp.um.auth.filter.RemoteCSRFFilter </filter-class>
<!-- default is false -->
<init-param>
<param-name> CSRF_ALLOW_NULL_REFERER </param-name>
<param-value> false </param-value>
</init-param>
<!-- default is false -->
<init-param>
<param-name> CSRF_CHECK_GETS </param-name>
<param-value> true </param-value>
</init-param>
<!-- Optional -->
<init-param>
<param-name> CSRF_NULL_REFERER_EXCEPTIONS </param-name>
<param-value> /SAMPLE/login, /SAMPLE/logout </param-value>
</init-param>
<!-- Optional -->
<init-param>
<param-name> CSRF_ALLOWED_REFERER_EXCEPTIONS </param-name>
<param-value> SAMPLE_ALLOWED_REF_EXP_ID </param-value>
</init-param>
<!-- Optional -->
<init-param>
<param-name> CSRF_ALLOWED_URIS_LIST_NAME </param-name>
<param-value> SAMPLE_ALLOWED_URI_LIST_ID </param-value>
</init-param>
</filter>
........
<filter-mapping>
<filter-name> filter-name </filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Solución de problemas
Si el filtro CSRF bloquea las solicitudes legítimas del servidor, pruebe uno de los siguientes métodos:
Esta sección describe los protocolos y los puertos requeridos por AEM Forms en JEE y proporciona una serie de recomendaciones para implementar AEM Forms en JEE en una configuración de red segura.
Al configurar una arquitectura de red segura como se describe en la sección anterior, son necesarios los siguientes protocolos de red para la interacción entre AEM Forms en JEE y otros sistemas de la red empresarial.
Protocolo |
Uso |
---|---|
HTTP |
|
SOAP |
|
RMI |
Llamadas del SDK de AEM Forms en JEE cuando se utiliza en el modo Enterprise JavaBeans (EJB) |
IMAP/POP3 |
|
IO de archivos UNC |
Monitorización de carpetas inspeccionadas de AEM Forms en JEE para la entrada a un servicio (extremo de carpeta inspeccionada) |
LDAP |
|
JDBC |
|
WebDAV |
Permite la exploración remota del repositorio de AEM Forms en JEE en tiempo de diseño (formularios, fragmentos, etc.) por cualquier cliente de WebDAV |
AMF |
Aplicaciones Flash de Adobe en las que los servicios del servidor de AEM Forms en JEE están configurados con un extremo de Remoting |
JMX |
AEM Forms en JEE expone MBeans para la monitorización mediante JMX |
Esta sección describe los puertos predeterminados (y los intervalos de configuración alternativos) para cada tipo de servidor de aplicaciones compatible. Estos puertos deben habilitarse o deshabilitarse en el cortafuegos interno, según la funcionalidad de red que desee permitir para los clientes que se conectan al servidor de aplicaciones que ejecuta AEM Forms en JEE.
De forma predeterminada, el servidor expone varios MBeans de JMX en el área de nombres de adobe.com. Solo se expone la información que resulta útil para la monitorización del estado del servidor. Sin embargo, para evitar la divulgación de información, debe evitar que los llamadores de una red que no es de confianza busquen los MBeans de JMX y accedan a las métricas de estado.
Puerto de JBoss
Función |
Puerto |
---|---|
Acceso a aplicaciones web |
[JBOSS_Root]/standalone/configuration/lc_[database].xml Puerto del conector HTTP/1.1 8080 Puerto 8009 del conector AJP 1.3 Puerto del conector SSL/TLS 8443 |
Compatibilidad con CORBA |
[JBoss root]/server/all/conf/jacorb.properties OAPort 3528 OASSLPort 3529 |
Puertos de WebLogic
Función |
Puerto |
---|---|
Acceso a aplicaciones web |
|
Los puertos de administración de WebLogic no son necesarios para acceder a AEM Forms en JEE |
|
Puertos de WebSphere
Para obtener información sobre los puertos de WebSphere que requiere AEM Forms en JEE, vaya a la opción Número de puerto en la interfaz de usuario del servidor de aplicaciones de WebSphere.
Respecto a la arquitectura física que se describe en la sección Arquitectura física de AEM Forms en JEE, debe configurar SSL para todas las conexiones que planea utilizar. Específicamente, todas las conexiones de SOAP deben realizarse a través de SSL para evitar la exposición de las credenciales de usuario en una red.
Para obtener instrucciones sobre cómo configurar SSL en JBoss, WebLogic y WebSphere, consulte "Configuración de SSL" en la Ayuda de Administración.
Para obtener instrucciones sobre cómo importar certificados en una JVM (Máquina virtual Java) configurada para un servidor de AEM Forms, consulte la sección Autenticación mutua de la Ayuda de AEM Forms Workbench.
Después de configurar el servidor de aplicaciones para que admita SSL, debe asegurarse de que todo el tráfico HTTP a las aplicaciones y los servicios utiliza obligatoriamente el puerto SSL.
Para configurar el redireccionamiento SSL en WebSphere o WebLogic, consulte la documentación del servidor de aplicaciones.
Abra el Símbolo del sistema, vaya al directorio /JBOSS_HOME/standalone/configuration y ejecute el siguiente comando:
keytool -genkey -alias jboss7 -keyalg RSA -keystore server.keystore -validity 10950
Abra el archivo JBOSS_HOME/standalone/configuration/standalone.xml para editarlo.
Agregue los siguientes detalles después del elemento <subsystem xmlns="urn:jboss:domain:web:1.1" native="false" default-virtual-server="default-host">:
<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" enabled="true" secure="true"/>
Agregue el siguiente código en el elemento https connector:
<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" secure="true" enabled="true">
<ssl name="jboss7_ssl" key-alias="jboss71" password="Tibco321" certificate-key-file="../standalone/configuration/server.keystore" protocol="TLSv1"/>
</connector>
Guarde y cierre el archivo standalone.xml.
Esta sección contiene recomendaciones de seguridad específicas para Windows cuando se usa para ejecutar AEM Forms en JEE.
La instalación llave en mano de AEM Forms en JEE configura una cuenta de servicio de forma predeterminada mediante la cuenta del sistema local. La cuenta de usuario integrada del sistema local tiene un alto nivel de accesibilidad y forma parte del grupo Administradores. Si la identidad de un proceso de trabajo se ejecuta como la cuenta de usuario del sistema local, ese proceso de trabajo tiene acceso completo a todo el sistema.
Cree un usuario local en Microsoft Management Console (MMC) para que el servicio del servidor de formularios inicie sesión como:
Seleccione Configuración > Herramientas administrativas > Servicios.
Haga doble clic en el servicio del servidor de aplicaciones y deténgalo.
En la pestaña Inicio de sesión, seleccione Esta cuenta, busque la cuenta de usuario que ha creado e introduzca su contraseña.
En la ventana Configuración de seguridad local, en Asignación de derechos de usuario, otorgue los siguientes derechos a la cuenta de usuario en la que se ejecuta el servidor de Forms:
Asigne a la nueva cuenta de usuario permisos de modificación en los siguientes directorios:
[JBoss root]/server/[type]/svcnative/DocumentStorage
.[AEM-Forms-installation-location]\crx-repository
.Asigne permisos de escritura a la nueva cuenta de usuario en los siguientes directorios:
La ubicación de instalación predeterminada del servidor de aplicaciones JBoss:
Inicie el servicio del servidor de aplicaciones.
AEM Forms en JEE utiliza el sistema de archivos de las siguientes formas:
Cuando utilice carpetas inspeccionadas para enviar y recibir documentos con un servicio del servidor de Forms, tome precauciones adicionales a la hora de garantizar la seguridad del sistema de archivos. Cuando un usuario coloca contenido en la carpeta inspeccionada, ese contenido se expone a través de la carpeta inspeccionada. En este caso, el servicio no autentica al usuario final real. En su lugar, se basa en la seguridad de nivel ACL y Share que se debe establecer en el nivel de carpeta para determinar quién puede invocar el servicio de forma efectiva.
Esta sección contiene recomendaciones sobre la configuración del servidor de aplicaciones específicas para JBoss 7.0.6 cuando se utiliza para ejecutar AEM Forms en JEE.
El acceso a la consola de administración de JBoss y la consola JMX ya está configurado (la monitorización JMX está deshabilitada) cuando instala AEM Forms en JEE en JBoss mediante el método de instalación llave en mano. Si está utilizando su propio servidor de aplicaciones JBoss, asegúrese de que el acceso a la consola de administración de JBoss y a la consola de monitorización JMX esté protegido. El acceso a la consola de monitorización JMX se establece en el archivo de configuración de JBoss llamado jmx-invoker-service.xml.
Después de iniciar sesión en la Consola de administración, es posible examinar la lista de directorios de la consola modificando la dirección URL. Por ejemplo, si cambia la URL a una de las siguientes, puede aparecer un listado de directorios:
https://<servername>:8080/adminui/secured/
https://<servername>:8080/um/
Esta sección contiene recomendaciones sobre la configuración del servidor de aplicaciones para proteger WebLogic 9.1 cuando se ejecuta AEM Forms en JEE.
Establezca las propiedades de los directorios del índice del archivo weblogic.xml en false
, como se muestra en este ejemplo:
<container-descriptor>
<index-directory-enabled>false
</index-directory-enabled>
</container-descriptor>
De forma predeterminada, WebLogic no habilita el puerto de escucha SSL predeterminado, 7002. Habilite este puerto en la consola de administración del servidor de WebLogic antes de configurar el SSL.
Esta sección contiene recomendaciones sobre la configuración del servidor de aplicaciones para proteger WebSphere cuando se ejecuta AEM Forms en JEE.
Establezca la propiedad directoryBrowsingEnabled
en el archivo ibm-web-ext.xml en false
.