Obtenga información sobre una variedad de opciones de seguridad reforzada para mejorar la seguridad de AEM Forms en JEE que se ejecuta en una intranet corporativa.
El artículo describe recomendaciones y prácticas recomendadas para proteger servidores que ejecutan AEM Forms en JEE. No se trata de un documento completo de refuerzo del host para el sistema operativo y los servidores de aplicaciones. En su lugar, este artículo describe una serie de opciones de seguridad que debe implementar para mejorar la seguridad de AEM Forms en JEE que se ejecuta en una intranet corporativa. Sin embargo, para garantizar que AEM Forms permanezca seguro en los servidores de aplicaciones JEE, también debe implementar procedimientos de supervisión, detección y respuesta de seguridad.
El artículo describe técnicas de endurecimiento que deben aplicarse durante las siguientes etapas durante el ciclo de vida de la instalación y configuración:
AEM Forms en JEE es altamente personalizable y puede funcionar en muchos entornos diferentes. Es posible que algunas de las recomendaciones no se ajusten a las necesidades de su organización.
Antes de instalar AEM Forms en JEE, puede aplicar soluciones de seguridad a la capa de red y al sistema operativo. Esta sección describe algunos problemas y hace 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. Como alternativa, se puede realizar una instalación en el directorio /user de un usuario individual, donde ya tienen todos los permisos de archivo.
Instalación y configuración en Windows
Debe realizar la instalación en Windows como administrador si va a instalar AEM Forms en JEE en JBoss mediante el método llave en mano o si va a instalar PDF Generator. Además, al instalar PDF Generator en Windows con compatibilidad con aplicaciones nativas, debe ejecutar la instalación como 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 primeras amenazas para cualquier servidor de aplicaciones orientado a Internet o a intranet. Esta sección describe el proceso de endurecimiento de los hosts de la red contra estas vulnerabilidades. Se ocupa de la segmentación de red, el endurecimiento de la pila del Protocolo de control de transmisión/Protocolo de Internet (TCP/IP) y el uso de firewalls para la protección del host.
La siguiente tabla describe los procesos comunes que reducen las vulnerabilidades de seguridad de red.
Problema |
Descripción |
---|---|
Zonas desmilitarizadas (DMZ) |
Implementar servidores de formularios dentro de 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 ubicado detrás del servidor de seguridad interior. Separe la red externa de la DMZ que contiene los servidores Web, que a su vez deben separarse de la red interna. Utilice los cortafuegos para implementar las capas de separación. Clasifique y controle el tráfico que pasa por cada capa de red para asegurarse de que sólo se permite el mínimo absoluto de datos requeridos. |
Direcciones IP privadas |
Utilice 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. |
Servidores de seguridad |
Utilice los siguientes criterios para seleccionar una solución de firewall:
|
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 orígenes de datos en AEM Forms en JEE, consulte Instalar y actualizar AEM Forms en JEE o Actualizar a AEM Forms en JEE para su servidor de aplicaciones en Guía del usuario de AEM Forms. |
En la siguiente tabla se describen algunos enfoques posibles para minimizar las vulnerabilidades de seguridad que se encuentran en el sistema operativo.
Problema |
Descripción |
---|---|
Revisiones de seguridad |
Existe un mayor riesgo de que un usuario no autorizado obtenga acceso al servidor de aplicaciones si no se aplican oportunamente los parches y las actualizaciones de seguridad del proveedor. Pruebe los parches de seguridad antes de aplicarlos a los servidores de producción. Además, cree políticas y procedimientos para buscar e instalar parches de forma regular. |
Software de protección antivirus |
Los analizadores de virus pueden identificar los archivos infectados buscando una firma o buscando comportamientos inusuales. Los escáneres guardan sus firmas de virus en un archivo, que generalmente se almacena en el disco duro local. Debido a que con frecuencia se descubren nuevos virus, debe actualizar este archivo para que el analizador de virus identifique todos los virus actuales. |
Protocolo de tiempo de red (NTP) |
Para la análisis forense, mantenga un tiempo preciso en los servidores de formularios. Utilice NTP para sincronizar la hora en todos los sistemas conectados directamente a Internet. |
Para obtener más información sobre la seguridad de su sistema operativo, consulte "Información de seguridad del sistema operativo".
En esta sección se describen 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 que forman parte del proceso de instalación. En la tabla siguiente se describen 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 esté en el 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 de software |
No descargue ni ejecute AEM Forms en JEE desde fuentes no confiables. Los programas maliciosos pueden contener código que viola la seguridad de varias maneras, incluyendo robo, modificación y eliminación de datos, y denegación de servicio. Instale AEM Forms en JEE desde el DVD del Adobe o solo desde una fuente de confianza. |
particiones de disco |
Coloque AEM Forms en JEE en una partición de disco dedicada. La segmentación de discos es un proceso que mantiene datos específicos en el servidor en discos físicos separados para mayor seguridad. La organización de los datos de esta manera reduce el riesgo de ataques de inversión de directorios. Planee crear una partición separada de la partición del sistema en la que puede instalar el AEM Forms en el directorio de contenido JEE. (En Windows, la partición del sistema contiene el directorio system32 o la partición de inicio). |
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 para 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 una perspectiva de seguridad.
En la siguiente sección se describen en detalle las diferentes tareas recomendadas para proteger el servidor de formularios implementado.
La siguiente configuración recomendada se aplica a AEM Forms en el servidor JEE fuera de la aplicación Web administrativa. Para reducir los riesgos de seguridad para el servidor, aplique esta configuración inmediatamente después de instalar AEM Forms en JEE.
Revisiones de seguridad
Existe un mayor riesgo de que un usuario no autorizado obtenga acceso al servidor de aplicaciones si no se aplican oportunamente los parches y las actualizaciones de seguridad del proveedor. Pruebe los parches de seguridad antes de aplicarlos a los servidores de producción para garantizar la compatibilidad y disponibilidad de las aplicaciones. Además, cree políticas y procedimientos para buscar e instalar parches de forma regular. Las actualizaciones de AEM Forms en JEE se encuentran en el sitio de descarga de productos de Enterprise.
Cuentas de servicio (llave en mano de JBoss solo en Windows)
AEM Forms en JEE instala un servicio de forma predeterminada mediante la cuenta LocalSystem. La cuenta de usuario integrada de LocalSystem tiene un alto nivel de accesibilidad; forma parte del grupo Administradores. Si una identidad de proceso de trabajo se ejecuta como la cuenta de usuario de 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, mediante una cuenta específica no administrativa, siga estas instrucciones:
En Microsoft Management Console (MMC), cree un usuario local para que el servicio del servidor de formularios inicie sesión como:
No puede cambiar esta configuración para el generador de PDF.
Seleccione Inicio > Configuración > Herramientas administrativas > Servicios.
Haga clic con el doble en JBoss para AEM Forms en JEE y detenga el servicio.
En la ficha Iniciar sesión, seleccione Esta cuenta, busque la cuenta de usuario que ha creado e introduzca la contraseña para la cuenta.
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 formularios:
Asigne a la nueva cuenta de usuario permisos de modificación en los directorios siguientes:
[JBoss root]/server/[type]/svcnative/DocumentStorage
[AEM-Forms-installation-location]\crx-repository
Otorgue a la nueva cuenta de usuario permisos de escritura en los directorios siguientes:
Ubicación de instalación predeterminada del servidor de aplicaciones JBoss:
Inicio del servidor de aplicaciones.
Desactivación del servlet de arranque de Configuration Manager
Configuration Manager utilizó un servlet implementado en el servidor de aplicaciones para realizar el arranque de AEM Forms en la base de datos JEE. Dado que Configuration Manager accede a este servlet antes de que se complete la configuración, el acceso a él no se ha asegurado para los usuarios autorizados y debe deshabilitarse después de haber utilizado correctamente Configuration Manager 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 adobe-bootstrapper.war y adobe-lcm-bootstrapper-redirectory. módulos de guerra 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.
Copie el archivo EAR y vuelva a implementarlo en el servidor de aplicaciones.
Inicio del servidor AEM Forms.
Escriba la dirección URL siguiente en un explorador para probar el cambio y asegurarse de que ya no funciona.
https://<localhost>:<puerto>/adobe-bootstrapper/bootstrap
Bloqueo del acceso remoto al almacén de confianza
Configuration Manager permite cargar una credencial de extensiones de Acrobat Reader DC en el AEM Forms en el almacén de confianza 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 haber cargado las credenciales de derechos mediante Configuration Manager 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 Deshabilitar el acceso remoto no esencial a los servicios.
Deshabilitar todos los accesos anónimos no esenciales
Algunos servicios de servidor de formularios tienen operaciones que un llamador anónimo puede invocar. Si no se requiere acceso anónimo a estos servicios, desactívelo siguiendo los pasos de Deshabilitación del acceso anónimo no esencial a los servicios.
Cuando se instala AEM Forms en JEE, se configura una única cuenta de usuario predeterminada para el usuario Super Administrator/login-id Administrator con una contraseña predeterminada de password. Debe cambiar esta contraseña inmediatamente mediante Configuration Manager.
Escriba la siguiente dirección URL en un navegador web:
https://[host name]:[port]/adminui
El número de puerto predeterminado es uno de estos:
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 > Administración de usuarios > Usuarios y grupos.
Escriba administrator
en el campo Buscar y haga clic en Buscar.
Haga clic en Superadministrador desde 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 de CRX siguiendo estos pasos:
https://[server]:[port]/lc/libs/granite/security/content/useradmin.html
con el nombre de usuario/contraseña predeterminados.La generación del lenguaje de definición de servicios Web (WSDL) solo debe habilitarse para entornos de desarrollo, donde los desarrolladores utilizan la generación WSDL para crear sus aplicaciones cliente. Puede desactivar la generación WSDL en un entorno de producción para evitar exponer los detalles internos de un servicio.
Escriba la siguiente dirección URL en un navegador 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 AEM Forms en la aplicación 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 cookies del servidor de aplicaciones |
El servidor de aplicaciones controla las cookies de la aplicación. Al implementar la aplicación, el administrador del servidor de aplicaciones puede especificar las preferencias de cookies en todo el servidor o en una aplicación específica. De forma predeterminada, la configuración del servidor tiene preferencia. Todas las cookies de sesión generadas por el servidor de aplicaciones deben incluir el atributo Puede restringir el envío de cookies mediante HTTPS. Como resultado, no se envían sin cifrar a través de HTTP. Los administradores del servidor de aplicaciones deben habilitar las cookies seguras para el servidor de forma global. Por ejemplo, al utilizar el servidor de aplicaciones JBoss, puede modificar el elemento conector a Consulte la documentación del servidor de aplicaciones para obtener más detalles sobre la configuración de cookies. |
Exploración 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 la exploración de directorios en el servidor de aplicaciones. Debe hacerlo para la aplicación de la consola de administración y para otras aplicaciones que se ejecuten en el servidor. Para JBoss, establezca el valor del parámetro de inicialización listings de la propiedad <servlet> <servlet-name>predeterminado</servlet-name> <servlet-class> org.apache.catalina.servlets.DefaultServlet </servlet-class> <init-param> <param-name>listas</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> Para WebSphere, establezca la propiedad Para WebLogic, establezca las propiedades de los directorios de índice del archivo weblogic.xml en <container-descriptor> <index-directory-enabled>false </index-directory-enabled> </container-descriptor> |
Al proteger la base de datos, debe implementar las medidas descritas por el proveedor de la base de datos. Debe asignar un usuario de base de datos con los permisos mínimos requeridos de base de datos 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 que utilice sólo necesita los privilegios de CONNECT, RECURSO y CREATE VISTA. Para conocer requisitos similares en otras bases de datos, consulte Preparación de la instalación de AEM Forms en JEE (un solo servidor).
Modifique [JBOSS_HOME]\standalone\configuration\lc_{datasource.xml} para agregar integratedSecurity=true
a la dirección URL de conexión, como se muestra en este ejemplo:
jdbc:sqlserver://<serverhost>:<port>;databaseName=<dbname>;integratedSecurity=true
Añada el archivo sqljdbc_auth.dll a la ruta de acceso 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 JDBC 6.2.1.0 de Microsoft SQL.
Modifique la propiedad JBoss del servicio Windows (JBoss para AEM Forms en JEE) para Iniciar sesión desde el sistema local a una cuenta de inicio de sesión que tenga una base de datos AEM Forms y un conjunto mínimo de privilegios. Si ejecuta JBoss desde la línea de comandos en lugar de como un servicio de Windows, no es necesario que realice este paso.
Configure Seguridad para SQL Server del modo Mixto a Autenticación de Windows solamente.
Inicio de la Consola de administración de WebLogic Server 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 [dominio_base] > Servicios > JDBC > Fuentes de datos y, en el panel derecho, haga clic en IDP_DS.
En la siguiente pantalla, en la ficha Configuración, haga clic en la ficha Pool de conexiones y, en el cuadro Propiedades, escriba integratedSecurity=true
.
En Estructura de dominio, haga clic en [dominio_base] > Servicios > JDBC > Fuentes de datos y, en el panel derecho, haga clic en RM_DS.
En la siguiente pantalla, en la ficha Configuración, haga clic en la ficha Pool de conexiones y, en el cuadro Propiedades, escriba integratedSecurity=true
.
Añada el archivo sqljdbc_auth.dll a la ruta de acceso 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 JDBC 6.2.1.0 de Microsoft SQL.
Configure Seguridad para SQL Server del modo Mixto a Autenticación de Windows solamente.
En WebSphere, puede configurar la seguridad integrada solo 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 servidor de seguridad. La base de datos debe considerarse dentro del mismo límite de confianza que el servidor de formularios. 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 el uso de herramientas específicas del proveedor de la base de datos para cifrar columnas en tablas que contengan los siguientes datos:
Para obtener información sobre las herramientas específicas del proveedor, consulte "Información de seguridad de la base de datos".
Un directorio ligero de Protocolo de acceso a directorios (LDAP, Lightweight Directory Access Protocol ) es utilizado generalmente por AEM Forms en JEE como fuente de información de usuarios y grupos empresariales, y como medio para realizar la autenticación de contraseñas. Debe asegurarse de que el directorio LDAP está configurado para utilizar Secure Socket Layer (SSL) y de que AEM Forms en JEE está configurado para acceder al directorio LDAP mediante su puerto SSL.
Un ataque común que utiliza LDAP implica que un atacante deliberadamente no puede autenticarse varias veces. Esto fuerza al servidor de directorio LDAP a bloquear a un usuario de todos los servicios dependientes de LDAP.
Puede establecer el número de intentos de error y el tiempo de bloqueo subsiguiente que AEM Forms implementa cuando un usuario falla repetidamente en autenticarse en AEM Forms. En la Consola de administración, elija valores bajos. Al seleccionar el número de intentos de error, es importante comprender que, una vez realizados todos los intentos, AEM Forms bloquea al usuario antes de que lo haga el servidor de directorio LDAP.
El uso adecuado y seguro de la auditoría y el registro de aplicaciones puede ayudar a garantizar que la seguridad y otros eventos anómalos se rastreen y detecten lo antes posible. El uso efectivo de la auditoría y el registro dentro de una aplicación incluye elementos como el seguimiento de inicios de sesión exitosos 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 varios 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 |
Configure el AEM Forms adecuado en las listas de control de acceso de archivos de registro (ACL) de JEE. La configuración de las credenciales adecuadas ayuda a evitar que los atacantes eliminen los archivos. Los permisos de seguridad en el directorio de archivos de registro deben ser Control total para los grupos Administradores y SISTEMA. La cuenta de usuario de AEM Forms solo debe tener permisos de lectura y escritura. |
Redundancia de archivos de registro |
Si los recursos lo permiten, envíe registros a otro servidor en tiempo real al que el atacante no pueda acceder (solo escritura) mediante Syslog, Tivoli, Microsoft Operations Manager (MOM) Server u otro mecanismo. Proteger los registros de esta manera ayuda a evitar alteraciones. Además, el almacenamiento de registros en un repositorio central ayuda en la correlación y supervisión (por ejemplo, si se utilizan varios servidores de formularios y se produce un ataque de adivinación de contraseña en varios equipos en los que se solicita una contraseña a cada equipo). |
Puede habilitar a un usuario que no sea administrador para que utilice el generador de PDF. Normalmente, solo los usuarios con privilegios de administrador pueden utilizar el generador de PDF. Realice los siguientes pasos para permitir que un usuario que no es administrador ejecute el generador de PDF:
Cree un nombre de variable de entorno PDFG_NON_ADMIN_ENABLED.
Establezca el valor de la variable en VERDADERO.
Reinicie la instancia de AEM Forms.
Después de instalar correctamente AEM Forms en JEE, es importante mantener periódicamente la seguridad de su entorno. En esta sección se describen las tareas recomendadas para mantener la seguridad de su AEM Forms en el servidor de producción JEE.
Se puede utilizar un proxy inverso para garantizar que un conjunto de direcciones URL para AEM Forms en aplicaciones web JEE esté disponible tanto para usuarios externos como 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 solicitudes HTTP para el servidor de aplicaciones que ejecuta AEM Forms en JEE. Los usuarios solo tienen acceso de red al proxy inverso y solo pueden intentar conexiones URL admitidas por el proxy inverso.
AEM Forms en direcciones URL raíz JEE para su uso con el servidor proxy inverso
Las siguientes URL raíz de la aplicación para cada AEM Forms en la aplicación web JEE. Debe configurar el proxy inverso solo para exponer las direcciones URL a la funcionalidad de la aplicación web que desea proporcionar a los usuarios finales.
Determinadas direcciones URL se resaltan como aplicaciones web dirigidas al usuario final. Debe evitar la exposición de otras direcciones URL para Configuration Manager para el acceso a usuarios externos a través del proxy inverso.
URL raíz |
Finalidad y/o aplicación web asociada |
Interfaz basada en la Web |
Acceso del usuario final |
---|---|---|---|
/ReaderExtensions/* |
Aplicación web de usuario final de extensiones de Acrobat Reader DC para aplicar derechos de uso a documentos PDF |
Sí |
Sí |
/edc/* |
Aplicación web de usuario final Rights Management |
Sí |
Sí |
/edcws/* |
URL de servicio Web para Rights Management |
No |
Sí |
/pdfgui/* |
Aplicación web de administración de PDF Generator |
Sí |
Sí |
/el espacio de trabajo/* |
Aplicación web de usuario final de Workspace |
Sí |
Sí |
/space-server/* |
Servlets y servicios de datos de Workspace que requiere 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 para servicios Web del servidor de formularios |
No |
No |
/soap/services/* |
Dirección URL del servicio Web para todos los servicios del servidor de formularios |
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/ seguro/* |
Páginas de administración de Administración de almacén de confianza |
Sí |
No |
/FormsIVS/* |
Aplicación Forms IVS para probar y depurar la representación de formularios |
Sí |
No |
/OutputIVS/* |
Aplicación Output IVS para probar y depurar el servicio de salida |
Sí |
No |
/rmws/* |
URL REST para Rights Management |
No |
Sí |
/OutputAdmin/* |
Páginas de administración de salida |
Sí |
No |
/FormServer/* |
Archivos de aplicaciones web de Forms |
Sí |
No |
/FormServer/GetImage Servlet |
Se utiliza para recuperar JavaScript durante la transformación HTML |
No |
No |
/FormServerAdmin/* |
Páginas de administración de Forms |
Sí |
No |
/repositorio/* |
URL para acceso 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 asistencia restantes |
Sí |
No |
/CoreSystemConfig/* |
Página de configuración de AEM Forms en JEE Core |
Sí |
No |
/um/ |
Autenticación de administración de usuarios |
No |
Sí |
/um/* |
Interfaz de administración de administración de usuarios |
Sí |
No |
/DoumentManager/* |
Carga y descarga de documentos que se van a procesar al acceder a puntos finales remotos, puntos finales WSDL SOAP y SDK de Java a través del transporte SOAP o de EJB con documentos HTTP activados. |
Sí |
Sí |
Un ataque de falsificación de solicitudes entre sitios (CSRF, por sus siglas en inglés) aprovecha la confianza que un sitio web tiene para el usuario, para transmitir comandos no autorizados y no deseados por el usuario. El ataque se configura incluyendo un vínculo o una secuencia de comandos en una página web, o una dirección URL en un mensaje de correo electrónico, para acceder a otro sitio en el que el usuario ya ha sido autenticado.
Por ejemplo, puede iniciar sesión en la Consola de administración mientras navega simultáneamente por otro sitio web. Una de las páginas web puede incluir una etiqueta de imagen HTML con un atributo src
que destinatario una secuencia de comandos del lado del servidor en el sitio web de la víctima. Al aprovechar el mecanismo de autenticación de sesión basado en cookies proporcionado por los exploradores web, el sitio web atacante puede enviar solicitudes malintencionadas a este script de la víctima de servidor, que se muestra como el usuario legítimo. Para obtener más ejemplos, consulte https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)#Examples.
Las siguientes características son comunes al RCSR:
AEM Forms en JEE utiliza la función Filtro de Remitente del reenvío para bloquear los ataques de CSRF. En esta sección se utilizan los términos siguientes para describir el mecanismo de filtrado de Remitentes del reenvío:
El proceso de filtrado de Remitentes del reenvío se puede describir de la siguiente manera:
El servidor de formularios comprueba el método HTTP utilizado para la invocación:
El servidor de formularios comprueba si el URI solicitado existe en la lista de permitidos:
Si hay un Remitente del reenvío en la solicitud, el servidor comprueba si es un Remitente del reenvío permitido. Si está permitido, el servidor comprueba si existe una excepción de Remitente del reenvío:
Si no hay ningún Remitente del reenvío en la solicitud, el servidor comprueba si se permite un Remitente del reenvío nulo:
AEM Forms en JEE proporciona un filtro de Remitente del reenvío para especificar el Remitente del reenvío al que se permite el acceso a los recursos del servidor. De forma predeterminada, el filtro de Remitente del reenvío 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 Remitente del reenvío permitida está establecido en 0, AEM Forms en JEE permitirá todas las solicitudes con Remitente del reenvío desde 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 filtrado de remitentes del reenvío se desactiva si se eliminan todas las entradas de la lista Remitente del reenvío permitido.
Al instalar por primera vez Documento Services, la lista Remitente del reenvío permitido se actualiza con la dirección del servidor en el que está instalado Documento Services. Las entradas para el servidor incluyen el nombre del servidor, la dirección IPv4, la dirección IPv6 si IPv6 está habilitada, la dirección loopback y una entrada localhost. El sistema operativo Host devuelve los nombres agregados a la lista Remitente del reenvío permitido. Por ejemplo, un servidor con una dirección IP de 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
. Para cualquier nombre no apto devuelto por el sistema operativo del host (nombres que no tienen dirección IPv4, dirección IPv6 o nombre de dominio completo) no se actualiza la lista de permitidos. Modifique la lista Remitente del reenvío permitido para que se adapte a su entorno comercial. No implemente el servidor de formularios en el entorno de producción con la lista de Remitente del reenvío permitida predeterminada. Después de modificar cualquiera de los Remitentes del reenvío permitidos, las excepciones de Remitente del reenvío o los URI, asegúrese de reiniciar el servidor para que los cambios surtan efecto.
Administración de la lista de Remitentes del reenvío permitidos
Puede administrar la lista Remitente del reenvío permitido desde la interfaz de administración de usuarios de la Consola de administración. La interfaz de administración de usuarios le proporciona la funcionalidad de 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 de Remitente del reenvío permitido.
Administración de excepciones de Remitente del reenvío permitidas y listas de URI permitidas
AEM Forms en JEE proporciona API para administrar la lista de Excepción de Remitente del reenvío Permitida y la lista URI Permitida. Puede utilizar estas API para recuperar, crear, editar o eliminar la lista. A continuación se muestra una lista de las API disponibles:
Consulte la* Referencia de la 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 Remitente del reenvío permitidas a nivel global, es decir, para definir las excepciones aplicables a todas las aplicaciones. Esta lista solo contiene 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, por ejemplo: /sample/(.)*
.
La ID de lista LC_GLOBAL_ALLOWED_REFERER_EXCEPTION se define como una constante en la clase UMConstants
de la Á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 Excepciones de Remitente del reenvío 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 la aplicación.
Desactivación del filtro Remitente del reenvío
En el evento de que el Remitente del reenvío Filter bloquea completamente el acceso al servidor de formularios y no puede editar la lista Remitente del reenvío permitida, puede actualizar la secuencia de comandos de inicio del servidor y deshabilitar el filtrado de Remitentes del reenvío.
Incluya el argumento -Dlc.um.csrffilter.disabled=true
JAVA en la secuencia de comandos de inicio y reinicie el servidor. Asegúrese de eliminar el argumento JAVA después de haber reconfigurado correctamente la lista Remitente del reenvío permitido.
Filtrado de remitentes del reenvío para archivos WAR personalizados
Es posible que haya creado archivos WAR personalizados para trabajar con AEM Forms en JEE con el fin de satisfacer los requisitos comerciales. Para habilitar el filtrado de Remitentes del reenvío para los archivos WAR personalizados, incluya adobe-usermanager-client.jar en la ruta de clases para la WAR e incluya una entrada de filtro en el archivo* web.xml* con los siguientes parámetros:
CSRF_CHECK_ GETScontrola la comprobación de Remitentes del reenvío en las solicitudes de GET. Si no se define este parámetro, el valor predeterminado se establece en false. Incluya este parámetro solo si desea filtrar las solicitudes de GET.
CSRF_ALLOWED_REFERER_ EXCEPTIONSes el ID de la lista de excepciones de Remitente del reenvío permitidas. El filtro de Remitente del reenvío impide que las solicitudes procedentes de Remitentes del reenvío de la lista identificada por el ID de lista invoquen cualquier recurso del servidor de formularios.
CSRF_ALLOWED_URIS_LISTA_ NAMEes el ID de la lista URI permitidos. El filtro de Remitente del reenvío no bloquea las solicitudes de ninguno de los recursos de la lista identificada por el ID de lista, independientemente del valor del encabezado de Remitente del reenvío de la solicitud.
CSRF_ALLOW_NULL_ REFERERcontrola el comportamiento del filtro de Remitente del reenvío cuando el Remitente del reenvío es nulo o no está presente. Si no se define este parámetro, el valor predeterminado se establece en false. Incluya este parámetro solo si desea permitir Remitentes del reenvío Null. Permitir remitentes del reenvío nulos puede permitir algunos tipos de ataques de falsificación de solicitudes entre sitios.
CSRF_NULL_REFERER_ EXCEPTIONSes una lista de los URI para los que no se realiza una comprobación de Remitente del reenvío cuando el Remitente del reenvío es nulo. Este parámetro solo se habilita cuando CSRF_ALLOW_NULL_REFERER se establece en false. Separe varios URI de la lista con una coma.
A continuación se muestra un ejemplo de la entrada de filtro en el archivo web.xml para un archivo SAMPLE WAR:
<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 con uno de los siguientes métodos:
En esta sección se describen los protocolos y puertos que AEM Forms necesita en JEE y se ofrecen 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, se requieren 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 al SDK de AEM Forms en JEE cuando se utilizan en el modo de JavaBeans (EJB) de Enterprise |
IMAP / POP3 |
|
E/S de archivo UNC |
Control de AEM Forms en JEE de carpetas controladas para la entrada en un servicio (extremo de carpeta vigilada) |
LDAP |
|
JDBC |
|
WebDAV |
Permite la navegación remota del AEM Forms en el repositorio JEE en tiempo de diseño (formularios, fragmentos, etc.) por cualquier cliente WebDAV |
AMF |
Aplicaciones de Flash de Adobe, donde AEM Forms en los servicios de servidor JEE está configurado con un extremo Remoting |
JMX |
AEM Forms en JEE expone MBeans para monitorear mediante JMX |
Esta sección describe los puertos predeterminados (e intervalos de configuración alternativos) para cada tipo de servidor de aplicaciones admitido. Estos puertos deben habilitarse o deshabilitarse en el servidor de seguridad interno, según la funcionalidad de red que desee permitir a los clientes que se conecten al servidor de aplicaciones que ejecutan AEM Forms en JEE.
De forma predeterminada, el servidor expone varios MBeans de JMX en la Área de nombres adobe.com. Solo se expone la información que resulta útil para la supervisión del estado del servidor. Sin embargo, para evitar la divulgación de información, debe evitar que los usuarios que llaman a una red de confianza busquen MBeans de JMX y accedan a métricas de estado.
Puertos JBoss
Función |
Puerto |
---|---|
Acceso a las aplicaciones Web |
[JBOSS_Root]/standalone/configuration/lc_[base de datos].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 WebLogic
Función |
Puerto |
---|---|
Acceso a las aplicaciones Web |
|
No se requieren puertos de administración WebLogic para acceder a AEM Forms en JEE |
|
Puertos WebSphere
Para obtener información sobre los puertos WebSphere que requiere AEM Forms en JEE, vaya a Configuración del número de puerto en la interfaz de usuario del servidor de aplicaciones WebSphere.
En referencia a la arquitectura física que se describe en la sección AEM Forms sobre la arquitectura física JEE, debe configurar SSL para todas las conexiones que planea utilizar. Específicamente, todas las conexiones 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 a JVM (Máquina virtual Java) configurada para un servidor AEM Forms, consulte la sección Autenticación mutua en 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 aplicaciones y servicios se aplique para utilizar el puerto SSL.
Para configurar el redireccionamiento SSL para 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.
Después del elemento <subsistema xmlns="urn:jpatrón:domain:web:1.1" native="false" default-virtual-server="default-host">, agregue los siguientes detalles:
<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" enabled="true" secure="true" />
Añada el siguiente código en el elemento de conector https:
<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 de Windows cuando se utiliza 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 de sistema local. La cuenta de usuario integrada del sistema local tiene un alto nivel de accesibilidad; 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.
En Microsoft Management Console (MMC), cree un usuario local para que el servicio del servidor de formularios inicie sesión como:
Seleccione Configuración > Herramientas administrativas > Servicios.
Haga clic con el botón doble en el servicio del servidor de aplicaciones y detenga el servicio.
En la ficha Iniciar sesión, seleccione Esta cuenta, busque la cuenta de usuario que ha creado e introduzca la contraseña para la cuenta.
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 formularios:
Asigne a la nueva cuenta de usuario permisos de modificación en los directorios siguientes:
[JBoss root]/server/[type]/svcnative/DocumentStorage
[AEM-Forms-installation-location]\crx-repository
Otorgue a la nueva cuenta de usuario permisos de escritura en los directorios siguientes:
Ubicación de instalación predeterminada del servidor de aplicaciones JBoss:
Inicio del servicio del servidor de aplicaciones.
AEM Forms en JEE utiliza el sistema de archivos de las siguientes maneras:
Cuando utilice carpetas vigiladas como forma de enviar y recibir documentos con un servicio de servidor de formularios, tenga en cuenta las precauciones adicionales relacionadas con la seguridad del sistema de archivos. Cuando un usuario coloca contenido en la carpeta vigilada, este se expone a través de la carpeta vigilada. En este caso, el servicio no autentica al usuario final real. En su lugar, se basa en la seguridad de nivel ACL y Compartir para que se establezca en el nivel de carpeta a fin de determinar quién puede invocar el servicio de forma eficaz.
Esta sección contiene recomendaciones de configuración del servidor de aplicaciones específicas de JBoss 7.0.6 cuando se utiliza para ejecutar AEM Forms en JEE.
El acceso a la consola de administración de JBoss y a la consola JMX ya está configurado (la supervisión de JMX está deshabilitada) al instalar AEM Forms en JEE en JBoss mediante el método de instalación llave en mano. Si utiliza su propio servidor de aplicaciones JBoss, asegúrese de que el acceso a la consola de administración JBoss y a la consola de supervisión JMX esté asegurado. El acceso a la consola de supervisión JMX se establece en el archivo de configuración 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 dirección URL a una de las siguientes direcciones URL, puede aparecer un listado de directorio:
https://<servername>:8080/adminui/secured/
https://<servername>:8080/um/
Esta sección contiene recomendaciones de configuración del servidor de aplicaciones para proteger WebLogic 9.1 al ejecutar AEM Forms en JEE.
Configure las propiedades index-directory 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 de WebLogic Server antes de configurar SSL.
Esta sección contiene recomendaciones de configuración del servidor de aplicaciones para proteger WebSphere que ejecuta AEM Forms en JEE.
Establezca la propiedad directoryBrowsingEnabled
en el archivo ibm-web-ext.xml como false
.