Découvrez divers paramètres de renforcement de la sécurité pour améliorer la sécurité d’AEM Forms on JEE s’exécutant sur un intranet d’entreprise.
L’article fournit des conseils et des pratiques recommandées de sécurisation des serveurs exécutant AEM Forms sur JEE. Il ne vise pas à expliquer de manière exhaustive comment renforcer des hôtes pour votre système d’exploitation et vos serveurs d’applications. Cet article décrit plutôt divers paramètres de renforcement de la sécurité que vous devez implémenter pour améliorer la sécurité de AEM Forms on JEE qui s’exécute dans un intranet d’entreprise. Toutefois, pour que les serveurs d’applications AEM Forms sur JEE restent sécurisés, vous devez également mettre en œuvre des procédures de surveillance, de détection et de réponse de sécurité.
Cet article décrit des techniques de renforcement à appliquer au cours des étapes suivantes, lors du cycle de vie de l’installation et de la configuration :
AEM Forms sur JEE est hautement personnalisable et compatible avec de nombreux environnements. Il est possible que certains des conseils présentés ici ne soient pas directement applicables à votre entreprise.
Avant d’installer AEM Forms sur JEE, vous pouvez appliquer des solutions de sécurité à la couche réseau et au système d’exploitation. Cette section décrit certains problèmes et propose des conseils pour réduire les vulnérabilités de la sécurité correspondantes.
Installation et configuration sous UNIX et Linux
Évitez d’installer ou de configurer AEM Forms sur JEE en utilisant un shell racine. Par défaut, les fichiers sont installés sous le répertoire /opt et l’utilisateur qui effectue l’installation a besoin de disposer de toutes les autorisations de fichier sous /opt. De même, cet utilisateur peut parfaitement exécuter une installation sous un répertoire /user dans lequel il dispose de toutes les autorisations de fichier.
Installation et configuration sous Windows
Sous Windows, il est préférable d’effectuer l’installation en tant qu’administrateur si vous installez AEM Forms sur JEE sur JBoss en utilisant la procédure d’installation clé en main ou si vous installez PDF Generator. Par ailleurs, lorsque vous installez PDF Generator sous Windows avec prise en charge des applications natives, vous devez exécuter l’installation sous la même identité que l’utilisateur Windows ayant installé Microsoft Office. Pour plus d’informations sur les privilèges d’installation, voir le document* Installation et déploiement d’AEM Forms on JEE* correspondant à votre serveur d’applications.
Les vulnérabilités de sécurité réseau comptent parmi les premières menaces qui affectent les serveurs d’applications accessibles par Internet ou par un intranet. Cette section décrit le processus de renforcement des hôtes du réseau contre ces vulnérabilités. Elle traite de la segmentation du réseau, du renforcement de la pile TCP/IP (Transmission Control Protocol/Internet Protocol) et de l’utilisation de pare-feu pour protéger les hôtes.
Le tableau suivant décrit des processus classiques qui permettent de réduire les vulnérabilités de la sécurité réseau :
Problème |
Description |
---|---|
Zones démilitarisées |
Déployez des serveurs de formulaires dans une zone démilitarisée. Une segmentation doit avoir été définie dans au moins deux niveaux avec le serveur d’applications utilisé pour exécuter AEM Forms sur JEE placé derrière le pare-feu interne. Séparez le réseau externe de la zone démilitarisée qui contient les serveurs Web, lesquels doivent par ailleurs être séparés du réseau interne. Utilisez des pare-feu pour implémenter les couches de séparation. Classez et contrôlez le trafic passant par chaque couche réseau pour vous assurer que le minimum absolu de données requises est autorisé. |
Adresses IP privées |
Utilisez le NAT (Network Address Translation) avec les adresses IP privées RFC 1918 sur le serveur d’applications AEM Forms. Attribuez des adresses IP privées (10.0.0.0/8, 172.16.0.0/12 et 192.168.0.0/16) pour rendre plus difficile pour un attaquant d'acheminer le trafic vers et depuis un hôte interne de NAT par Internet. |
Pare-feu |
Utilisez les critères suivants pour choisir une solution de pare-feu :
|
Ports de base de données |
N’utilisez pas les ports d’écoute par défaut pour les bases de données (MySQL - 3306, Oracle - 1521, MS SQL - 1433). Pour plus de détails sur la redéfinition des ports de base de données, reportez-vous à la documentation de votre base de données. L’utilisation d’un port de base de données différent affecte la configuration globale d’AEM Forms sur JEE. Si vous redéfinissez les ports par défaut, vous devez modifier en conséquence la configuration et, notamment, les sources de données d’AEM Forms sur JEE. Pour plus d’informations sur la configuration des sources de données dans AEM Forms on JEE, voir Installation et mise à niveau de AEM Forms on JEE ou Mise à niveau vers AEM Forms on JEE pour votre serveur d’applications à l’adresse AEM Forms user guide. |
Le tableau suivant décrit plusieurs approches utilisables pour réduire au minimum les vulnérabilités de sécurité du système d’exploitation :
Problème |
Description |
---|---|
Correctifs de sécurité |
Le risque de voir un utilisateur non autorisé accéder au serveur d’applications sera d’autant plus important que les correctifs de sécurité et les mises à niveau du revendeur n’auront pas été appliqués en temps utile. Testez les correctifs de sécurité avant de les appliquer sur les serveurs de production. De même, créez des règles et des procédures pour contrôler et installer régulièrement les correctifs. |
Logiciels de protection antivirus |
Les programmes antivirus identifient les fichiers infectés en recherchant des signatures ou en repérant les comportements inhabituels. Ces programmes conservent la signature des virus dans un fichier, qui est généralement stocké sur le disque dur local. De nouveaux virus étant découverts régulièrement, mettez fréquemment à jour ce fichier pour permettre au programme antivirus d’identifier tous les virus actuels. |
NTP (Network Time Protocol) |
Pour les analyses légales, veillez à ce que l’heure des serveurs de fomulaires soit toujours exacte. Utilisez le protocole NTP pour synchroniser l’heure sur tous les systèmes connectés directement à Internet. |
Pour plus d'informations sur la sécurité de votre système d'exploitation, voir "Informations sur la sécurité du système d'exploitation".
Cette section décrit des techniques que vous pouvez utiliser pendant le processus d’installation d’AEM Forms pour réduire les vulnérabilités de sécurité. Dans certains cas, ces techniques utilisent des options qui font partie du processus d’installation. Le tableau suivant décrit ces techniques :
Problème |
Description |
---|---|
Autorisations |
Utilisez le moins de privilèges nécessaires pour installer le logiciel. Connectez-vous à l’ordinateur via un compte qui n’appartient pas au groupe Administrateurs. Sous Windows, vous pouvez utiliser la commande Exécuter pour exécuter le programme d’installation d’AEM Forms sur JEE en tant qu’utilisateur non administrateur. Sous UNIX et Linux, utilisez une commande comme |
Source du logiciel |
Ne téléchargez et n’exécutez pas AEM Forms sur JEE depuis des sources non approuvées. Des programmes malveillants peuvent contenir des codes conçus pour violer la sécurité de multiples façons, par exemple par vol, par modification et suppression de données, ou par déni de service. Installez AEM Forms sur JEE à partir du DVD Adobe ou depuis une source approuvée uniquement. |
Partitions de disques |
Placez AEM Forms sur JEE sur une partition de disque dédiée. La segmentation de disque est un processus qui permet de conserver des données spécifiques sur des disques physiques séparés de votre serveur, pour une sécurité accrue. Le fait d’organiser les données ainsi permet de réduire le risque d’attaques par traversée d’annuaires. Prévoyez de créer une partition distincte de la partition système, dans laquelle vous pouvez installer le répertoire de contenu AEM Forms sur JEE. (sous Windows, la partition système contient le répertoire system32, ou partition racine). |
Composants |
Evaluez les services existants et désactivez ou désinstallez tout service inutile. N’installez pas de composants ou de services dont vous n’avez pas besoin. L’installation par défaut d’un serveur d’applications peut inclure des services dont vous n’avez aucune utilité. Par conséquent, désactivez tous les services inutiles avant de procéder au déploiement, pour réduire ainsi au minimum les possibilités de points d’entrée d’une attaque. Par exemple, sur JBoss, vous pouvez placer en commentaire les services inutiles dans le fichier descripteur META-INF/jboss-service.xml. |
Fichier de stratégie interdomaines |
La présence d’un fichier |
Paramètres de sécurité du système d’exploitation |
Si vous devez utiliser le chiffrement XML 192 bits ou 256 bits sur les plateformes Solaris, veillez à installer |
Une fois AEM Forms sur JEE installé avec succès, il est important que vous assuriez une maintenance régulière de l’environnement pour en optimiser la sécurité.
La section suivante décrit en détail les différentes tâches recommandées pour sécuriser le serveur de formulaires déployé.
Les paramètres recommandés suivants s’appliquent au serveur AEM Forms sur JEE hors de l’application Web administrative. Pour réduire les risques de sécurité du serveur, appliquez ces paramètres immédiatement après avoir installé AEM Forms sur JEE.
Correctifs de sécurité
Le risque de voir un utilisateur non autorisé accéder au serveur d’applications sera d’autant plus important que les correctifs de sécurité et les mises à niveau du revendeur n’auront pas été appliqués en temps utile. Testez les correctifs de sécurité avant de les appliquer aux serveurs de production pour vous assurer de la compatibilité et de la disponibilité des applications De même, créez des règles et des procédures pour contrôler et installer régulièrement les correctifs. Les mises à jour d’AEM Forms sur JEE se trouvent sur le site de téléchargement des produits Enterprise.
Comptes de service (JBoss clé en main sur Windows uniquement)
AEM Forms sur JEE installe un service par défaut en utilisant le compte système local. Le compte utilisateur système local intégré présente un haut niveau d’accessibilité ; il fait partie du groupe Administrateurs. Si une identité de processus de travail est exécutée en tant que compte utilisateur système local, ce processus de travail dispose d’un accès complet à l’ensemble du système.
Pour exécuter le serveur d’applications sur lequel est déployé AEM Forms sur JEE, appliquez les instructions suivantes en utilisant un compte non administratif spécifique :
Dans Microsoft Management Console (MMC), créez un utilisateur local pour que le service de serveur de formulaires se connecte en tant que cet utilisateur local :
vous ne pouvez pas modifier ce paramètre pour PDF Generator.
Sélectionnez Démarrer > Paramètres > Outils d’administration > Services.
Cliquez deux fois sur l’application JBoss pour AEM Forms sur JEE et arrêtez le service.
Sur l’onglet Ouvrir une session, sélectionnez Ce compte, recherchez le compte utilisateur que vous avez créé, puis entrez le mot de passe pour ce compte.
Dans MMC, ouvrez Paramètres de sécurité locaux et sélectionnez Stratégies locales > Attribution de droits utilisateur.
Attribuez les droits suivants au compte utilisateur sous lequel le serveur de formulaires est exécuté :
Attribuez au nouveau compte d’utilisateur les autorisations de modification sur les répertoires suivants :
[JBoss root]/server/[type]/svcnative/DocumentStorage
.[AEM-Forms-installation-location]\crx-repository
Attribuez au nouveau compte d’utilisateur des autorisations d’écriture sur les répertoires suivants :
Emplacement d’installation par défaut de JBoss Application Server :
Démarrez le serveur d’applications.
Désactivation de la servlet d’amorçage de Configuration Manager
Configuration Manager a utilisé une servlet déployée sur votre serveur d’applications pour amorcer la base de données AEM Forms sur JEE. Configuration Manager accédant à cette servlet avant la fin de la configuration, son accès n’a pas été sécurisé pour les utilisateurs autorisés et il convient de le désactiver après avoir utilisé Configuration Manager pour configurer AEM Forms sur JEE.
Décompressez le fichier adobe-livecycle-[appserver].ear.
Ouvrez le fichier META-INF/application.xml.
Recherchez la section 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-->
Arrêtez le serveur AEM Forms.
Placez en commentaire les modules adobe-bootstrapper.war et adobe-lcm-bootstrapper-redirectory. war, comme suit :
<!-- 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-->
Enregistrez et fermez le fichier META-INF/application.xml.
Compressez le fichier EAR et redéployez-le sur le serveur d’applications.
Démarrez le serveur AEM Forms.
Entrez l’URL ci-dessous dans un navigateur pour tester la modification et vous assurer qu’elle ne fonctionne plus.
https://<hôte_local>:<port>/adobe-bootstrapper/bootstrap
Verrouillage de l’accès distant à Trust Store
Configuration Manager vous permet de télécharger des informations d’identification Acrobat Reader DC extensions dans le Trust Store AEM Forms sur JEE. Ceci signifie que l’accès au service d’informations d’identification Trust Store sur les protocoles distants (SOAP et EJB) a été activé par défaut. Cet accès n’est plus nécessaire après avoir téléchargé les informations d’identification des droits à l’aide de Configuration Manager ou si vous décidez d’utiliser Administration Console ultérieurement pour gérer les informations d’identification.
Vous pouvez désactiver l’accès distant à tous les services Trust Store en procédant comme indiqué dans la section Désactivation des accès distants non indispensables à des services.
Désactivation de tous les accès anonymes non indispensables
Certains services du serveur de formulaires comportent des opérations qu’un appelant anonyme peut appeler. Si l’accès anonyme à ces services n’est pas obligatoire, désactivez-le en suivant les étapes de Désactivation des accès anonymes non indispensables à des services.
Lorsqu’AEM Forms sur JEE est installé, un compte utilisateur par défaut unique est configuré pour l’utilisateur Super administrateur/Administrateur à ID de connexion avec un mot de passe par défaut, password. Modifiez immédiatement ce mot de passe à l’aide de Configuration Manager.
Saisissez l’URL suivante dans un navigateur Web :
https://[host name]:[port]/adminui
Le numéro de port par défaut est l’un des numéros suivants :
JBoss : 8080
WebLogic Server : 7001
WebSphere : 9080.
Dans le champ Nom d’utilisateur, saisissez administrator
et dans le champ Mot de passe, saisissez password
.
Cliquez sur Paramètres >User Management > Utilisateurs et groupes.
Saisissez administrator
dans le champ Rechercher, puis cliquez sur Rechercher.
Cliquez sur Super Administrateur dans la liste des utilisateurs.
Cliquez sur Changer de mot de passe dans la page Modifier l’utilisateur.
Indiquez le nouveau mot de passe et cliquez sur Enregistrer.
En outre, il est recommandé de modifier le mot de passe par défaut de l’administrateur CRX en procédant comme suit :
https://[server]:[port]/lc/libs/granite/security/content/useradmin.html
en utilisant le nom d’utilisateur/mot de passe par défaut.La génération Web Service Definition Language (WSDL) doit être activée uniquement pour les environnements de développement dans lesquels les développeurs font appel à la génération WSDL pour créer leurs applications clientes. Vous pouvez choisir de désactiver la génération WSDL dans un environnement de production pour éviter d’exposer les détails internes d’un service.
Saisissez l’URL suivante dans un navigateur Web :
https://[host name]:[port]/adminui
Cliquez sur Paramètres > Paramètres de Core System > Configurations de base.
Désélectionnez Activer WSDL et cliquez sur OK.
Le tableau suivant décrit certaines techniques qui permettent de sécuriser votre serveur d’applications une fois l’application AEM Forms sur JEE installée.
Problème |
Description |
---|---|
Consoles d’administration de serveur d’applications |
Après avoir installé, configuré et déployé AEM Forms sur JEE sur votre serveur d’applications, désactivez l’accès aux consoles d’administration de serveur d’applications. Pour plus de détails, reportez-vous à la documentation de votre serveur d’applications. |
Paramétrage des cookies pour le serveur d’applications |
Les cookies des applications sont contrôlés par le serveur d’applications. Lorsqu’il déploie l’application, l’administrateur du serveur d’applications peut spécifier des préférences concernant les cookies, soit à l’échelle du serveur, soit pour des applications spécifiques. Par défaut, les paramètres définis à l’échelle du serveur sont prioritaires. Tous les cookies de session générés par votre serveur d’applications devraient inclure l’attribut Vous pouvez limiter l’envoi de cookies au moyen de HTTPS uniquement. En conséquence, les cookies ne sont pas envoyés non codés sur HTTP. Il est conseillé aux administrateurs de serveurs d’applications d’autoriser les cookies sûrs à l’échelle du serveur. Par exemple, si vous utilisez JBoss Application Server, vous pouvez redéfinir l’élément connecteur sur Reportez-vous à la documentation de votre serveur d’applications pour plus d’informations sur les paramètres des cookies. |
Exploration des répertoires |
Lorsqu’un utilisateur demande une page qui n’existe pas ou le nom d’un directeur (la chaîne de demande se termine par une barre oblique (/)), le serveur d’applications ne devrait pas renvoyer le contenu de ce répertoire. Pour éviter cela, vous pouvez désactiver la capacité d’exploration des répertoires sur votre serveur d’applications. Vous devriez effectuer cette action pour l’application Administration Console, et pour les autres applications exécutées sur votre serveur. Pour JBoss, définissez la valeur du paramètre d’initialisation des listes de la propriété <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> Pour WebSphere, définissez la propriété Pour WebLogic, définissez les propriétés index-directories du fichier weblogic.xml sur <container-descriptor> <index-directory-enabled>false </index-directory-enabled> </container-descriptor> |
Lorsque vous sécurisez votre base de données, implémentez les mesures indiquées par le revendeur de votre base de données. Attribuez à l’utilisateur de la base de données le nombre minimum d’autorisations requises sur cette base de données pour permettre l’utilisation avec AEM Forms sur JEE. Par exemple, n’utilisez pas de compte avec des autorisations d’administrateur de base de données.
Sur Oracle, le compte de base de données que vous utilisez nécessite uniquement les droits CONNECT, RESOURCE et CREATE VIEW. Pour connaître les exigences des autres bases de données, voir Préparation à l’installation d’AEM Forms sur JEE (serveur unique).
Modifiez [JBOSS_HOME]\standalone\configuration\lc_{datasource.xml} pour ajouter integratedSecurity=true
à l’URL de connexion, comme indiqué dans cet exemple :
jdbc:sqlserver://<serverhost>:<port>;databaseName=<dbname>;integratedSecurity=true
Ajoutez le fichier sqljdbc_auth.dll au chemin d’accès du système Windows sur l’ordinateur exécutant le serveur d’applications. Le fichier sqljdbc_auth.dll se trouve avec les fichiers d’installation du pilote Microsoft SQL JDBC 6.2.1.0.
Modifiez la propriété du service Windows JBoss (JBoss pour AEM Forms sur JEE) pour Ouvrir une session en tant que dans le Système local pour un compte utilisateur disposant d’une base de données AEM Forms et d’un ensemble minimum de droits. Si vous exécutez JBoss à partir de la ligne de commande plutôt que comme un service Windows, ignorez cette étape.
Faites passer la sécurité de SQL Server du mode Mixte au mode Authentification Windows.
Début de WebLogic Server Administration Console en saisissant l’URL suivante dans la ligne d’adresse d’un navigateur Web :
https://[host name]:7001/console
Sous Change Center, cliquez sur Lock & Edit.
Sous Domain Structure, cliquez sur [base_domain] > Services > JDBC > Sources de données et, dans le volet de droite, cliquez sur IDP_DS.
Dans l’écran suivant, dans l’onglet Configuration, cliquez sur l’onglet Connection Pool et, dans la zone Properties, saisissez integratedSecurity=true
.
Sous Domain Structure, cliquez sur [base_domain] > Services > JDBC > Sources de données et, dans le volet de droite, cliquez sur RM_DS.
Dans l’écran suivant, dans l’onglet Configuration, cliquez sur l’onglet Connection Pool et, dans la zone Properties, saisissez integratedSecurity=true
.
Ajoutez le fichier sqljdbc_auth.dll au chemin d’accès du système Windows sur l’ordinateur exécutant le serveur d’applications. Le fichier sqljdbc_auth.dll se trouve avec les fichiers d’installation du pilote Microsoft SQL JDBC 6.2.1.0.
Faites passer la sécurité de SQL Server du mode Mixte au mode Authentification Windows.
Sur WebSphere, vous pouvez configurer la sécurité intégrée uniquement lorsque vous utilisez un pilote JDBC SQL Server externe et non le pilote JDBC SQL Server incorporé avec WebSphere.
integratedSecurity
et, dans la zone Value, saisissez true
.integratedSecurity
et, dans la zone Value, saisissez true
.Le schéma de la base de données AEM Forms contient des informations sensibles relatives à la configuration du système et aux processus de l’entreprise et doit être protégé par un pare-feu. La base de données doit être considérée comme faisant partie de la même zone de confiance que le serveur de formulaires. Pour éviter tout risque de divulgation d’informations et de vol de données d’entreprise, la base de données doit être configurée par l’administrateur de base de données (DBA) pour donner l’accès aux administrateurs autorisés uniquement.
Pour une sécurité accrue, prévoyez d’utiliser des outils spécifiques au revendeur de votre base de données pour chiffrer les colonnes des tableaux contenant les données suivantes :
Pour plus d'informations sur les outils spécifiques au fournisseur, voir "Informations de sécurité de base de données".
En règle générale, un répertoire LDAP (Lightweight Directory Access Protocol) est utilisé par AEM Forms sur JEE comme une source d’informations relatives aux utilisateurs et aux groupes de l’entreprise et comme un moyen d’authentifier les mots de passe. Assurez-vous que votre répertoire LDAP est configuré pour utiliser le protocole SSL (Secure Socket Layer) et qu’AEM Forms sur JEE est configuré pour accéder à votre répertoire LDAP en utilisant son port SSL.
Une attaque courante utilisant LDAP consiste, pour un attaquant, à omettre délibérément de s’authentifier à plusieurs reprises. Ceci oblige le serveur d’annuaires LDAP à interdire à un utilisateur l’accès à tous les services dépendant de LDAP.
Vous pouvez définir le nombre de tentatives d’authentification maximum autorisé et la durée du verrouillage appliqué par AEM Forms lorsqu’un utilisateur échoue de manière répétée à s’authentifier auprès dAEM Forms. Dans Administration Console, choisissez des valeurs faibles. Lors de la sélection du nombre d’échecs d’authentification maximum autorisé, il est important de comprendre que si toutes les tentatives échouent, AEM Forms verrouille l’utilisateur avant que le serveur d’annuaire LDAP ne le fasse.
L’utilisation appropriée et sécurisée des capacités de contrôle et de consignation des applications peut contribuer au suivi et à la détection rapides des événements liés à la sécurité et autres anomalies. L’utilisation efficace des capacités de contrôle et de consignation dans une application inclut des points comme le suivi des connexions réussies et échouées, de même que les événements clés de l’application comme la création ou la suppression d’enregistrements clés.
Vous pouvez utiliser les capacités de contrôle pour détecter de nombreux types d’attaques, parmi lesquels :
Ce tableau décrit les techniques de contrôle et de consignation que vous pouvez utiliser pour limiter les vulnérabilités du serveur.
Problème |
Description |
---|---|
Listes de contrôle d’accès de fichier journal |
Définissez des liste de contrôle d’accès (ACL) de fichier journal AEM Forms sur JEE appropriées. Définir des informations d’identification appropriées contribue à empêcher les attaquants de supprimer les fichiers. Les autorisations de sécurité sur le répertoire des fichiers journaux doivent être de type « contrôle complet » pour les Administrateurs et les groupes SYSTEM. Seules les autorisations de lecture et d’écriture doivent être attribuées au compte utilisateur AEM Forms. |
Fichiers journaux redondants |
Si les ressources le permettent, envoyez en temps réel des journaux à un autre serveur inaccessible pour l’attaquant (en lecture seule) en utilisant Syslog, Tivoli, Microsoft Operations Manager (MOM) Server ou tout autre mécanisme équivalent. En protégeant les journaux de cette manière, vous réduisez le risque de falsification. Par ailleurs, le fait de stocker les journaux dans un référentiel central facilite les processus de corrélation et de surveillance (par exemple, si plusieurs serveurs de formulaires sont en cours d’utilisation et qu’une attaque par recherche de mot de passe a lieu sur plusieurs ordinateurs, un mot de passe étant demandé à chaque ordinateur). |
Vous pouvez permettre à un utilisateur non administrateur d’utiliser PDF Generator. Normalement, seuls les utilisateurs disposant de droits d’administrateur peuvent utiliser PDF Generator. Effectuez les étapes suivantes pour permettre à un utilisateur non administrateur d’exécuter PDF Generator :
Création d’un nom de variable d’environnement PDFG_NON_ADMIN_ENABLED.
Définissez la valeur de la variable à TRUE.
Redémarrez l’instance AEM Forms.
Une fois AEM Forms sur JEE installé avec succès, il est important que vous assuriez une maintenance régulière de la sécurité de votre environnement. Cette section décrit les tâches recommandées pour assurer la maintenance de la sécurité du serveur de production AEM Forms sur JEE.
Un proxy inverse peut être utilisé pour garantir qu’un jeu d’URL d’applications AEM Forms sur JEE est disponible à la fois pour des utilisateurs externes et internes. Cette configuration est plus sûre que si vous autorisiez des utilisateurs à se connecter directement au serveur d’applications sur lequel est exécuté AEM Forms sur JEE. Le proxy inverse exécute toutes les requêtes HTTP pour le serveur d’applications qui exécute AEM Forms sur JEE. Les utilisateurs disposent d’un accès réseau limité au seul proxy inverse et ne peuvent se connecter qu’aux URL prises en charge par le proxy inverse.
URL racine AEM Forms on JEE à utiliser avec un serveur proxy inverse
Les URL suivantes sont les URL racine de chaque application Web AEM Forms sur JEE. Configurez votre proxy inverse pour qu’il n’expose que les URL de fonctionnalités d’applications Web dont vous souhaitez autoriser l’accès aux utilisateurs finaux.
Certaines URL sont présentées comme des applications Web accessibles par les utilisateurs finaux. Evitez d’exposer d’autres URL Configuration Manager pour l’accès à des utilisateurs externes via le proxy inverse.
URL racine |
Objectif et/ou application Web associée |
Interface Web |
Accès utilisateurs finaux |
---|---|---|---|
/ReaderExtensions/* |
Application Web d’utilisateur final d'Acrobat Reader DC extensions pour appliquer des droits d’utilisation à des documents PDF. |
Oui |
Oui |
/edc/* |
Application Web d’utilisateur final Rights Management. |
Oui |
Oui |
/edcws/* |
URL du service Web de Rights Management. |
Non |
Oui |
/pdfgui/* |
Application Web d’administration de PDF Generator. |
Oui |
Oui |
/un espace de travail/* |
Application Web d’utilisateur final Workspace. |
Oui |
Oui |
/workspace-server/* |
Servlets et services de données Workspace requis par l’application cliente Workspace. |
Oui |
Oui |
/adobe-bootstrapper/* |
Servlet d’amorçage du référentiel AEM Forms sur JEE |
Non |
Non |
/soap/* |
Page d’informations pour les services Web du serveur de formulaires. |
Non |
Non |
/soap/services/* |
URL de service Web de tous les services de serveur de formulaires. |
Non |
Non |
/edc/admin/* |
Application Web d’administration Rights Management. |
Oui |
Non |
/adminui/* |
Page d'accueil Administration Console |
Oui |
Non |
/TruststoreComponent/ secured/* |
Pages d’administration de Trust Store Management |
Oui |
Non |
/FormsIVS/* |
Application Forms IVS pour tester et déboguer le rendu de formulaire. |
Oui |
Non |
/OutputIVS/* |
Application Output IVS pour tester et déboguer le service de sortie |
Oui |
Non |
/rmws/* |
URL REST pour Rights Management |
Non |
Oui |
/OutputAdmin/* |
Pages d’administration de Output |
Oui |
Non |
/FormServer/* |
Fichiers de l’application Web de Forms |
Oui |
Non |
/FormServer/GetImage Servlet |
Utilisée pour extraire du code JavaScript lors de transformations HTML |
Non |
Non |
/FormServerAdmin/* |
Pages d’administration de Forms |
Oui |
Non |
/repository/* |
URL d’accès à WebDAV (débogage) |
Oui |
Non |
/AACComponent/* |
Interface utilisateur des applications et services |
Oui |
Non |
/WorkspaceAdmin/* |
Pages d’administration de Workspace |
Oui |
Non |
/rest/* |
Pages de support de Rest |
Oui |
Non |
/CoreSystemConfig/* |
Page des paramètres de configuration de base d’AEM Forms sur JEE |
Oui |
Non |
/um/ |
Authentification User Management |
Non |
Oui |
/um/* |
Interface d’administration de User Management |
Oui |
Non |
/DocumentManager/* |
Téléchargement des documents à traiter lors de l’accès à des points de fin Remoting et SOAP WSDL et au JDK Java à l’aide du transport SOAP ou EJB avec activation des documents HTTP. |
Oui |
Oui |
Une attaque multisite par usurpation de requête (CSRF) exploite la confiance qu'un site Web a pour l'utilisateur, afin de transmettre des commandes non autorisées et involontaires par l'utilisateur. L'attaque est configurée en incluant un lien ou un script dans une page Web, ou une URL dans un message électronique, pour accéder à un autre site sur lequel l'utilisateur a déjà été authentifié.
Par exemple, vous pouvez être connecté à Administration Console tout en parcourant un autre site Web. L’une des pages Web peut inclure une balise d’image HTML avec un attribut src
visant un script côté serveur sur le site Web de la victime. En exploitant le mécanisme d’authentification de session basé sur les cookies, le site Web attaquant peut envoyer des requêtes malveillantes au script côté serveur ciblé en les faisant passer pour les requêtes de l’utilisateur autorisé. Pour plus d’exemples, voir https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)#Examples.
Les caractéristiques suivantes sont communes aux cas de CSRF :
AEM Forms on JEE utilise la fonction Filtre de Parrain pour bloquer les attaques CSRF. Les termes suivants sont utilisés dans cette section pour décrire le mécanisme de filtrage des Parrains :
Le processus de filtrage des Parrains peut être décrit comme suit :
Le serveur Forms vérifie la méthode HTTP utilisée pour l’appel :
Le serveur Forms vérifie si l’URI requis existe dans la liste autorisée :
S’il existe un Parrain dans la requête, le serveur vérifie s’il s’agit d’un Parrain autorisé. S’il est autorisé, le serveur recherche une exception de Parrain :
S’il n’y a aucun Parrain dans la requête, le serveur vérifie si un Parrain Null est autorisé :
AEM Forms on JEE fournit un filtre de Parrain pour spécifier les Parrains autorisés à accéder aux ressources de votre serveur. Par défaut, le filtre de Parrain ne filtre pas les requêtes qui utilisent une méthode HTTP sécurisée, par exemple le GET, sauf si CSRF_CHECK_GETS est défini sur true. Si le numéro de port d’une entrée de Parrain autorisée est défini sur 0, AEM Forms on JEE autorise toutes les requêtes avec Parrain de cet hôte, quel que soit le numéro de port. Si aucun numéro de port n’est spécifié, seules les requêtes provenant du port par défaut 80 (HTTP) ou du port 443 (HTTPS) sont autorisées. Le filtrage de parrain est désactivé si toutes les entrées de la liste de Parrain autorisée sont supprimées.
Lors de la première installation de Document Services, la liste de Parrain autorisée est mise à jour avec l’adresse du serveur sur lequel Document Services est installé. Les entrées pour le serveur comprennent le nom du serveur, l’adresse IPv4, l’adresse IPv6 si le protocole IPv6 est activé, l’adresse de bouclage et une entrée localhost. Les noms ajoutés à la liste de Parrain autorisée sont renvoyés par le système d’exploitation hôte. Par exemple, un serveur dont l’adresse IP est 10.40.54.187 comprend les entrées suivantes : https://server-name:0, https://10.40.54.187:0, https://127.0.0.1:0, http://localhost:0
. Pour tout nom non qualifié renvoyé par le système d’exploitation hôte (noms sans adresse IPv4, adresse IPv6 ou nom de domaine qualifié), la liste autorisée n’est pas mise à jour. Modifiez la liste de Parrain autorisée en fonction de votre environnement d’entreprise. Ne déployez pas le serveur Forms dans l’environnement de production avec la liste de Parrain autorisée par défaut. Après avoir modifié l’un des Parrains, Parrains Exceptions ou URI autorisés, veillez à redémarrer le serveur pour que les modifications prennent effet.
Gestion des listes de Parrain autorisées
Vous pouvez gérer la liste de Parrain autorisée à partir de l'interface User Management d'Administration Console. L’interface User Management offre des fonctionnalités pour créer, éditer ou supprimer la liste. Consultez la section * Prévention des attaques CSRF* de l'aide à l'administration pour plus d'informations sur l'utilisation de la liste de Parrain autorisée.
Gestion des exceptions aux Parrains autorisés et des listes URI autorisées
AEM Forms on JEE fournit des API pour gérer la liste d’exception Parrain autorisé et la liste URI autorisée. Vous pouvez utiliser ces API pour récupérer, créer, éditer ou supprimer la liste. Voici la liste des API disponibles :
Pour plus d’informations sur les API, voir le Guide de référence des API d’AEM Forms on JEE*.
Utilisez la liste LC_GLOBAL_ALLOWED_REFERER_EXCEPTION pour les exceptions aux Parrains autorisés au niveau global, c'est-à-dire pour définir des exceptions applicables à toutes les applications. Cette liste contient uniquement des URI avec un chemin absolu (par ex. /index.html
) ou un chemin relatif (par ex. /sample/
). Vous pouvez également ajouter une expression régulière à la fin d’un URI relatif, par ex. /sample/(.)*
.
L’ID de liste LC_GLOBAL_ALLOWED_REFERER_EXCEPTION est définie comme une constante dans la classe UMConstants
de l’espace de noms com.adobe.idp.um.api
, figurant dans adobe-usermanager-client.jar
. Vous pouvez utiliser les API AEM Forms pour créer, modifier ou éditer cette liste. Par exemple, pour créer la liste globale des exceptions aux Parrains autorisés, utilisez :
addAllowedRefererExceptions(UMConstants.LC_GLOBAL_ALLOWED_REFERER_EXCEPTION, Arrays.asList("/index.html", "/sample/(.)*"))
Utilisez la liste CSRF_ALLOWED_REFERER_EXCEPTIONS pour les exceptions spécifiques à une application.
Désactivation du filtre de Parrain
Dans le événement où le filtre de Parrain bloque complètement l’accès au serveur Forms et que vous ne pouvez pas modifier la liste de Parrain autorisée, vous pouvez mettre à jour le script de démarrage du serveur et désactiver le filtrage de Parrain.
Incluez l’argument JAVA -Dlc.um.csrffilter.disabled=true
dans le script de démarrage et redémarrez le serveur. Assurez-vous de supprimer l’argument JAVA après avoir correctement reconfiguré la liste de Parrain autorisée.
Filtrage des parrains pour les fichiers WAR personnalisés
Vous avez peut-être créé des fichiers WAR personnalisés afin de travailler avec AEM Forms sur JEE pour répondre aux besoins de l’activité. Pour activer le filtrage de Parrain pour vos fichiers WAR personnalisés, incluez adobe-usermanager-client.jar dans le chemin de classe de WAR et incluez une entrée de filtre dans le fichier* web.xml* avec les paramètres suivants :
CSRF_CHECK_ GETScontrôle la vérification du Parrain sur les demandes de GET. Si ce paramètre n’est pas défini, la valeur par défaut est définie sur false. Incluez ce paramètre uniquement si vous souhaitez filtrer vos requêtes GET.
CSRF_ALLOWED_REFERER_ EXCEPTIONSest l’identifiant de la liste des exceptions aux Parrains autorisés. Le filtre de Parrain empêche les requêtes provenant de Parrains de la liste identifiés par l’ID de liste d’appeler toute ressource sur le serveur Forms.
CSRF_ALLOWED_URIS_LIST_NAME est l’ID de la liste des URI autorisés. Le filtre de Parrain ne bloque aucune requête pour les ressources de la liste identifiées par l’identifiant de liste, quelle que soit la valeur de l’en-tête de Parrain dans la requête.
CSRF_ALLOW_NULL_ REFERERcontrôle le comportement du filtre de Parrain lorsque le Parrain est nul ou non présent. Si ce paramètre n’est pas défini, la valeur par défaut est définie sur false. N'incluez ce paramètre que si vous souhaitez autoriser les Parrains nuls. L’autorisation de parrains nuls peut autoriser certains types d’attaques multisites par usurpation de requête.
CSRF_NULL_REFERER_ EXCEPTIONSest une liste des URI pour lesquels une vérification de Parrain n’est pas effectuée lorsque le Parrain est nul. Ce paramètre est activé uniquement lorsque la variable CSRF_ALLOW_NULL_REFERER est définie sur false. Séparez les URI de la liste à l’aide de virgules.
Voici un exemple de l’entrée de filtre dans le fichier web.xml pour un exemple de dossier 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>
Résolution des incidents
Si des requêtes serveur légitimes sont bloquées par le filtre CSRF, essayez l’une des méthodes suivantes :
Cette section décrit les protocoles et les ports requis par AEM Forms sur JEE et fournit des recommandations pour déployer AEM Forms sur JEE dans une configuration réseau sécurisée.
Lorsque vous configurez une architecture réseau sécurisée comme décrit dans la section précédente, les protocoles réseau suivants sont requis pour l’interaction entre AEM Forms sur JEE et d’autres systèmes dans le réseau de votre entreprise.
Protocole |
Utilisation |
---|---|
HTTP |
|
SOAP |
|
RMI |
Appels SDK AEM Forms sur JEE en mode Enterprise JavaBeans (EJB) |
IMAP / POP3 |
|
UNC File IO |
Surveillance d’AEM Forms sur JEE des dossiers de contrôle pour l’entrée dans un service (point de fin de dossier de contrôle) |
LDAP |
|
JDBC |
|
WebDAV |
Permet la navigation à distance dans le référentiel de conception AEM Forms sur JEE (formulaires, fragments, etc.) par tout client WebDAV. |
AMF |
Applications Adobe Flash, dans lesquelles les services de serveur AEM Forms sur JEE sont configurés avec un point de fin Remoting. |
JMX |
AEM Forms sur JEE expose les MBeans pour le contrôle avec JMX. |
Cette section décrit les ports par défaut (et les plages de configurations alternatives) pour chaque type de serveur d’applications pris en charge. Ces ports doivent être activés ou désactivés sur le pare-feu interne, selon la fonctionnalité réseau que vous souhaitez autoriser aux clients qui se connectent au serveur d’applications qui exécute AEM Forms sur JEE.
par défaut, le serveur expose plusieurs MBeans JMX sous l’espace de nom adobe.com. Seules les informations utiles à la surveillance de la santé du serveur sont exposées. Toutefois, pour éviter toute divulgation d’informations, interdisez aux appelants dans un réseau non approuvé de rechercher les MBean JMX et d’accéder aux mesures de santé.
Ports JBoss
Objectif |
Port |
---|---|
Accès aux applications Web |
[racine_JBOSS]/standalone/configuration/lc_[base de données].xml Port HTTP/1.1 Connector 8080 Port AJP 1.3 Connector 8009 Port SSL/TLS Connector 8443 |
Prise en charge de CORBA |
[racine JBoss]/server/all/conf/jacorb.properties OAPort 3528 OASSLPort 3529 |
Ports WebLogic
Objectif |
Port |
---|---|
Accès aux applications Web |
|
Ports d’administration WebLogic non requis pour l’accès à AEM Forms sur JEE |
|
**Ports WebSphere **
Pour plus d’informations sur les ports WebSphere requis par AEM Forms on JEE, voir Paramètres de numéro de port dans l’interface utilisateur de WebSphere Application Server.
En vous référant à l’architecture physique décrite dans la section Architecture physique d’AEM Forms on JEE, vous devez configurer SSL pour toutes les connexions que vous prévoyez d’utiliser. Spécifiquement, toutes les connexions SOAP doivent être établies via SSL pour empêcher que les informations d’identification des utilisateurs soient exposées sur un réseau.
Pour obtenir des instructions sur la manière de configurer SSL sur JBoss, WebLogic et WebSphere, voir Configuration de SSL, dans l’aide à l’administration.
Pour savoir comment importer des certificats dans la JVM (Java Virtual Machine) configurée pour un serveur AEM Forms, voir la section Authentification mutuelle dans Aide de AEM Forms Workbench.
Après avoir configuré votre serveur d’applications pour qu’il prenne en charge SSL, vous devez vous assurer que l’ensemble du trafic HTTP vers les applications et les services utilise le port SSL.
Pour configurer la redirection SSL pour WebSphere et WebLogic, reportez-vous à la documentation de votre serveur d’applications.
Ouvrez l’invite de commande, accédez au répertoire /JBOSS_HOME/standalone/configuration, puis exécutez la commande suivante :
keytool -genkey -alias jboss7 -keyalg RSA -keystore server.keystore -validity 10950
Ouvrez le fichier JBOSS_HOME/standalone/configuration/standalone.xml pour le modifier.
Après l’élément <sous-système xmlns="urn:jboss:domain:web:1.1" native="false" default-virtual-server="default-host">, ajoutez les détails suivants :
<connector name="https" protocol="HTTP/1.1" scheme="https" socket-binding="https" enabled="true" secure="true" />
Ajoutez le code suivant dans l’élément connecteur 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>
Enregistrez et fermez le fichier standalone.xml.
Cette section contient des recommandations de sécurité spécifiques à Windows dans le cadre de l'exécution d'AEM Forms sur JEE.
L’installation clé en main d’AEM Forms sur JEE installe un compte de service par défaut en utilisant le compte système local. Le compte utilisateur système local intégré présente un haut niveau d’accessibilité ; il fait partie du groupe Administrateurs. Si une identité de processus de travail est exécutée en tant que compte utilisateur système local, ce processus de travail dispose d’un accès complet à l’ensemble du système.
Dans Microsoft Management Console (MMC), créez un utilisateur local pour que le service de serveur de formulaires se connecte en tant que cet utilisateur local :
Sélectionnez Paramètres > Outils d’administration > Services.
Cliquez deux fois sur le service de serveur d’applications et arrêtez ce service.
Sur l’onglet Ouvrir une session, sélectionnez Ce compte, recherchez le compte utilisateur que vous avez créé, puis entrez le mot de passe pour ce compte.
Dans la fenêtre Paramètres de sécurité locaux, sous Attribution des droits utilisateur, attribuez les droits suivants au compte utilisateur sous lequel est exécuté le serveur de formulaires :
Attribuez au nouveau compte d’utilisateur les autorisations de modification sur les répertoires suivants :
[JBoss root]/server/[type]/svcnative/DocumentStorage
.[AEM-Forms-installation-location]\crx-repository
Attribuez au nouveau compte d’utilisateur des autorisations d’écriture sur les répertoires suivants :
Emplacement d’installation par défaut de JBoss Application Server :
Démarrez le service de serveur d’applications.
AEM Forms sur JEE utilise le système de fichiers comme suit :
Lorsque vous utilisez des dossiers de contrôle comme moyen d’envoyer et de recevoir des documents avec un service de serveur de formulaires, soyez très prudent quant à la sécurité du système de fichiers. Lorsqu’un utilisateur dépose des contenus dans le dossier de contrôle, ces contenus sont exposés via le dossier de contrôle. Dès lors, le service n’authentifie pas l’utilisateur final réel. Au lieu de cela, il considère que la sécurité par liste de contrôle d’accès et par niveau de dossier a été définie au niveau des dossiers pour déterminer qui peut effectivement appeler le service.
Cette section présente des recommandations relatives à la configuration du serveur d’applications et spécifiques à JBoss 7.0.6 lorsqu’il est utilisé pour exécuter AEM Forms on JEE.
L’accès à la console de gestion JBoss et à la console JMX est déjà configuré (la surveillance JMX est désactivée) lorsque vous installez AEM Forms sur JEE sur Jboss en appliquant la méthode d’installation clé en main. Si vous utilisez votre propre serveur d’applications JBoss, assurez-vous que l’accès à la console de gestion JBoss et à la console de surveillance JMX est sécurisé. L’accès à la console de surveillance JMX est défini dans le fichier de configuration de JBoss appelé jmx-invoker-service.xml.
Après vous être connecté à Administration Console, vous pouvez parcourir la liste des répertoires de la console en modifiant l’URL. Par exemple, si vous modifiez l’URL pour l’une de ces adresses, une liste de répertoires s’affiche :
https://<servername>:8080/adminui/secured/
https://<servername>:8080/um/
Cette section présente des recommandations relatives à la configuration du serveur d’applications et spécifiques à WebLogic9.1 lorsque celui-ci est utilisé pour exécuter AEM Forms sur JEE.
Définissez les propriétés index-directories du fichier weblogic.xml sur false
, comme illustré dans l’exemple suivant :
<container-descriptor>
<index-directory-enabled>false
</index-directory-enabled>
</container-descriptor>
Par défaut, WebLogic n’active pas le port d’écoute SSL par défaut, 7002. Activez ce port dans le serveur WebLogic Server Administration Console avant de configurer SSL.
Cette section présente des recommandations relatives à la configuration du serveur d’applications pour sécuriser Websphere exécutant AEM Forms sur JEE.
Définissez la propriété directoryBrowsingEnabled
du fichier ibm-web-ext.xml sur false
.