CSA : sécurité, mots de passe, LDAP, SSL, SSO, XSS et FIPS (Sur site uniquement)

ccppmop157
Utilisez l'outil d'administration système de CA PPM (CSA) pour gérer la sécurité, définir les mots de passe du serveur de base de données, activer le protocole SSL, effectuer l'intégration avec des serveurs LDAP, configurer l'authentification unique, activer FIPS et gérer les URL externes.
2
Gestion des mots de passe du serveur de la base de données
Utilisez un mot de passe de serveur pour sécurisé chaque serveur. Si le serveur se trouve dans un cluster, le mot de passe du serveur n'octroie pas d'accès aux autres serveurs dans le cluster.
Pour réduire le risque d'accès non autorisés, modifiez régulièrement le mot de passe sur chaque serveur.
  1. Changez le mot de passe pour ce serveur de base de données. Pour plus d'informations, consultez la documentation de votre base de données tierce.
  2. Changez le mot de passe de CSA.
  3. Redémarrez les services après avoir changé le mot de passe du serveur de base de données.
Chiffrement des mots de passe de serveur
Pour protéger un fichier de mot de passe de serveur, vous pouvez le chiffrer. Vous pouvez activer le chiffrement AES des mots de passe de serveur via le fichier
properties.xml
. Cette méthode de chiffrement nécessite l'utilisation d'un mot de passe distinct (clé) lors du chiffrement des mots de passe dans le fichier
properties.xml
. Veillez à garder cette clé non chiffrée sécurisée.
L'avantage d'utiliser le chiffrement côté serveur est que vous devez sécuriser une seule clé, qui est stockée dans un fichier accessible par le serveur. La clé est uniquement requise au démarrage du serveur. Après avoir lancé
Clarity PPM
, vous pouvez améliorer la sécurisation du fichier de clé au moyen d'une autre couche de chiffrement. Si le fichier réside sur un stockage amovible, vous pouvez le détacher et le verrouiller dans un endroit sûr.
Lorsque vous activez le chiffrement des mots de passe de serveur, les mots de passe en texte clair contenus dans le fichier
properties.xml
sont automatiquement chiffrés lors du prochain accès de
Clarity PPM
au fichier. Si vous activez le chiffrement et que vous modifiez directement le fichier
properties.xml
, vous pouvez saisir des mots de passe en texte clair. Les mots de passe en texte clair sont alors chiffrés lors du prochain accès au fichier, par exemple dans le cadre du déploiement ou du démarrage d'un service.
Pour chiffrer les mots de passe de serveur, créez un fichier clé valide qui est accessible sur le serveur et qui contient le fichier de propriétés. Chaque serveur doit avoir accès au fichier clé (sur le réseau) ou à une copie de ce dernier (sur le disque local du serveur).
Procédez comme suit :
  1. Connectez-vous à l'outil d'administration du système.
  2. Cliquez sur
    Accueil
    , puis sur
    Serveurs
    .
  3. Cliquez sur le nom du serveur.
  4. Cliquez sur l'onglet
    Sécurité
    .
  5. Choisissez une option et cliquez sur
    Enregistrer
    .
    • Pour activer le chiffrement à l'aide d'une clé système, sélectionnez
      Utilisation de la clé système
      dans le champ
      Chiffrer les mots de passe
      . Cette option utilise une clé codée en dur fournie avec le produit. Cette option est la moins sécurisée des deux options. Si la clé d'une installation CA PPM devient connue, la clé de toutes les installations le sera également. Cela permet de décourager les observateurs occasionnels. Les employés qui consultent la clé système en toute innocence ne peuvent visualiser aucun mot de passe. Toutefois, si un intrus tente volontairement d'accéder au système et a déjà accès aux fichiers sur le serveur, il peut probablement déchiffrer les mots de passe.
    • Pour activer le chiffrement à l'aide d'un fichier de clé personnalisé, sélectionnez
      Utilisation du fichier de clé personnalisé
      . Entrez ensuite le chemin complet ainsi que le nom de votre fichier de clé personnalisé dans le champ
      Fichier de clé
      . Cette option nécessite que vous créiez un fichier clé et le rendiez accessible à tous les serveurs exécutant
      Clarity PPM
      . Le fichier clé est correctement sécurisé, un intrus serait donc confronté à la tâche pratiquement impossible de déchiffrer les mots de passe sans clé.
      Si vous chiffrez des mots de passe avec un fichier clé personnalisé, modifiez le fichier clé personnalisé. Dans le cas contraire, vos mots de passe sont perdus (ne peuvent pas être déchiffrés) Vous devrez dans ce cas les ressaisir.
Gestion des mots de passe du serveur de base de données
Procédez comme suit :
  1. Dans la base de données, modifiez le mot de passe de votre serveur de base de données.
    Pour plus d'informations, consultez la documentation de votre base de données tierce.
  2. Dans l'outil d'administration système CSA, modifiez le mot de passe du serveur de base de données pour qu'il corresponde à celui que vous avez entré. Connectez-vous à l'outil d'administration du système.
  3. Arrêtez les services d'applications CA PPM (app) et d'arrière-plan CA PPM (bg) à l'aide des opérations suivantes :
    1. Cliquez sur Accueil, puis sur Tous les services.
    2. Sélectionnez les cases à cocher en regard de Application CA PPM et Arrière-plan CA PPM, puis cliquez sur Arrêter.
      Les services sont arrêtés.
  4. Cliquez sur Accueil, puis sur Serveurs.
  5. Cliquez sur Propriétés, puis sur l’onglet Base de données.
  6. Dans la section Connexion interne : Niku, remplissez les champs suivants :
    • Mot de passe
      Entrez un nouveau mot de passe.
    • Confirmer le mot de passe
      Entrez à nouveau le mot de passe.
  7. Cliquez sur Enregistrer.
  8. Redémarrez les services Arrière-plan CA PPM (bg) et Application CA PPM (app) :
    1. Cliquez sur Accueil, puis sur Tous les services.
    2. Sélectionnez les cases à cocher à côté de Arrière-plan CA PPM (bg) et Application CA PPM (app), puis cliquez sur Démarrer.
Configuration du protocole SSL (Secure Sockets Layer) dans Apache Tomcat
SSL est un protocole de transmission de données entre les noeuds. Il utilise une méthode de chiffrement basée sur deux clés pour protéger les données contre les accès non autorisés : une clé publique, qui est connue de tout le monde et une clé privée (secrète), connue uniquement par le destinataire du message.  
  • Le support est limité, dans la mesure où les étapes décrites dans cette section font référence à des composants tiers.
  • Déterminez l'emplacement d'installation des certificats SSL. Par exemple, vous devez utiliser un autre serveur et non le serveur d'applications afin d'améliorer les performances.
  • La commande Java
    keytool
    est une méthode très utilisée pour la création et la gestion des certificats SSL. D'autres outils et commandes sont disponibles.
  • Les étapes répertoriées s'appliquent à de nombreux environnements, mais pas à certains d'entre eux. En outre, les étapes peuvent même être incorrectes dans certains environnements. Vous pouvez notamment utiliser des certificats auto-signés (non acquis auprès d'un fournisseur certifié tel que Verisign ou Thawte). Ces certificats peuvent requérir plusieurs installations avant l'installation du certificat réel et leur nom peut varier.
  • Suivez les instructions fournies par votre fournisseur de certificats SSL plutôt que de vous baser uniquement sur les étapes contenues dans cette page. Les fournisseurs peuvent vous demander de modifier des étapes ou des commandes spécifiques.
  • A des fins de test, utilisez la clé privée incluse dans
    Clarity PPM
    .
Si vous utilisez les protocoles HTTP et SSL simultanément, le protocole est appelé HTTPS.
Lorsque vous activez le protocole SSL sur le service d'applications, toutes les données se déplaçant d'une application cliente à une autre (par exemple, un navigateur Web ou Open Workbench) sont chiffrées. Ce chiffrement a lieu avant l'envoi des données et le déchiffrement avant leur réception. Sans chiffrement SSL, les entités non autorisées peuvent lire les données et voler des informations sensibles telles que les noms et les mots de passe des utilisateurs.
Procédez comme suit :
Les étapes décrites dans cette page s'appliquent uniquement à la première installation de
Clarity PPM
. Vous pouvez également installer un certificat renouvelé lorsqu'un ancien certificat arrive à expiration.
4
4
Générez une paire de clés publique et privée.
A l'aide de la commande Java
keytool
, générez une paire de clés publique et privée et créez une demande de signature de certificat.
Les étapes de cette page fournissent uniquement les paramètres Java requis. Pour obtenir des informations complètes sur tous les paramètres des commandes Java, consultez le site Web relatif à la documentation Oracle.
Avant de mettre un système en production, créez un fichier de magasin de clés pour votre clé privée et distribuez-le à tous les serveurs d'applications. Si vous disposez déjà d'un autre fichier de magasin de clés, vous pouvez également l'utiliser dans
Clarity PPM
.
Procédez comme suit :
  1. Ouvrez le serveur d'applications
    Clarity PPM
    , ouvrez une invite de commande et générez une paire de clés publique et privée au moyen de la commande suivante :
    keytool -genkey -keystore /<Clarity Home Directory>/config/.keystore -keyalg RSA -storepass keystore
  2. Définissez les valeurs suivantes :
    • -genkey
      Cette option génère un magasin de clés s'il n'en existe pas déjà un. Le magasin de clés contient la clé publique et la fausse clé publique.
    • keystore
      Spécifie le chemin d'accès et le nom du fichier de magasin de clés. Par défaut, le magasin de clés est nommé
      .keystore
      et enregistré sous le répertoire
      <répertoire_accueil_Clarity>/config/
      .
    • keyalg
      Spécifie l'algorithme que vous utilisez lorsque vous générez la paire de clés (RSA, dans cet exemple).
    • storepass
      Mot de passe utilisé pour protéger le magasin de clés (qui doit contenir au moins 6 caractères). Ce mot de passe est fourni à toutes les commandes qui accèdent au magasin de clés.
  3. Lorsque vous y êtes invité, entrez les informations appropriées concernant votre organisation.
  4. Lorsque vous êtes invité à entrer le mot de passe de la clé, appuyez sur
    Entrée
    . Le mot clé de la clé et le mot de passe du magasin de clés doivent être identiques.
Pour un certificat autosigné, exportez le fichier .cer à partir de la clé privée que vous avez générée et ignorez la procédure suivante. Ne créez pas de demande de signature de certificat. En effet, aucune demande de signature de certificat n'est requise dans ce cas. Pour exporter le fichier, utilisez la commande suivante :
keytool –export -file <file_name.cer> -keystore <ClarityHome/config/.keystore> -storepass keystore
Création d'une demande de signature de certificat
Pour les systèmes de production, remplacez le certificat de test par un certificat réel et certifié. Pour obtenir un certificat certifié, créez une demande de signature de certificat (CSR) et envoyez-la à une autorité de certification. L'autorité de certification génère un certificat réel qui authentifie votre clé publique. La demande de signature de certificat est une demande de génération d'un certificat SSL réel en fonction des informations relatives à votre système. Elle ne requiert aucune installation. Il s'agit du certificat réel envoyé par votre fournisseur SSL en réponse à votre demande de signature de certificat que vous devez installer. Suivez toujours les instructions données par votre fournisseur SSL. Des commandes spécifiques sont souvent nécessaires pour installer les certificats racines ou intermédiaires. Les fournisseurs peuvent exiger l'installation d'autres certificats.
Procédez comme suit :
  1. Sur le serveur d'applications
    Clarity PPM
    , ouvrez une invite de commande et saisissez la commande suivante :
    keytool -certreq -keystore /<Clarity Home Directory>/config/.keystore -keyalg RSA -file ca_ppm.csr
  2. Lorsque vous êtes invité à saisir un mot de passe, entrez le mot de passe par défaut (
    keystore
    ).
  3. Définissez les valeurs suivantes :
    • -certreq
      Génère une demande de signature de certificat (CSR).
    • keystore
      Spécifie le chemin d'accès et le nom du fichier de magasin de clés. Par défaut, le magasin de clés est nommé
      .keystore
      et est enregistré dans le répertoire <répertoire_accueil_clarity>/config/.
    • keyalg
      Spécifie l'algorithme (RSA) à utiliser lors de la génération de la paire de clés.
    • file
      Spécifie le nom (ca_ppm.csr) du fichier de demande de certificat généré.
  4. Dans un navigateur Web, ouvrez le site Web de l'autorité de certification et spécifiez le contenu du fichier CSR que vous avez généré.
    Utilisez le processus indiqué par votre autorité de certification. Votre CSR vous est fourni par votre autorité de certification.
  5. Copiez le nouveau certificat (par exemple, ca_ppm.cer) que vous a fait parvenir votre fournisseur SSL sur le serveur d'applications
    Clarity PPM
    .
    Votre clé privée reste inchangée.
  6. Sauvegardez le fichier de référentiel de clés en le copiant sur un autre volume. N'apportez aucune modification au fichier .keystore avant d'avoir reçu le certificat. En effet, les modifications peuvent entraîner des problèmes au moment de l'importation du certificat réel. Si vous ne pouvez pas importer le certificat réel ou si le fichier est modifié, vous pouvez recommencer l'opération depuis le début. Inutile de générer une nouvelle demande de signature de certificat et d'attendre qu'une nouvelle copie du certificat réel vous soit envoyée : utilisez simplement la copie de sauvegarde du fichier keystore. Vous gagnerez ainsi un temps précieux.
Installation des certificats
Si vous avez reçu un certificat en provenance de votre fournisseur SSL, importez la réponse de l'autorité de certification et remplacez votre certificat autosigné par une chaîne de certificats. La partie finale de la chaîne inclut le certificat émis par l'autorité de certification, qui authentifie votre clé publique. Le certificat suivant dans la chaîne est celui qui authentifie la clé publique de l'autorité de certification.
L'importation des certificats entraîne la création d'une chaîne de certificats. Le créateur des certificats est chargé de fournir les certificats auto-signés et les certificats créés sur vos propre serveurs de certificats. En tant que créateur, vous configurez les approbations/chaînes pour permettre aux certificats SSL de fonctionner en toute transparence, à l'instar des certificats que vous vous procurez auprès de fournisseurs SSL. Importez les certificats racines, intermédiaires et autres ainsi que le certificat réel fournis par votre fournisseur SSL en réponse à votre demande de signature de certificat.
Pour créer un fichier de magasin de clés contenant votre clé privée associée au certificat signé par votre autorité de certification, procédez comme suit :
Procédez comme suit :
  1. Sur le serveur d'applications
    Clarity PPM
    , ouvrez une invite de commande et saisissez la commande suivante :
    keytool -import -keystore /<Clarity Home Directory>/config/.keystore -keyalg RSA -file CA PPM - Source.cer -trustcacerts
    Vous devrez peut-être importer le certificat intermédiaire racine de votre autorité de certification dans votre fichier de référentiel de clés avant d'importer votre certificat. Pour plus d'informations, consultez la documentation de votre autorité de certification tierce.
  2. Entrez le mot de passe du magasin de clés et appuyez sur Entrée.
  3. Entrez
    yes
    .
Distribution du fichier de magasin de clés à tous les serveurs d'applications
Si plusieurs de vos serveurs gèrent des services d'applications, vous devez distribuer le magasin de clés à tous ces services.
Procédez comme suit :
  1. Connectez-vous à l'outil d'administration du système.
  2. Arrêtez tous les services en effectuant les actions suivantes :
    1. Cliquez sur Accueil, puis sur Tous les services.
    2. Sélectionnez tous les services et cliquez sur Arrêter.
  3. Cliquez sur Distribuer, puis sur Tout distribuer.
  4. Activez la case à cocher près de tous les serveurs concernés, puis cliquez sur Distribuer.
  5. Redémarrez tous les services en effectuant les actions suivantes :
    1. Cliquez sur Accueil, puis sur Tous les services.
    2. Sélectionnez tous les services et cliquez sur Démarrer.
      Le fichier de magasin de clés est distribué aux serveurs avec des services d'application.
Définir l'emplacement du fichier de magasin de clés et du mot de passe
Répétez ces étapes pour chaque serveur dans le cluster.
Procédez comme suit :
  1. Connectez-vous à l'outil d'administration du système.
  2. Pour modifier le serveur, cliquez sur l'icône Propriétés.
  3. Cliquez sur l'onglet Sécurité.
  4. Remplissez les champs suivants et enregistrez :
    • Magasin de clés SSL
      Entrez l'emplacement du fichier de magasin de clés. Si vous laissez le champ vide, la valeur par défaut de
      <répertoire_accueil_clarity>/config/.keystore
      sera utilisée.
    • Mot de passe SSL
      Entrez le mot de passe du magasin de clés (la valeur par défaut est
      keystore
      ).
    • Confirmer le mot de passe
      Entrez à nouveau le mot de passe du magasin de clés.
  5. Arrêtez et redémarrez tous les services en effectuant les actions suivantes :
    1. Ouvrez la page d'accueil et cliquez sur Tous les services.
    2. Cliquez sur l'icône Tout sélectionner pour sélectionner tous les services et cliquez sur Arrêter.
    3. Cliquez sur l'icône Tout sélectionner pour sélectionner tous les services, puis cliquez sur Démarrer.
Activation du protocole SSL sur chaque serveur
L'option Traitement SSL détermine le fonctionnement du protocole SSL dans l'application. Le paramètre inclut les options suivantes :
  • Obtenir à partir des paramètres du port (implicite)
    Les caractéristiques sont obtenues selon que les ports du serveur Web sont activés ou désactivés. Ce paramètre permet d'émuler le comportement SSL à partir des versions précédentes (à la version 13.0).
  • SSL est utilisé, mais le traitement est externe (externe)
    Spécifie que l'équilibreur de charge ou tout autre terminal précédent termine la connexion SSL en dehors du serveur d'applications.
  • Basculer vers le protocole HTTPS uniquement pour les pages dont le contenu est sensible (hybride)
    Spécifie que
    Clarity PPM
    bascule activement entre les protocoles HTTP et HTTPS pour les pages sécurisées et non sécurisées.
  • Prise en charge des protocoles HTTP et HTTPS sans basculement (les deux)
    Active les protocoles HTTP et HTTPS. N'essayez pas de basculer de l'un à l'autre.
  • Prise en charge du protocole HTTPS uniquement (complet)
    S'applique à toutes les connexions SSL et indique que toutes les données doivent être chiffrées. Vous pouvez passer au protocole SSL lorsque nécessaire.
  • Prise en charge du protocole HTTP uniquement (aucun)
    Désactive le protocole SSL et ne chiffre aucune donnée.
Ces étapes portent sur la configuration du traitement SSL avec l'option Prise en charge du protocole HTTPS uniquement. Si vous sélectionnez l'option Obtenir à partir des paramètres du port comme option de traitement SSL, vous devez saisir les paramètres supplémentaires (obligatoires) ci-dessous pour chaque instance d'application :
  • HTTP activé
    Désactivez la case à cocher.
  • HTTPS activé
    Activez la case à cocher.
Pour activer le protocole SSL, procédez comme suit sur chaque serveur :
Procédez comme suit :
  1. Connectez-vous à l'outil d'administration du système.
  2. Cliquez sur Accueil, puis sur Serveurs.
  3. Cliquez sur le nom du serveur à configurer.
  4. Cliquez sur l'onglet Propriétés.
  5. Cliquez sur l'onglet Application.
  6. Dans la section Serveur d'applications, remplissez le champ suivant :
    • Traitement SSL
      Sélectionnez l'option
      Prise en charge du protocole HTTPS
      uniquement.
  7. Dans chaque section
    Instance d'application associée au serveur, remplissez les champs suivants :
    • Port HTTPS
      Entrez le port à utiliser pour le trafic HTTPS.
    • URL d'entrée HTTPS
      Entrez l'URL HTTPS (y compris le port).
      Exemple :
      https://ca_ppm.mycompany.com:8443
  8. Enregistrez les modifications.
  9. Arrêtez et redémarrez les services d'application en effectuant les actions suivantes :
    1. Cliquez sur
      Accueil
      , puis sur
      Tous les services
      .
    2. Sélectionnez chaque service à arrêter, puis cliquez sur
      Arrêter
      .
    3. Sélectionnez chaque service à redémarrer, puis cliquez sur
      Démarrer
      .
Activation de SSL pour les pages protégées par mot de passe
Vous pouvez activer SSL pour uniquement les pages qui contiennent des mots de passe d'utilisateur. Avec cette configuration, les utilisateurs sont automatiquement redirigés entre les pages sécurisées et non sécurisées dans l'application. La redirection est rendue possible par activation simultanée des protocoles HTTP et HTTPS.
Avec cette configuration, les deux ports des systèmes d'exploitation de UNIX doivent être supérieurs à 1024. Vous pouvez, à titre exceptionnel, utiliser les numéros de port standard si vous lancez les services avec des autorisations de type racines à l'aide d'une commande SUDO. Cette exception ne s'applique pas lorsque vous utilisez des installations à charge équilibrée ou par proxy, auxquels cas vous devez utiliser des plages de ports personnalisées. Dans les environnements de non-production, vous pouvez choisir de ne pas utiliser d'équilibreur de charge (avec déchargement SSL facultatif). Vous
pouvez
continuer à utiliser les ports traditionnels inférieurs à 1024.
Procédez comme suit :
  1. Connectez-vous à l'outil d'administration du système.
  2. Cliquez sur
    Accueil
    , puis sur
    Serveurs
    .
  3. Cliquez sur l'icône
    Propriétés
    pour le serveur que vous souhaitez configurer.
  4. Cliquez sur l'onglet
    Application
    .
  5. Dans la section
    Serveur d'applications
    , remplissez le champ suivant :
    • Traitement SSL
      Sélectionnez l'option
      Basculer vers le protocole HTTPS uniquement
      pour les pages dont le contenu est sensible.
  6. Dans chaque section
    Instance d'application associée au serveur, remplissez les champs suivants :
    • HTTP activé
      Activez la case à cocher.
    • HTTPS activé
      Activez la case à cocher.
    • Port HTTPS
      Entrez le port à utiliser pour le trafic HTTPS.
      Sous UNIX, les numéros de port HTTP et HTTPS doivent être supérieurs à 1024, sauf si vous utilisez une commande SUDO.
    • URL d'entrée HTTP
      Entrez l'URL HTTP (y compris le port).
      Exemple :
      http://ca_ppm.mycompany.com:8080
    • URL d'entrée HTTPS
      Entrez l'URL HTTPS (y compris le port).
      Exemple :
      https://ca_ppm.mycompany.com:8443
  7. Configurez d'autres serveurs.
  8. Arrêtez et redémarrez chaque service d'application :
    1. Cliquez sur l'onglet
      Services
      .
    2. Sélectionnez chaque service à arrêter, puis cliquez sur
      Arrêter
      .
    3. Sélectionnez chaque service à redémarrer, puis cliquez sur
      Démarrer
      .
Activation d'une connexion JDBC sécurisée entre l'application CA PPM et les serveurs de base de données sur des hôtes distincts avec le protocole SSL
Pour assurer la conformité aux stratégies de sécurité relatives aux informations et à d'autres mécanismes, vous devrez chiffrer les applications telles que CA PPM lors du déplacement vers des serveurs AWS, Azure et autres de type cloud au niveau application et base de données.
Vous pouvez définir certains paramètres dans la chaîne de connexion de base de données dans le fichier de propriétés de CA PPM pour activer le protocole SSL.
  1. Pour installer le certificat SSL sur le serveur Oracle ou SQL Server, suivez la procédure décrite plus haut.
  2. Dans l'élément base de données du fichier de propriétés de CA PPM, ajoutez les attributs suivants :
    1. Ajoutez
      useURL="true".
    2. Dans l'attribut
      URL
      , ajoutez
      EncryptionMethod=SSL
      comme ci-dessous :
    <database id="Niku" vendor="mssql" serviceName="niku" password="xxxxxx" upgradeStatus="upgradeNotNeeded" schemaName="niku" username="xxxxxxx" host="sqlservere.clarity.com" url="jdbc:clarity:sqlserver://sqlserver.clarity.com:1433;DatabaseName=NNNNN_STAGE;InsensitiveResultSetBufferSize=0;ProgramName=Clarity;encryptionmethod=ssl;" driver="com.ca.clarity.jdbc.sqlserver.SQLServerDriver" instanceName="" serviceId="NNNNN_STAGE" jndiDatabaseId="jdbc/NikuDS" useURL="true"/>
  3. Le chiffrement du réseau Oracle est également pris en charge. Ajoutez le paramètre suivant à l'URL JDBC :
    DataIntegrityLevel=required
  4. Ouvrez le fichier
    sqlnet.ora
    pour vérifier qu'il contient les paramètres suivants :
    SQLNET.ENCRYPTION_SERVER = required
    SQLNET.CRYPTO_CHECKSUM_SERVER = required
    Le paramètre
    required
    active le service de chiffrement ou d'intégrité et empêche la connexion si le côté client n'est pas activé pour le service de sécurité. Il s'agit du paramètre par défaut pour les déploiements de base de données dans le service cloud de base de données.
  5. Redémarrez les services.
Pour vérifier que le chiffrement SSL est appliqué à la connexion réseau, effectuez un suivi de paquets Wireshark et recherchez l'adresse IP et le numéro de port de la base de données SQL Server définis dans votre chaîne de connexion.
Configuration de
Clarity PPM
en vue de l'utilisation de déchargeurs SSL
Dans un service d'application SSL, les données déplacées entre les applications clientes sont chiffrées avant d'être envoyées et déchiffrées avant d'être reçues. Le chiffrement de paquets SSL peut entraîner le ralentissement des performances sur les serveurs d'applications. Pour gérer le protocole SSL, utilisez un serveur proxy ou un équilibreur de charge plutôt que des serveurs d'applications.
Si un déchargeur SSL externe tel qu'un équilibreur de charge ou un proxy inverse est utilisé, le déchargeur SSL chiffre le trafic HTTP pour
Clarity PPM
communique avec le client à l'aide de connexions HTTPS. Cette configuration peut améliorer les performances, mais requiert certaines opérations de configuration au niveau du déchargeur et de
Clarity PPM
.
Vérifiez que les déchargeurs SSL que vous utilisez disposent d'une fonction de réécriture d'URL et que celle-ci est activée.
Procédez comme suit :
  1. Connectez-vous à l'outil d'administration du système.
  2. Cliquez sur
    Accueil
    , puis sur
    Serveurs
    .
  3. Cliquez sur l'icône
    Propriétés
    du serveur à configurer.
  4. Cliquez sur l'onglet
    Application
    .
  5. Dans la section
    Serveur d'applications
    , remplissez le champ suivant :
    • Traitement SSL
      Sélectionnez l'option
      SSL est utilisé, mais le traitement est externe
      .
  6. Pour chaque instance d'application autre que l'instance du serveur d'applications
    Clarity PPM
    , spécifiez les paramètres suivants :
    • HTTP activé
      Indique que le protocole HTTP est utilisé pour les communications. Activez la case à cocher.
    • URL d'entrée HTTP
      Indique l'URL à utiliser pour le trafic entre
      Clarity PPM
      et un client. Le déchargeur SSL devient la partie frontale de
      Clarity PPM
      , de la même manière qu'un équilibreur de charge est la partie frontale dans un environnement à plusieurs serveurs. L'URL du déchargeur SSL étant sécurisée, vous devez entrer une URL HTTPS dans ce champ, au format suivant :
      https://<nom_hôte>:CA Portal.
    • HTTPS activé
      Cette case à cocher ne s'applique pas lorsque vous utilisez un déchargeur SSL. Désactivez cette case à cocher.
  7. Enregistrez les modifications.
Configuration de Clarity PPM pour l'utilisation du protocole HTTPS
La procédure suivante s'applique à un environnement Clarity PPM non mis en cluster.
Dans cette procédure, vous générez un référentiel de clés et une demande de certificat. Une fois les certificats importés, apportez les modifications requises à l'application CSA.
Pour obtenir une implémentation architecturale à charge équilibrée, activez le protocole SSL en installant le certificat sur l'équilibreur de charge, non sur les serveurs d'applications. Dans l'onglet
Application
, définissez la valeur du champ
Traitement SSL
sur
SSL est utilisé, mais le traitement est externe
.
Procédez comme suit
:
  1. Connectez-vous au serveur qui héberge CA PPM.
  2. Accédez au répertoire de stockage de votre clé privée. Par exemple :
    C:\ppm150101
  3. Préparez dès maintenant les réponses aux invites décrites à l'étape 5.
  4. Générez un référentiel de clés à l'aide de la commande suivante : keytool -genkey -keystore C:\ppm15101\keystore.jks -keyalg RSA -storepass changeit.
    Notez que Keystore.jks est le nom du référentiel de clés, changeit est le mot de passe. Définissez un mot de passe plus sécurisé lorsque vous exécutez cette commande.
  5. Plusieurs invites s'affichent pour fournir les détails de serveur et d'organisation. Utilisez les informations préparées à l'étape 3. Les autorités de certification peuvent fournir toutes les informations requises. Contactez-les si vous ne disposez pas de toutes les réponses aux invites.
  6. Lorsque vous êtes invité à fournir les
    nom et prénom
    , saisissez le nom complet du serveur sans
    http://
    ni
    https://
    .
  7. Générez une demande de certification :
    keytool -certreq -keystore C:\ppm15101\keystore.jks -keyalg RSA -file myRequest0.cer
  8. Pour obtenir un certificat de serveur, envoyez ce fichier à l'autorité de certification.
  9. Vous devez disposer des certificats suivants avant de procéder à l'importation dans le référentiel de clés :
    1. certificat de serveur
    2. certificat intermédiaire
    3. certificat racine
      Contactez l'autorité de certification pour obtenir les certificats racine et intermédiaire.
  10. Importez le certificat racine (Cela remplace le nom du référentiel de clés, le chemin d'accès, le nom du certificat, le patch et d'autres paramètres.) :
    keytool -import -keystore C:\ppm15101\keystore.jks -keyalg RSA -file root.cer -trustcacerts -alias root
  11. Importez le certificat intermédiaire :
    keytool -import -keystore C:\ppm15101\keystore.jks -keyalg RSA -file intermediate.cer -trustcacerts -alias intermediate
  12. Importez le certificat de serveur :
    keytool -import -keystore C:\ppm15101\keystore.jks -keyalg RSA file server.cer -trustcacerts -alias server
Application de modifications à l'application CSA
  1. Connectez-vous à l'application CSA, puis cliquez sur l'onglet
    Sécurité
    .
  2. Dans le champ
    Référentiel de clés SSL
    , entrez le chemin complet de votre référentiel de clés.
  3. Remplissez les champs
    Mot de passe SSL
    et
    Confirmer le mot de passe
    .
  4. Cliquez sur l'onglet
    Application
    .
  5. Définissez le champ
    Traitement SSL
    sur
    Prise en charge des protocoles HTTP et HTTPS sans basculement.
  6. Dans la section
    Instance d'application
    , sélectionnez
    Protocole HTTPS activé
    .
  7. Définissez le port HTTPS sur un numéro attribué à l'application CA PPM (dépendant de l'organisation). Par exemple, le numéro de port peut être 8043.
  8. Définissez l'URL d'entrée HTTPS sur le nom exact du serveur fourni lors de la génération du référentiel de clés.
  9. Redémarrez le service d'application.
  10. Naviguez en utilisant HTTPS pour vérifier que le protocole HTTPS fonctionne (Utilisez le numéro de port et l'URL corrects. Par exemple, l'URL peut être https://nom_serveur.organisation.com:8043/).
  11. Définissez le champ Traitement SSL sur Prise en charge du protocole HTTPS uniquement.
  12. Redémarrez le service d'application.
Si un certificat a été incorrectement importé et que vous souhaitez le supprimer, vous pouvez utiliser une commande telle que la suivante : keytool -keystore c:\ppm15101\keystore.jks -alias root -delete.
La commande suivante est également très utile pour répertorier tous les certificats dans un référentiel de clés : keytool -keystore c:\ppm15101\keystore.jks -list" and to turn verbose on, use "keytool -keystore c:\ppm15101\keystore.jks -list -v.
Pour finir, les chemins d'accès mentionnés ici s'appliquent à un système d'exploitation Windows. Si l'application est créée sous Linux, modifiez-les en spécifiant la convention de ce système d'exploitation. Toutes les autres données demeurent identiques.
Intégration de
Clarity PPM
avec les serveurs LDAP (Lightweight Directory Access Protocol)
L'utilisation d'une interface LDAP (Lightweight Directory Access Protocol) pour autoriser l'accès à toutes les applications offre plusieurs avantages. Un serveur d'annuaire central contrôle l'accès afin que les utilisateurs puissent utiliser un seul nom d'utilisateur et un seul mot de passe pour toutes les applications. Les options suivantes sont prises en charge :
  • Le protocole LDAP v2 (simple) utilise un petit sous-ensemble de fonctionnalités LDAP, dont l'authentification (texte clair ou SSL), la liaison et la recherche.
  • Contrôle de LDAP v3 pour les résultats appelés comme la demande de changement 2696 le définit.
Pour synchroniser les utilisateurs entre votre serveur d'annuaire et
Clarity PPM
, les utilisateurs sont extraits à partir du serveur d'annuaire et inclus dans un lot. Les paramètres de configuration LDAP de
Clarity PPM
indiquent la taille du lot.
Les cookies (basés sur la session) sont fournis avec un jeton qui est utilisé pour accéder aux données de session. Le jeton est conservé dans le cache pour les environnements d'application unique, et dans une base de données pour les environnements en cluster. Le navigateur Web de l'utilisateur doit accepter les cookies provenant de
Clarity PPM
, qui sont basés sur la session et ne sont donc pas écrits sur le disque. Lorsque l'utilisateur se déconnecte, les informations sur la session dans la base de données et dans le cache correspondantes au cookie sont supprimées.
L'intégration de
Clarity PPM
dans un serveur LDAP offre les avantages suivants :
  • Simplification de l'administration des noms et des mots de passe des utilisateurs. L'informatique doit uniquement gérer une paire nom d'utilisateur et mot de passe pour un utilisateur.
  • Prise en charge de l'authentification. L'équipe informatique doit uniquement prendre en charge l'emplacement unique où les utilisateurs peuvent rencontrer des problèmes d'authentification.
  • Amélioration de la facilité d'utilisation. Les utilisateurs doivent uniquement mémoriser un nom d'utilisateur et un mot de passe.
  • Amélioration de la gestion des utilisateurs. Vous pouvez stocker les informations de nom d'utilisateur et de messagerie sur un serveur LDAP.
  • Amélioration de la sécurité. L'utilisation d'un nom d'utilisateur et d'un mot de passe facilite l'utilisation des mots de passe complexes et leur modification plus fréquente. La probabilité de choisir un mot de passe familier est réduite lorsqu'il y a uniquement un mot de passe à mémoriser.
Le job LDAP - Synchroniser les utilisateurs nouveaux et modifiés synchronise les entrées LDAP. Il stocke ensuite les dernières date et heure auxquelles le job s'est exécuté, ainsi que les informations dans la table de la base de données MN_DIRECTORY_SERVERS. A l'exécution du prochain job d'arrière-plan, le job synchronise les entrées utilisateur récemment créées ou modifiées, pour lesquelles l'horodatage est supérieur à la valeur indiquée dans le champ CMN_DIRECTORY_SERVERS.LAST_SYNC_DATE.
  • Clarity PPM
    ne vérifie pas si les utilisateurs dans un groupe ou dans une recherche spécifiée par l'outil d'administration système CSA sont actifs ou inactifs sur le serveur LDAP.
    Clarity PPM
    vérifie uniquement que les utilisateurs sont présents dans un groupe
    Clarity PPM
    ou que les attributs recherchés sont présents dans
    Clarity PPM
    .
  • Clarity PPM
    ne reconnaît pas les groupes imbriqués dans LDAP. Avant d'exécuter le job
    LDAP - Synchroniser les utilisateurs nouveaux et modifiés
    ou le job
    LDAP - Synchroniser les utilisateurs obsolètes
    , assurez-vous que vos utilisateurs sont associés à un groupe PPM dans lequel la fonction de recherche de l'outil d'administration système CSA peut effectuer une recherche. Les utilisateurs inclus dans les groupes imbriqués dans le groupe LDAP
    Clarity PPM
    ne sont pas vérifiés lors de l'exécution des jobs de synchronisation LDAP.
  • Les utilisateurs désactivés sur le serveur LDAP sont désactivés dans
    Clarity PPM
    à la prochaine exécution du job de synchronisation. Si vous réactivez un utilisateur sur le serveur LDAP, l'utilisateur n'est pas réactivé dans
    Clarity PPM
    ; vous devrez réactiver la ressource.
Avant d'implémenter la connexion LDAP, sélectionnez un serveur LDAP compatible.
Vous devez configurer
Clarity PPM
pour l'authentification LDAP sur chaque serveur exécutant un service d'application. Pour réaliser cette procédure, configurez un serveur LDAP. Si vous disposez d'un cluster de serveurs
Clarity PPM
, répétez ces étapes sur chaque serveur dans le cluster.
Procédez comme suit :
  1. Créez une ressource en tant qu'utilisateur de test pour pouvoir accéder à
    Clarity PPM
    en tant qu'utilisateur LDAP.
    L'ID de l'utilisateur de test dans
    Clarity PPM
    doit correspondre à celui de l'utilisateur sAMAccountName LDAP dans Microsoft Active Directory ou à l'UID de cet utilisateur pour les autres implémentations LDAP.
  2. Définissez la procédure à suivre pour déterminer les utilisateurs LDAP autorisés à accéder à
    Clarity PPM
    .
    Pour activer l'authentification du groupe, vous pouvez spécifier un groupe, créer une combinaison attribut/valeur sur le serveur LDAP, ou procéder à ces deux opérations. Vous pouvez définir ce paramètre à partir de la page sécurité
    Serveur : Propriétés
    dans l'outil d'administration système CSA.
  3. Définissez les propriétés du serveur LDAP.
  4. Configurez
    Clarity PPM
    pour l'authentification.
  5. Arrêtez et redémarrez tous les services
    Clarity PPM
    .
Définition des propriétés du serveur LDAP
Vous pouvez définir les propriétés du serveur LDAP dans l'outil d'administration système CSA.
Procédez comme suit :
  1. Connectez-vous à l'outil d'administration du système.
  2. Cliquez sur l'icône
    Propriétés
    du serveur à configurer.
  3. Cliquez sur l'onglet
    Sécurité
    .
  4. Dans la section
    Serveur LDAP
    , remplissez les champs suivants :
    • URL :
      définit l'URL du serveur LDAP. Si votre serveur LDAP est SSL, utilisez le protocole LDAPS dans l'URL (plutôt que le protocole LDAP par défaut).
    • Contexte racine :
      définit le contexte de nom LDAP, par exemple : ou=People, dc=niku, dc=com.
    • Recherche d'utilisateur :
      définit le nom d'utilisateur avec les informations d'identification appropriées pour la liaison au serveur LDAP.
    • Mot de passe :
      définit le mot de passe, confirmé ensuite dans le champ Confirmer le mot de passe.
    • Filtre de recherche :
      définit la chaîne de filtre de recherche (comme défini dans la demande de changement 2254).
    • Format date/heure :
      définit le format de date et d'heure utilisé par le serveur LDAP.
    • Nom du groupe :
      active l'authentification du groupe. Entrez le nom du groupe et dans le champ Identificateur du groupe, entrez l'ID du groupe.
    • Autoriser les utilisateurs non LDAP :
      indique que l'accès à
      Clarity PPM
      est autorisé à l'aide d'autres méthodes d'authentification.
    • Utiliser l'appartenance aux groupes :
      sélectionnez cette case à cocher (non sélectionnée par défaut) pour améliorer les performances du job LDAP - Synchroniser les utilisateurs obsolètes. Le job utilise les appartenances aux groupes pour la synchronisation et requiert une relation inverse des utilisateurs aux groupes LDAP. La valeur par défaut est
      memberOf
      . Toutefois, vous pouvez spécifier une autre valeur dans le champ suivant.
    • Identificateur du groupe des utilisateurs :
      si vous devez spécifier une autre valeur en plus de l'attribut par défaut
      memberOf
      , entrez l'identificateur du groupe pris en charge par LDAP ici.
      Les options
      Utiliser l'appartenance aux groupes
      et
      Identificateur du groupe des utilisateurs
      sont disponibles dans le patch 15.5.1.1.
  5. Cliquez sur
    Save
    .
  6. Arrêtez et redémarrez tous les services
    Clarity PPM
    comme suit:
    1. Cliquez sur
      Accueil
      , puis sur
      Tous les services
      .
    2. Cliquez sur l'icône
      Tout sélectionner
      pour sélectionner la case à cocher près de chaque service et cliquez sur
      Arrêter
      .
    3. Cliquez sur l'icône
      Tout sélectionner
      pour sélectionner la case à cocher près de chaque service et cliquez sur
      Démarrer
      .
  7. Cliquez sur
    Save
    .
  8. Dans l'application CSA, cliquez sur l'onglet
    Application
    .
  9. Dans la section
    Serveur d'applications
    , sélectionnez
    Utiliser LDAP
    et cliquez sur
    Enregistrer
    .
Synchronisation de LDAP
Les jobs de synchronisation LDAP suivants travaillent ensemble pour synchroniser
Clarity PPM
avec LDAP :
  • Job LDAP - Synchroniser les utilisateurs nouveaux et modifiés
    Ce job synchronise les utilisateurs que vous ajoutez au groupe
    Clarity PPM
    LDAP pour synchroniser les enregistrements LDAP avec les enregistrements
    Clarity PPM
    . Le job rend également les utilisateurs actifs sur le serveur
    Clarity PPM
    . Si vous utilisez l'option de filtre de recherche et que vous remplacez un attribut par l'un des attributs utilisés par
    Clarity PPM
    , l'utilisateur est activé sur le serveur
    Clarity PPM
    . L'activation a lieu à la prochaine exécution du job. Ce job stocke ensuite les dernières date et heure d'exécution du job dans la table de la base de données CMN_DIRECTORY_SERVERS. Le job synchronise uniquement les entrées utilisateur créées ou modifiées récemment. Pour que la synchronisation ait lieu, l'horodatage doit être supérieur à la valeur détectée dans le champ CMN_DIRECTORY_SERVERS.LAST_SYNC_DATE.
  • Job LDAP - Synchroniser les utilisateurs obsolètes
Ce job désactive les utilisateurs que vous supprimez du groupe
Clarity PPM
LDAP sur le serveur LDAP ou ceux dont l'enregistrement ne contient plus l'attribut de recherche choisi. Ce job ne vérifie pas si les utilisateurs inclus dans le groupe
Clarity PPM
LDAP ou dans la recherche spécifiée par l'outil d'administration système CSA sont actifs ou inactifs sur le serveur LDAP. Pour désactiver des utilisateurs dans
Clarity PPM
à l'aide du job, supprimez les utilisateurs du groupe
Clarity PPM
LDAP ou supprimez l'attribut de recherche spécifié dans l'outil d'administration système CSA. Ces jobs de synchronisation fonctionnent si vous avez correctement configuré les sections Serveur LDAP et Mappage des attributs LDAP dans l'outil d'administration système CSA.
Vous devez sélectionner une planification pour chaque job.
Meilleure pratique :
exécutez ces jobs tous les soirs.
Pour synchroniser la base de données avec le serveur d'annuaire, supprimez toutes les lignes de la table de base de données CMN_DIRECTORY_SERVERS et exécutez à nouveau le job d'arrière-plan. Vous pouvez également exécuter le job pour un groupe spécifique de manière à ce que seuls les enregistrements de ces utilisateurs soient affectés.
Exécution forcée du job LDAP : Synchroniser les utilisateurs nouveaux et modifiés dans le cadre d'une synchronisation complète
Vous devrez peut-être remplacer le comportement du job
LDAP - Synchroniser les utilisateurs nouveaux et modifiés
et vous pouvez forcer une synchronisation complète.
Procédez comme suit :
  1. Supprimez la ligne de la table de base de données CMN_DIRECTORY_SERVERS.
  2. Exécutez (ou planifiez) à nouveau le job.
Dépannage de LDAP
La partie suivante présente certains problèmes habituels au niveau du serveur LDAP et leur méthode de résolution :
  • Pour déboguer le processus d'authentification LDAP, activez les messages de débogage journalisés par le composant de sécurité. Arrêtez tous les services d'arrière-plan à l'exception de celui sur lequel vous activez les messages de débogage. Redémarrez le service d'arrière-plan pour que les modifications prennent effet et vérifiez le fichier journal (bg-ca.log).
  • Lors de l'examen des journaux
    Clarity PPM
    pour vérifier la présence de messages d'erreur, les codes d'erreur propres à LDAP peuvent s'afficher.
    Pour obtenir une description des codes d'erreur propres à LDAP, consultez votre documentation LDAP tierce.
  • Si vous ne pouvez pas vous connecter à
    Clarity PPM
    à l'aide d'un nom d'utilisateur et d'un mot de passe LDAP, tenez compte de ce qui suit :
    • Utilisez-vous un compte LDAP actif qui existe également en tant que compte actif dans
      Clarity PPM
      ?
    • Avez-vous activé la configuration de LDAP en sélectionnant le champ Utiliser LDAP sur la page des propriétés du serveur d'applications dans l'outil d'administration système CSA ?
    • Avez-vous entré le bon ID d'utilisateur dans le champ Recherche d'utilisateur et le bon mot de passe dans le champ Mot de passe sur la page des propriétés du serveur de sécurité dans l'outil d'administration système CSA ?
    • Consultez les fichiers journaux pour obtenir plus de messages spécifiques.
    • Le temps de traitement du job
      LDAP - Synchroniser les utilisateurs obsolètes
      et du job
      LDAP - Synchroniser les utilisateurs nouveaux et modifiés
      dépend du nombre d'utilisateurs chargés à partir du service d'annuaire dans
      Clarity PPM
      . En particulier, les grands nombres peuvent ralentir les durées de traitement.
Dépannage des jobs de synchronisation LDAP
Lorsqu'un job de synchronisation LDAP ou le processus d'authentification ne fonctionne pas comme prévu, procédez de l'une des manières suivantes :
  • Vérifiez les fichiers journaux de synchronisation LDAP dans le répertoire /niku/Clarity/logs/ldapsync.
  • Vérifiez le fichier *users*.xml. Ce fichier contient une liste des noms d'utilisateur qui sont extraits du serveur LDAP. Si ce fichier est manquant, la communication entre
    Clarity PPM
    et le serveur LDAP échoue.
  • Vérifiez le fichier *sync*.xml. Ce fichier contient les résultats d'une session d'importation d'utilisateur passerelle. Si ce fichier est manquant, la communication entre
    Clarity PPM
    et la passerelle échoue.
  • Activez les messages de débogage dans le composant de sécurité en procédant comme suit :
    1. Modifiez
      le fichier
      bg-logger.xml
      et ajoutez la catégorie
      com.niku.security
      .
    2. Définissez la priorité sur
      debug
      .
    3. Redémarrez le service Arrière-plan CA PPM (bg) pour que les modifications prennent effet.
    4. Vérifiez le fichier bg-ca.log.
    5. Si votre cluster comporte plusieurs services bg, arrêtez-les tous sauf un. Vous vous assurez ainsi que le job est en cours d'exécution sur le serveur que vous déboguez. Vous pouvez également activer individuellement le débogage sur tous les services.
Vérification des journaux de synchronisation LDAP
Vérifiez les journaux de transactions de synchronisation LDAP dans le répertoire suivant :
<Clarity Home Directory>/logs/ldapsync
Les fichiers journaux associés aux jobs Utilisateurs nouveaux et modifiés sont :
  • ldapusers_nm_*.xml : liste d'utilisateurs détectés dans le serveur d'annuaire à synchroniser avec
    Clarity PPM
    .
  • ldapsync_nm_*.xml : liste de messages de réussite, d'erreur ou d'avertissement pour ce job de synchronisation.
Les fichiers journaux associés au job
LDAP - Synchroniser les utilisateurs obsolètes
sont :
  • ldapusers_ia_*.xml : liste des utilisateurs à désactiver dans
    Clarity PPM
    .
  • ldapsync_ia_*.xml : liste des messages de réussite, d'erreur ou d'avertissement pour ce job de synchronisation.
Activer les messages de débogage
Le composant de sécurité enregistre les messages de débogage. Arrêtez tous les services d'arrière-plan CA PPM (bg) dans votre implémentation, à l'exception de celui sur lequel vous activez les messages de débogage. Redémarrez le service d'arrière-plan CA PPM (bg) pour que les modifications prennent effet et vérifiez le fichier journal (bg-niku.log).
Procédez comme suit :
  1. Connectez-vous à l'outil d'administration du système.
  2. Cliquez sur Accueil, puis sur Serveurs.
  3. Cliquez sur l'icône Journaux pour le serveur dont vous souhaitez activer les messages de débogage.
  4. Cliquez sur le sous-onglet Modifier la configuration.
  5. Dans la section Catégories, cliquez sur Ajouter une catégorie.
  6. Entrez la valeur suivante pour le nouveau poste :
    • Nom
      Entrez
      com.niku.security
      .
    • Priorité
      Sélectionnez Déboguer dans la liste déroulante.
  7. Enregistrez les modifications.
    Les messages de débogage sont activés.
Configurer LDAP et SSL
Lorsqu'un serveur LDAP s'exécute avec le protocole SSL (Secure Socket Layer), vous devez configurer les protocoles LDAP et SSL. L'administrateur
Clarity PPM
installe le certificat de sécurité approuvé pour le serveur LDAP sur l'ordinateur qui exécute les services d'arrière-plan CA PPM (bg). Pour installer le certificat, utilisez l'outil keytool fourni avec le kit de développement Java 7.
Dans l'invite de commande, saisissez les commandes suivantes :
keytool -import -v -trustcacerts -alias <alias> -file <certificate file name> -keystore cacerts
Exemple :
$cd $JAVA_HOME/jre/lib/security $keytool -import -v -trustcacerts -alias NikuLdapServer -file TrustedRootCert.der -keystore cacerts
Configuration de l'authentification unique pour
Clarity PPM
classique
L'authentification unique (SSO) est un processus d'authentification qui permet aux utilisateurs d'accéder à plusieurs systèmes à l'aide d'un nom d'utilisateur et d'un mot de passe uniques. Avec l'authentification unique, après avoir authentifié l'identité d'un utilisateur à l'aide des informations de l'annuaire LDAP, le serveur autorise l'utilisateur à accéder aux informations demandées s'il possède les droits d'accès nécessaires.
Vous pouvez configurer l'authentification unique de façon à intégrer
Clarity PPM
à l'application de portail interne auprès de laquelle l'utilisateur s'authentifie. L'authentification unique supprime le besoin pour les utilisateurs d'entrer leur nom d'utilisateur et leur mot de passe chaque fois qu'ils basculent d'une application à une autre. L'application de portail inclut des liens (URL) vers d'autres applications internes. Une fois l'application de portail appelée, les utilisateurs ne sont pas invités à s'authentifier et sont directement dirigés vers l'application. L'application de portail dispose d'un module d'extension d'authentification unique, qui invite les utilisateurs à se connecter au portail, puis les dirige vers l'application appropriée. De cette façon, les utilisateurs ne peuvent pas mettre un signet sur une page, puis revenir ultérieurement à cette dernière sans d'abord se connecter.
SSO présente les avantages suivants :
  • Administration du nom d'utilisateur/mot de passe. L'informatique doit uniquement gérer une paire nom d'utilisateur/mot de passe pour un utilisateur.
  • Prise en charge de l'authentification. L'équipe informatique doit uniquement prendre en charge l'emplacement unique où les utilisateurs peuvent rencontrer des problèmes d'authentification.
  • Facilité d'utilisation. Les utilisateurs doivent uniquement mémoriser un nom d'utilisateur et un mot de passe et doivent se connecter une seule fois.
  • Sécurité. Les nom d'utilisateur et mot de passe uniques facilitent l'utilisation de mots de passe complexes et leur modification plus fréquente. La possibilité qu'un utilisateur choisisse un mot de passe familier est réduite lorsqu'il a uniquement un mot de passe à mémoriser.
Meilleure pratique :
si vous utilisez CA SiteMinder ou un autre logiciel d'authentification unique, définissez la configuration de façon à autoriser les parenthèses de type chevrons (< et >) dans l'URL. Par exemple, si vous utilisez SiteMinder, désactivez CssChecking. Dans le cas contraire, les adresses URL qui contiennent des chevrons génèreront une erreur lors de leur transfert par
Clarity PPM
. Des crochets peuvent apparaître dans une adresse URL. Ils sont probablement créés par un processus qui utilise des conditions telles que <, < =, >, ou > =).
Procédez comme suit :
  1. Configurez votre serveur SSO et votre serveur proxy pour qu'ils pointent vers
    Clarity PPM
    et pour qu'ils transfèrent un jeton d'authentification qui contient un nom d'utilisateur
    Clarity PPM
    valide.
    Configurez le serveur d'authentification unique de façon à que l'URL d'entrée soit :
    http://<server>/niku/nu#action:npt.overview
  2. Connectez-vous à l’application CSA, cliquez sur Accueil, Serveurs.
  3. Cliquez sur le nom du serveur à configurer.
  4. Cliquez sur le sous-onglet Application.
  5. Pour utiliser LDAP, dans la section Serveur d'applications, sélectionnez la case à cocher Utiliser LDAP.
    Si vous avez activé le protocole LDAP, les clients autres que les navigateurs utilisent les mêmes nom d'utilisateur et mot de passe.
  6. Dans la section Instance d'application, sélectionnez la case à cocher Utiliser l'authentification unique et cliquez sur Enregistrer.
  7. Cliquez sur l'onglet Sécurité.
  8. Dans la section Chiffrement, remplissez les champs suivants :
    • Magasin de clés SSL
      Définit le chemin d'accès au fichier de magasin de clés.
      Exemple
      : <chemin_fichier_magasin_clés>/server.keystore).
    • Mot de passe SSL
      Définit le mot de passe du magasin de clés. Une fois entré, dans le champ Confirmer, confirmez le mot de passe.
  9. Dans la section Serveur LDAP, remplissez les champs suivants :
    • URL
      Définit l'URL du serveur LDAP.
    • Contexte racine
      Définit le contexte de nom du serveur LDAP, par exemple : ou=People, dc=niku, dc=com.
    • Recherche d'utilisateur
      Définit le nom d'utilisateur avec les informations d'identification appropriées pour la liaison au serveur LDAP.
    • Mot de passe
      Définit le mot de passe du serveur LDAP. Une fois le mot de passe entré, confirmez-le à nouveau dans le champ Confirmer le mot de passe.
    • Taille du lot
      Active l'opération synchrone. Définissez la taille du lot à l'aide des critères suivants :
      • 0. Autorise tous les résultats reçus en provenance du serveur tels qu'ils sont générés.
      • Un nombre non nul. Les messages sont bloqués jusqu'à la réception du nombre
        n
        de messages en provenance du serveur. L'énumération poursuit alors que les autres messages sont mis en file d'attente.
      • La taille de lot par défaut est 1. Une énumération des résultats de la recherche à partir d'une opération de recherche synchrone renvoie les messages tels qu'ils sont reçus en provenance du serveur.
    • Filtre de recherche
      Définit la chaîne de filtre de recherche (comme défini dans la demande de changement 2254).
    • Format date/heure
      Définit le format de date et d'heure utilisé sur le serveur LDAP.
    • Nom du groupe
      Définit le groupe activé pour l'authentification de groupe.
    • Identificateur du groupe
      Spécifie l'ID du groupe activé pour l'authentification de groupe.
    • Autoriser les utilisateurs non LDAP
      Indique si les utilisateurs non LDAP sont autorisés à accéder à l'application à l'aide d'une autre méthode d'authentification.
  10. Dans la section Mappage des attributs LDAP, remplissez les champs suivants :
    Nom d'utilisateur
    Spécifie l'attribut de nom d'utilisateur.
    Prénom
    Spécifie l'attribut de prénom.
    Nom
    Spécifie l'attribut de nom.
    Nom complet
    Spécifie l'attribut de nom.
    Adresse électronique
    Spécifie l'attribut d'adresse électronique.
    Modifier le cachet horodateur
    Spécifie l'attribut de modification de l'horodatage.
  11. Dans la section Authentification unique, remplissez les champs suivants :
    Nom du jeton
    Spécifie le cookie HTTP que
    Clarity PPM
    accepte comme jeton d'authentification valide pour initialiser une session d'utilisateur.
    Type de jeton
    Spécifie le type de jeton. Les valeurs sont les suivantes :
    Cookie.
    Le jeton est contenu dans un cookie.
    En-tête.
    Le jeton est contenu dans l'en-tête du message.
    Paramètre.
    Le jeton est fourni dans un paramètre.
    URL de déconnexion
    Définit l'URL complète qui s'affiche lorsque l'utilisateur se déconnecte.
    URL d'erreur d'authentification
    Définit l'URL complète qui s'affiche lorsque l'utilisateur ne peut pas être authentifié.
  12. Enregistrez les modifications.
  13. Redémarrez l'application et connectez-vous à
    Clarity PPM
    en tant qu'administrateur d'applications.
    La page des paramètres du système apparaît.
Configuration de l'authentification unique pour la Nouvelle expérience utilisateur
Pour permettre l'implémentation de la fonction d'authentification unique pour la
Nouvelle expérience utilisateur
, configurez votre serveur d'authentification unique en procédant comme décrit ci-après. Les exemples de paramètres de configuration fournis s'appliquent au serveur d'authentification unique SiteMinder. Les paramètres applicables à votre configuration peuvent différer selon le serveur d'authentification unique que vous utilisez.
Avant de configurer votre serveur d'authentification unique pour la
Nouvelle expérience utilisateur
, vérifiez que l'authentification unique est activée pour
Clarity PPM
classique. Pour plus d'informations, reportez-vous à la section Configuration de l'authentification unique pour CA PPM classique. L'authentification unique pour la
Nouvelle expérience utilisateur
doit être configurée pour
Clarity PPM
classique afin de pouvoir fonctionner.
Procédez comme suit :
  1. Protégez les URL suivantes pour la
    Nouvelle expérience utilisateur
    :
    https://<server:port>/pm*
    https://<server:port>/ppm/rest/*
    Exemple pour SiteMinder
    :
    Dans le domaine existant qui inclut le domaine d'authentification
    Clarity PPM
    classique, créez deux domaines d'authentification :
    Création d'un domaine d'authentification qui inclut une règle de protection des API REST
    • Nom :
      Règle d'API REST CA PPM
    • Description :
      règle de protection des API REST
      Clarity PPM
    • Attributs
      ,
      Ressource :
      ppm/rest/*
    • Action
      , liste
      Action de l'Agent Web
      : sélectionnez Get, Post, Put, Delete et Head
    Création d'un domaine d'authentification qui inclut une règle de protection de la
    Nouvelle expérience utilisateur
    • Nom :
      règle de la nouvelle interface utilisateur
      Clarity PPM
    • Description :
      règle de protection de la
      Nouvelle expérience utilisateur
    • Attributs
      ,
      Ressource
      : pm*
    • Action
      , liste
      Action de l'Agent Web
      : sélectionnez Get, Post, Put, Delete et Head
      Après avoir défini les règles, cliquez sur l'onglet Règles et ajoutez la
      réponse
      existante dans la fonction d'authentification unique de
      Clarity PPM
      classique à chaque nouvelle règle. La réponse définit le nom du cookie de nom d'utilisateur ainsi que le format de la valeur attendus par la fonction d'authentification unique de
      Clarity PPM
      .
    image2017-1-27 9:44:40.png
     
  2. Configurez les propriétés suivantes pour l'agent Web :
    1. Ajoutez l'URL suivante à la liste d'URL de déconnexion existante :
      https://<server:port>/ppm/rest/v1/auth/logout
    2. Ajoutez l'URL suivante à la liste des URL à ignorer :
      https://<server:port>//pm/js/core/layout/logout.html
    3. Ajoutez les extensions de fichier suivantes à la liste des extensions à ignorer :
      • .woff
      • .svg
      • .ttf
      • .eot
    4. Supprimez l'apostrophe simple (si elle existe) dans la liste des caractères d'URL incorrects.
    5. Supprimer l'apostrophe simple (si elle existe) de la liste des caractères de requête incorrects.
Exemple pour SiteMinder :
Modifiez les propriétés d'agent suivantes :
  • IgnoreExt :
    ajoutez les extensions de fichier .woff, .svg, .ttf et .eot à la liste des extensions à ignorer.
  • IgnoreUrl :
    ajoutez /pm/js/core/layout/logout.html à la liste des URL à ignorer.
  • LogoffUri :
    ajoutez /ppm/rest/v1/auth/logout à la liste des URI de déconnexion.
  • BadUrlChars :
    supprimez le guillemet simple s'il est inclus.
  • BadQueryChars :
    supprimez le guillemet simple s'il est inclus.
Utilisation de LDAP avec SSO
Vous pouvez utiliser LDAP avec l'authentification unique (SSO).
Meilleure pratique :
l'activation de la fonction d'authentification unique ne requiert pas le protocole LDAP, mais nous vous recommandons d'utiliser celui-ci avec l'authentification unique pour les raisons suivantes :
  • Les clients autres que les navigateurs bénéficient de la plupart des avantages de l'authentification unique.
  • L'activation de l'option SSO uniquement n'exonère pas
    Clarity PPM
    de la gestion des informations d'utilisateur telles que le nom et l'adresse électronique. Avec LDAP, ces données sont conservées dans le serveur d'annuaire.
Utilisation de LDAP sans SSO
L'authentification unique offre peu d'avantages supplémentaires par rapport aux connexions LDAP. Avec l'authentification unique, les utilisateurs doivent entrer leur nom d'utilisateur et leur mot de passe pour se connecter à
Clarity PPM
. Tous les autres avantages s'appliquent aux connexions LDAP. La configuration du système est beaucoup plus simple si vous utilisez LDAP uniquement. Le protocole LDAP ne requiert aucun serveur proxy ou d'authentification unique et nécessite une seule instance
Clarity PPM
.
Définition des options de prévention contre les attaques par génération de scripts intersites (XSS)
Les attaques par génération de scripts intersites (XSS) consistent à insérer des scripts malveillants dans des sites Web normalement fiables. Les attaquants XSS utilisent une application Web pour envoyer du code malveillant, généralement sous forme de script côté navigateur, à un utilisateur final. Ces attaques sont fructueuses lorsqu'une application Web inclut des données saisies par l'utilisateur dans les résultats, sans validation ni codage préalable des données d'entrée.
Le navigateur de l’utilisateur final ne peut pas déterminer si le script est malveillant. Etant donné que le script malveillant semble provenir d’une source fiable, le navigateur exécute le code. Le code peut accéder aux cookies, aux jetons de session et à d'autres informations confidentielles.
Pour résoudre la vulnérabilité XSS, toute entrée fournie par l'utilisateur renvoyée au navigateur doit être vérifiée par validation des données d'entrée. Les données saisies par l'utilisateur doivent être échappées avant d'être incluses dans la page de sortie. Le codage de sortie approprié assure le traitement systématique des données saisies par l'utilisateur comme texte dans le navigateur, et non pas comme contenu actif pouvant être exécuté.
A partir des versions 14.1 et 14.2, l’application gère la validation et les restrictions des entrées d’utilisateur (échappement) afin de se protéger contre la vulnérabilité XSS. Pour modifier les paramètres de restriction par défaut ou pour toute aide supplémentaire concernant les problèmes de sécurité XSS, contactez le support à l'adresse www.ca.com/worldwide.
5
5
XSS : validation des entrées d'utilisateur
Clarity PPM
vérifie qu'aucune donnée saisie par l'utilisateur renvoyée au navigateur ne contient de code XSS. Le produit compare les données saisies par l'utilisateur avec un ensemble de modèles de chaînes généralement utilisés pour XSS. Si une partie des données saisies par l'utilisateur correspond à l'un des modèles communs,
Clarity PPM
restreint (échappe) la chaîne XSS dans les données saisies par l'utilisateur.
Le produit restreint la chaîne XSS en plaçant des caractères d'échappement avant et après celle-ci. Ces caractères sont visibles par l'utilisateur final. Les caractères d'échappement indiquent au navigateur d'ignorer les scripts ou les balises HTML qui accompagnent les données saisies par l'utilisateur.
Par défaut, la détection XSS est activée. Les attributs d'URL et les liens de site sont exclus de cette vérification. Pour plus d'informations sur la modification de ces paramètres, reportez-vous à la section Définition de restrictions au niveau des entrées d'utilisateur XSS.
XSS : définition de restrictions au niveau des entrées d'utilisateur
Vous devez échapper les données saisies par l'utilisateur qui contiennent l'un des modèles XSS communs avant de les inclure dans la page de sortie. Ce codage de la sortie assure le traitement des données saisies par l'utilisateur comme texte et non comme contenu actif exécutable. Les options d'administration permettent d'activer ou de désactiver les restrictions XSS (échappement).
Pour modifier le réglage d'une option, exécutez les instructions SQL de base de données.
Procédez comme suit :
  1. Accédez à la table de base de données CMN_OPTION_VALUES.
  2. Mettez à jour l'entrée de table correspondant à l'option. Pour plus d'informations sur chaque option, consultez leur description.
  3. Videz le cache.
XSS : option de restriction
Cette option restreint la chaîne XSS dans les données saisies par l'utilisateur lorsqu'elle correspond à un modèle dans l'option CMN.XSS.PATTERNS. Cette option système s'applique à l'ensemble de l'application
Clarity PPM
, à l'exception des attributs d'URL et des liens de site. D'autres options sont disponibles pour définir des restrictions pour les attributs d'URL et les liens de site.
  • RESTRICT.APP.XSS
    Valeurs : True (restrictions activées) ; False (restrictions désactivées)
    Valeur par défaut : True
Le contenu de portlet HTML n'est pas restreint (échappé). Les portlets HTML exécutent tous les scripts présents dans le contenu HTML, ce qui correspond au comportement attendu.
Pour modifier l'option RESTRICT.APP.XSS, mettez à jour la table de base de données CMN_OPTION_VALUES à l'aide de l'instruction SQL suivante :
update cmn_option_values set value='false|true' where option_id = (select id from cmn_options where option_code=' RESTRICT.APP.XSS')
Remarques de sécurité :
L'application de cette commande de mise à jour n'empêche pas le codage d'un portlet HTML avec Javascript ni l'exécution de ce code Javascript sur la machine cliente. En tant qu'administrateur, votre préoccupation est de protéger les serveurs contre Meltdown et Spectre. Vous ne inquiétez pas quant à la présence potentielle de code Javascript malicieux sur les machines clientes, car votre contrôle sur celles-ci est réduit.
Pour lancer une attaque plus sérieuse, l'attaquant doit être en mesure d'exécuter du code sur le processeur de la victime. Pour afficher les sites Web modernes, tout moteur JavaScript Web doit permettre l'exécution de code JavaScript non approuvé sur le processeur de l'utilisateur. Tout code Javascript qui fait partie d'un portlet HTML est exécuté sur la machine cliente dans le navigateur et non sur le serveur. PPM n'exécute pas de code Javascript côté serveur.
Les restrictions XSS filtrent les paramètres contenus dans les URL et les publications de formulaire susceptibles de renfermer du Javascript malveillant qui, s'ils étaient renvoyés au navigateur du client s'exécuteraient et pourraient occasionner des endommages sur la machine cliente. Ces restrictions sont gérées par des filtres dans l'application Web qui fonctionnent sur la base d'une demande envoyée du client au serveur avec l'espoir que la réponse au client soit exécutée ou redirigée de sorte que le client soit protégé. Un portlet HTML codé par un utilisateur avec Javascript ne passe pas par ces filtres. Il est une réponse à une action que le système a demandé à CA PPM d'effectuer, par exemple, afficher un portlet. Les réponses ne passent pas par le filtre. Ainsi, si un utilisateur code un portlet HTML et y insère du code Javascript, ce code sera uniquement exécuté sur sa propre machine cliente.
XSS : option de valeur d'attribut d'URL
Cette option restreint la valeur d'attribut d'URL (créée avec Studio) lorsqu'elle correspond à un modèle de l'option CMN.XSS.PATTERNS.
  • RESTRICT.URL.ATTR.XSS
    Valeurs : True (restrictions activées) ; False (restrictions désactivées)
    Valeur par défaut : False
Pour modifier l'option RESTRICT.URL.ATTR.XSS, mettez à jour la table de base de données CMN_OPTION_VALUES à l'aide de l'instruction SQL suivante :
update cmn_option_values set value='false|true' where option_id = (select id from cmn_options where option_code=' RESTRICT.URL.ATTR.XSS')
XSS : option de liens de site
Cette option restreint la valeur d'entrée des liens de site lorsqu'elle correspond à un modèle dans l'option CMN.XSS.PATTERNS.
  • RESTRICT.SITE.LINKS.XSS
    Valeurs : True (restrictions activées) ; False (restrictions désactivées)
    Valeur par défaut : False
Pour modifier l'option RESTRICT.SITE.LINKS.XSS, mettez à jour la table de base de données CMN_OPTION_VALUES à l'aide de l'instruction SQL suivante :
update cmn_option_values set value='false|true' where option_id = (select id from cmn_options where option_code=' RESTRICT.SITE.LINKS.XSS')
XSS : option de modèles XSS communs
Cette option définit les modèles de chaînes généralement utilisés lors d'attaques XSS. Vous pouvez ajouter des valeurs pour cette option afin d'inclure d'autres modèles de chaînes.
  • CMN.XSS.PATTERNS
    String patterns = </script> <script(.*?)> <script>(.*?)</script> alert(.*?) eval\\((.*?)\\) expression\\((.*?)\\) javascript: onerror(.*?)= onload(.*?)= src[\r\n]*=[\r\n]*\\\"(.*?)\\\" src[\r\n]*=[\r\n]*\\\'(.*?)\\\'
Pour ajouter des modèles, accédez à la table de base de données CMN_OPTION_VALUES et incluez les nouveaux modèles dans l'option CMN.XSS.PATTERNS.
Exemple : ajout du nouveau modèle onfocus à l'option CMN.XSS.PATTERNS
Oracle
CMN_OPTION_VALUES_INS_SP('CMN.XSS.PATTERNS','true','true','onfocus(.*?)=',1);
MSSQL
EXEC CMN_OPTION_VALUES_INS_SP 'CMN.XSS.PATTERNS','true','true','onfocus(.*?)=',1
En-têtes de réponse de sécurité : X-XSS-Protection et X-Content-Type-Options
Les navigateurs Web comprennent deux en-têtes de réponse de sécurité activés par défaut pour une couche supplémentaire de protection.
  • X-XSS-Protection
    : l'en-tête
    X-XSS-Protection
    force le filtre XSS en mode d'activation, même s'il est désactivé. Prise en charge par les navigateurs Internet Explorer, Chrome et Safari, cet en-tête de réponse arrête le chargement des pages lorsque le navigateur détecte des attaques XSS. Cet en-tête n’est pas requis dans les navigateurs modernes, car les applications implémentent une stratégie de sécurité de contenu (CSP) solide qui désactive l’utilisation de scripts JavaScript intégrés dangereux. Bien que la sécurité de CA PPM soit forte à cet égard, l’application fournit toujours cette protection pour les utilisateurs dont le navigateur Web ne prend pas encore en charge la fonctionnalité CSP.
  • X-Content-type-options :
    X-Content-Type-Options
    L'en-tête est un marqueur utilisé par le serveur pour empêcher toute modification aux types MIME publiés dans les en-têtes Content-Type.
Même si cela est peu probable, si vous rencontrez des problèmes, vous pouvez désactiver chaque en-tête ou tous les en-têtes dans la réponse réseau à l'aide des commandes SQL suivantes :
  • Pour désactiver
    X-Content-Type-Options: nosniff
    :
    delete from cmn_option_values where option_id in (select id from cmn_options where option_code like 'ENABLED_RESPONSE_HEADERS%') and value like 'X-Content-Type%'
  • Pour désactiver
    X-XSS-Protection: 1; mode=block
    :
    delete from cmn_option_values where option_id in (select id from cmn_options where option_code like 'ENABLED_RESPONSE_HEADERS%') and value like 'X-XSS-Protection%'
  • Pour désactiver tous les en-têtes :
    call CMN_OPTION_VALUES_DEL_SP('ENABLED_RESPONSE_HEADERS');
URL externes
La propriété externalUrl est un paramètre d'application facultatif qui fournit une prise en charge pour les schémas d'authentification externes ou fédérés dans des messages de notification. Lorsque la propriété externalUrl n'est pas spécifiée, les messages de notification
Clarity PPM
qui contiennent des URL utilisent la propriété entryUrl standard.
La propriété entryUrl standard pointe directement vers le serveur
Clarity PPM
. La propriété externalUrl achemine d'abord la demande vers un serveur externe chargé de l'authentification nécessaire pour la connexion à la session. Le serveur externe redirige la demande d'origine vers
Clarity PPM
à l'aide de l'authentification unique. Cette méthode évite à l'utilisateur de devoir se connecter directement à
Clarity PPM
. Lorsque l'utilisateur clique sur un lien de notification, l'authentification externe a lieu et la demande est envoyée à
Clarity PPM
. Si l'utilisateur est déjà connecté, la demande est envoyée automatiquement et sans interruption.
L'URL externe ne remplace pas l'URL d'entrée standard, qu'elle complète. Les deux URL forment une URL composée qui inclut les adresses externes et internes, et qui est chiffrée lorsque cela est nécessaire afin de garantir le transfert sans heurt des URL intégrées. Le routage d'authentification peut inclure plusieurs serveurs ainsi, généralement, les URL incluent des paramètres de requête qui indiquent à chaque serveur où rediriger après avoir traité la demande.
La propriété externalUrl prend en charge les macros suivantes :
  • ${entryurl}
    Insère la propriété de configuration actuelle entryUrl.
  • replace(regex,replacement,text)
    Remplace toutes les instances de regex par remplacement dans le texte.
  • encode()
    Remplace le texte par du texte codé UTF-8.
Vous pouvez combiner et imbriquer les macros.
Spécifiez les caractères XML restreints tels que les esperluettes à l'aide du nom d'entité équivalent (par exemple, &amp;). L'échec de cette opération peut empêcher le démarrage de l'ensemble des services
Clarity PPM
.
Exemple : génération d'une URL externe
L'itinéraire d'authentification pour un environnement particulier détermine la valeur externalUrl. Le routage d'authentification inclut précisément les adresses de chaque serveur dans le routage et les paramètres requis par chaque serveur. Avant de définir cette valeur, déterminez votre itinéraire en collectant les informations.
Par exemple, prenez l'environnement suivant :
  • Serveur 1
    Objectif
    : serveur d'authentification externe
    Adresse
    : http://auth.somecompany.com
    Paramètres obligatoires
    : REDIRECT
    Description
    : authentifie (en appelant la connexion si nécessaire), puis redirige vers l'adresse spécifiée dans le paramètre REDIRECT
  • Serveur 2
    Objectif
    : serveur d'authentification interne
    Adresse
    : http://sso.mycompany.com
    Paramètres obligatoires
    : TARGET
    Description
    : appelle l'authentification unique interne, puis achemine la demande à l'adresse spécifiée dans le paramètre TARGET
  • Serveur 3
    Objectif
    : serveur d'applications
    Clarity PPM
    Adresse
    : http://ca_ppm.mycompany.com
    Paramètres obligatoires
    : tous les paramètres
    Clarity PPM
    standard
    Description
    : adresse spécifiée dans entryUrl
Pour résumer, les demandes sont d'abord acheminées vers http://auth.somecompany.com, qui correspond au système de gestion des identités externes. Elles sont ensuite dirigées vers le serveur d'authentification unique interne à l'adresse http://sso.mycompany.com. Enfin, les demandes accèdent au serveur à l'adresse http://ca_ppm.mycompany.com.
Procédez comme suit :
  1. La construction de l'URL externe démarre lorsque vous commencez par ajouter le premier arrêt, le serveur d'authentification externe :
    externalUrl=http://auth.somecompany.com
    Ce serveur requiert un paramètre, REDIRECT, qui indique au serveur où adresser la demande après l'avoir traitée. Dans cet exemple, la demande va vers le serveur d'authentification interne :
    externalUrl=http://auth.somecompany.com?REDIRECT=http://sso.mycompany.com
  2. Le serveur SSO interne requiert un paramètre, TARGET, qui contient l'URL d'entrée
    Clarity PPM
    standard. La macro ${entryurl} s'étend automatiquement au paramètre entryUrl actuel lorsque des notifications sont envoyées :
    externalUrl=http://auth.somecompany.com?REDIRECT=http://sso.mycompany.com?TARGET=${entryurl}
  3. L'URL externe est presque complète, mais il reste une étape.
    Le paramètre REDIRECT du Serveur 1 contient des caractères qui doivent être codés UTF-8 pour pouvoir être transférés sur une chaîne de requête sans problème. La macro de code indique :
    externalUrl=http://auth.somecompany.com?REDIRECT=encode(http://sso.mycompany.com?TARGET=${entryurl})
    Le serveur 2 présente également un paramètre qui doit être codé :
    externalUrl=http://auth.somecompany.com?REDIRECT=encode(http://sso.mycompany.com?TARGET=encode(${entryurl}))
    Les macros encode() sont imbriquées. La macro interne est ainsi encodée en double, ce qui signifie que le texte codé au format UTF-8 est codé une deuxième fois. Cet encodage double est nécessaire parce que le Serveur 1 décode le paramètre entier REDIRECT sur le premier arrêt et le Serveur 2 attend un paramètre codé UTF-8. Vous pouvez imbriquer la macro d'encodage autant de fois que nécessaire pour vous assurer que le dernier paramètre dispose de l'encodage correct.
Cycle de vie de la demande
Lorsqu'une nouvelle notification par courriel
Clarity PPM
est générée, les propriétés externalUrl et entryUrl sont utilisées pour générer une URL de clic publicitaire appropriée pour l'événement. Exemple d'URL standard (sans la propriété externalUrl) :
http://ca_ppm.mycompany.com/niku/nu#action:timeadmin.currentTimesheet
Avec l'activation d'externalUrl comme dans cet exemple, l'URL générée ressemblerait à :
externalUrl=http://auth.somecompany.com?REDIRECT=http%3A%2F%2Fsso.mycompany.com%3FTARGET%3Dhttp%253A%252F%252Fca_ppm.mycompany.com%252Fniku%252Fnu%2523action%253Atimeadmin.currentTimesheet
L'exemple précédent porte sur une URL qui pointe vers le Serveur 1 ainsi que sur un paramètre unique avec les adresses de Serveur 2 et de Serveur 3 et les propriétés codées en UTF-8 (URL d'entrée en double). Lorsqu'un utilisateur clique sur cette URL, la demande est envoyée au Serveur 1 (http://auth.somecompany.com). Le serveur 1 décode le paramètre (tout le texte après REDIRECT=) dans :
http://sso.mycompany.com?TARGET=http%3A%2F%2Fca_ppm.mycompany.com%2Fniku%2Fnu%23action%3Atimeadmin.currentTimesheet
Le serveur 1 utilise l'URL pour rediriger vers le Serveur 2. La chaîne de paramètre du Serveur 2 reste codée, bien que la chaîne de requête ait été décodée par le Serveur 1 dans sa totalité. L'exemple ci-dessous indique l'effet du double encodage. Le Serveur 2 décode à son tour le paramètre TARGET pour produire :
http://ca_ppm.mycompany.com/niku/nu#action:timeadmin.currentTimesheet
L'URL précédente est la dernière : elle est décodée et prête pour traitement par
Clarity PPM
. Tout au long du processus, le Serveur 1 et le Serveur 2 effectuent leur fonction d'authentification. Lorsque la demande atteint
Clarity PPM
, elle contient le jeton d'authentification unique approprié pour l'identification de l'utilisateur.
Clarity PPM
ne participe pas au processus d'authentification, si ce n'est pour générer l'URL correcte lors de création de la notification.
Dépannage des URL externes
La clé pour dépanner une URL externe problématique consiste à comprendre les valeurs attendues par chaque serveur dans la chaîne. Vous pouvez alors assurer le codage approprié des URL et des paramètres à chaque point. Vous pouvez vérifier manuellement une URL de notification donnée à l'aide des étapes suivantes.
Procédez comme suit :
  1. Téléchargez un utilitaire de décodage UTF-8 ; celui-ci peut être simple.
  2. Générez un courriel de notification à l'aide du paramètre d'URL externe actuel.
  3. Vérifiez l'URL et assurez-vous que la première partie de l'URL pointe vers le Serveur 1. La première partie de l'URL inclut tous les éléments jusqu'au premier point d'interrogation.
  4. Ignorez tout jusqu'au premier point d'interrogation inclus, en laissant la chaîne de paramètre qui a été transférée au Serveur 1.
  5. Décodez la chaîne restante une fois à l'aide de l'utilitaire de décodage UTF-8.
    La chaîne décodée représente les paramètres transférés au Serveur 1. Vérifiez que les paramètres sont corrects.
  6. Ignorez le nom du paramètre (REDIRECT, dans notre exemple) et vérifiez que la première partie de l'URL pointe vers le Serveur 2. Là encore, l'ensemble du contenu jusqu'au point d'interrogation est inclus dans la première partie de l'URL.
  7. Encore une fois, ignorez tout jusqu'au point d'interrogation, puis décodez une fois la chaîne restante.
  8. Vérifiez les points suivants :
    • La première partie de l'URL pointe vers le serveur
      Clarity PPM
      .
    • La chaîne de requête restante contient des paramètres
      Clarity PPM
      standard.
    • Les paramètres ne sont pas codés.
Quelle méthode
Clarity PPM
utilise-t-il pour suivre les sessions d'utilisateur ?
Un cookie basé sur la session transporte un jeton utilisé pour accéder aux données de la session ; il et conservé aux emplacements suivants :
  • Cache (pour un environnement d'application unique)
  • Base de données (pour un environnement en cluster)
Cela entraîne-t-il des limitations au niveau de notre environnement ?
Le navigateur Web de l'utilisateur final doit accepter les cookies en provenance de l'application
Clarity PPM
. Les cookies sont basés sur la session, ils ne sont donc pas écrits sur le disque.
Les équilibreurs de charge ou les clusters sont-ils influencés par cette technique ?
L'équilibrage de charge et la mise en cluster fonctionnent bien avec cette technique. Beaucoup de sociétés équilibrent la charge et mettent en cluster
Clarity PPM
.
Est-il possible de pirater une session involontairement ou intentionnellement ?
Voler de façon malveillante la session d'un utilisateur supposerait de surveiller le trafic HTTP pour prélever les en-têtes contenant le cookie d'authentification. Ce jeton, toutefois, est valide uniquement pendant que le vrai utilisateur est connecté. Une fois que cet utilisateur se déconnecte, les informations de session dans la base de données ou dans le cache que
Clarity PPM
fait correspondre à la valeur de cookie sont supprimées.
Comment puis-je éviter que les ID de session soient enregistrés dans les journaux ?
Par mesure de sécurité, vous pouvez configurer
Clarity PPM
pour empêcher l'affichage des valeurs d'ID de session dans vos fichiers journaux. Pour empêcher l'affichage de ces valeurs, modifiez le fichier logger.xml. Remplacez le modèle de journal %u:%s:%a) par le modèle (%U:%a).
Les exemples ci-dessous illustrent l'utilisation de ces deux modèles de journaux dans le fichier logger.xml.
Exemple : (%u:%s:%a)
Cette ligne de code illustre le modèle d'affichage de la valeur d'ID de session dans le fichier logger.xml.
<param name="ConversionPattern" value="%-5p %d{ISO8601} [%t] %c{2} (%u:%s:%a) %m\r\n"/>
Ce modèle génère des enregistrements dans un fichier journal avec la valeur d'ID de session. L'enregistrement suivant provenant du fichier app-ca.log illustre la valeur d'ID de session (en gras) :
DEBUG 2014-08-18 19:52:02,949 [http-bio-80-exec-3] odf.view (ca_ppm:admin:
5077018__8DF3B2A0-F398-4A4B-BC35-E9A012065CE0
:npt.overview) Adding view FILTER_VIEW_LOADER::USER:NIKU.ROOT to transient cache
Exemple : (%U:%a)
Cette ligne de code illustre le modèle empêchant l'affichage de la valeur d'ID de session dans le fichier logger.xml.
<param name="ConversionPattern" value="%-5p %d{ISO8601} [%t] %c{2} (%U:%a) %m\r\n"/>
Ce modèle génère un enregistrement dans un fichier journal sans valeur d'ID de session. L'exemple suivant est un enregistrement provenant du fichier app-ca-service.log sans valeur d'ID de session.
DEBUG 2014-08-18 19:52:02,494 [http-bio-80-exec-3] in.service (admin:npt.overview)
Si la mise en page est définie sur NikuLayout dans le fichier logger.xml pour un suffixe,
Clarity PPM
prend en charge des modèles de journalisation supplémentaires.
Option de modèle
Objectif
u
Permet de créer l'ID d'utilisateur avec l'ID de client hébergé dans le journal.
Exemple : (%u) crée la sortie (clarity:admin) dans le journal.
U
Permet de créer l'ID d'utilisateur dans le journal.
Exemple : (%U) crée la sortie (admin) dans le journal.
s
Permet de créer l'ID de session dans le journal.
Exemple : (%s) crée la sortie (5077018__8DF3B2A0-F398-4A4B-BC35-E9A012065CE0) dans le journal.
a
Permet de créer l'ID d'action dans le journal.
Exemple : (%a) crée la sortie (npt.overview) dans le journal.
Pour plus d'informations sur les modèles log4j pris en charge par la version 1.2, consultez la documentation de l'API pour la classe PatternLayout à l'adresse suivante : https://logging.apache.org.
Activation du mode de fonctionnnement FIPS 140-2
La norme FIPS 140-2 décrit les exigences définies par le gouvernement américain en matière de chiffrement des données sensibles. Vous pouvez configurer
Clarity PPM
pour utiliser le mode conforme à la norme FIPS 140-2 sur le serveur d'applications Apache Tomcat. Ce mode de fonctionnement du serveur utilise un module de chiffrement conforme à la norme FIPS 140-2. Les opérations qui utilisent le mode FIPS sont par exemple le protocole SSL et le chiffrement du mot de passe, tels que définis dans la page de propriétés du serveur de sécurité.
A partir de CA PPM version 15.3, un nouveau package cryptographique Bouncy Castle pour FIPS remplace le fournisseur FIPS RSA BSAFE des versions précédentes.
Pour configurer
Clarity PPM
en mode conforme à la norme FIPS 140-2, appliquez les restrictions opérationnelles suivantes.
Si vous ne suivez pas ces étapes avec précaution, l’application peut ne pas démarrer et des exceptions peuvent s'afficher dans les journaux.
Procédez comme suit :
  1. Avant d'activer le mode FIPS, vérifiez les points suivants :
    1. Si vous procédez à une mise à niveau vers 15.5.1, désactivez le mode FIPS. Désactivez d'abord le mode FIPS ; si vous devez toutefois l'utiliser, reportez la mise à niveau jusqu'à ce qu'un patch soit disponible. La version 15.5.1 ne prend pas en charge le mode FIPS.
    2. Vérifiez que votre matériel prend en charge la génération aléatoire sécurisée, ou que vous avez installé un démon de génération aléatoire sécurisée.
  2. Lorsque vous utilisez HTTPS, le référentiel de clés SSL doit être au format Bouncy Castle (BC). Créez un référentiel de clés au format BC :
    keytool -genkey -keyalg RSA -alias selfsigned -sigalg SHA256withRSA -keystore <path_to_keystore>\mykeystore.jks -keypass <key_password> -storepass <store_password> -validity 365 -keysize 2048 -storetype BCFKS -provider org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath <path_to_fips_provider_jar>\bc-fips.jar
    Les exemples illustrent des commandes utilisant Java keytool. Vous pouvez utiliser différents outils tels que openSSL pour créer le référentiel de clés.
  3. Si vous disposez déjà du référentiel de clés au format Sun JKS (par exemple, d’une version antérieure), vous pouvez convertir le référentiel de clés au format BC.
    keytool -importkeystore -srckeystore <path_to_keystore>\mykeystore.jks -srcstoretype JKS -srcstorepass <password> -destkeystore <path_to_keystore>\mykeystore.bcfks -deststoretype BCFKS -deststorepass <password> -provider org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider -providerpath <path_to_fips_provider_jar>\bc-fips.jar
  4. Accédez au répertoire JAVA_HOME utilisé par le serveur
    Clarity PPM
    .
  5. Copiez le fichier
    bc-fips.jar
    sous <répertoire_installation>/lib) vers le répertoire JAVA_HOME/jre/lib/ext.
  6. Sous JAVA_HOME/jre/lib/security, modifiez le fichier java.security.
    1. Supprimez l’ancienne entrée de fournisseur suivante dans la liste :
      com.sun.net.ssl.internal.ssl.Provider
       
       
       
    2. Ajoutez les fournisseurs suivants à la liste :
      security.provider.1=org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider
      security.provider.2=com.sun.net.ssl.internal.ssl.Provider BCFIPS
    3. Renumérotez les entrées d’index des autres fournisseurs. L'exemple suivant illustre une liste mise à jour :
      security.provider.1=org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider security.provider.2=com.sun.net.ssl.internal.ssl.Provider BCFIPS security.provider.3=sun.security.provider.Sun security.provider.4=sun.security.rsa.SunRsaSign security.provider.5=sun.security.ec.SunEC security.provider.6=com.sun.crypto.provider.SunJCE security.provider.7=sun.security.jgss.SunProvider security.provider.8=com.sun.security.sasl.Provider security.provider.9=org.jcp.xml.dsig.internal.dom.XMLDSigRI security.provider.10=sun.security.smartcardio.SunPCSC security.provider.11=sun.security.mscapi.SunMSCAPI
  7. Connectez-vous à l'outil d'administration du système.
  8. Dans le menu
    Accueil
    , cliquez sur
    Serveurs
    .
  9. Cliquez sur le nom de l'action à configurer.
  10. Cliquez sur l'onglet
    Sécurité
    .
    image2017-6-6 11:59:41.png
  11. Sélectionnez la case à cocher
    Mode FIPS 140-2 activé
    .
  12. Dans le champ
    Chiffrer les mots de passe
    , sélectionnez
    Utilisation de la clé système
    . Vous pouvez également sélectionner
    Utilisation du fichier de clé personnalisé
    .
  13. Vérifiez que la longueur du mot de passe de connexion à
    Clarity PPM
    pour chaque utilisateur est d'au moins 14 caractères. Lorsque vous effectuez une mise à niveau à partir d'un environnement
    Clarity PPM
    précédent avec le mode FIPS activé, la nouvelle version requiert un nouveau mot de passe si l'ancien était trop court.
  14. Cliquez sur
    Save
    .
  15. Arrêtez, déployez et démarrez les services app et bg dans <répertoire_installation>/bin. Pour appliquer les modifications, émettez les trois commandes, l'une après l’autre :
    1. service stop app bg
    2. service deploy app bg
    3. service start app bg
Etant donné que votre matériel peut prendre en charge
secure random
et que vous pouvez avoir un
démon secure random
installé de différentes façons, nous ne pouvons pas décrire précisément les étapes. Un exemple des étapes finales requises pour activer FIPS dans un environnement SaaS se présente comme suit :
  1. Effectuez une sauvegarde du fichier suivant :
    /opt/java/jdk1.8.0_101/jre/lib/security/java.security
  2. Changez la ligne suivante :
    Remplacez :
    securerandom.source=file:/dev/random
    par :
    securerandom.source=file:/dev/urandom
     
     
     
  3. Exécutez la commande suivante :
    service deploy start beacon nsa app bg
Mode FIPS non pris en charge dans 15.5.1
Un problème connu empêche l'activation de la norme FIPS dans la version 15.5.1. Avant de procéder à la mise à niveau vers 15.5.1, réinitialisez votre configuration pour annuler les modifications de configuration apportées et activer le mode FIPS 140-2 dans une version antérieure. Si vous ne désactivez pas le mode FIPS avant la mise à niveau vers la version 15.5.1, des erreurs risquent de se produire.
De manière générale, les administrateurs système génèrent un nouveau référentiel de clés après une mise à niveau et continuent à utiliser leurs anciennes clés. Dans l'idéal, JDK 11 doit être capable de lire les référentiels de clés plus anciens générés par des versions antérieures de JDK, d'OpenJDK ou d'OpenSSL. Toutefois, après la mise à niveau vers 15.5.1 avec le mode FIPS activé dans la version antérieure, la vérification de signature BCFIP.jar échoue. Bouncy Castle (notre fournisseur de chiffrement) ne prend pas en charge la norme FIPS avec JDK 11. L'erreur suivante peut s'afficher dans les journaux :
java.util.jar.JarException: file:/fs0/niku/1551runtime/lib/bc-fips.jar not signed by trusted signer
Solution :
pour y remédier, mettez BCFIPS en commentaire dans les propriétés
java.security
et ignorez l'erreur FIPS ci-dessus dans les journaux.
# List of providers in their preferred order: # security.provider.1=org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider #security.provider.1=BCFIPS security.provider.2=SunJSSE BCFIPS security.provider.3=SUN security.provider.4=SunRsaSign security.provider.5=SunEC security.provider.6=SunJCE security.provider.7=SunJGSS security.provider.8=SunSASL security.provider.9=XMLDSig security.provider.10=SunPCSC security.provider.11=JdkLDAP security.provider.12=JdkSASL security.provider.13=SunPKCS11
L'environnement d'exécution Java (JRE) n'est plus inclus dans le kit de développement Java (JDK) 11. Lorsqu'un correctif est détecté, vous devez copier le fichier JAR du fournisseur FIPS (bc-fips.jar) sous
JAVA_HOME/lib
et non sous
JAVA_HOME/JRE/lib/ext
. N'oubliez pas de modifier la liste de fournisseurs de sécurité dans le fichier de propriétés sous
JAVA_HOME/conf/security/java.security
et non à l'emplacement de l'ancienne version Java 8 (
JAVA_HOME/JRE/lib/security/java.security
).