2.2 Sécurité

Le passage de pré production en production implique généralement le renforcement des aspects de sécurité du système. En test sandbox, il se peut que vous ayez utilisé le HTTP classique pour connecter le pilote d'application utilisateur à JBoss, ou que vous ayez utilisé un certificat signé automatiquement (comme mesure temporaire) pour la communication pilote/serveur d'applications. En production, en revanche, vous utiliserez probablement des connexions sécurisées, avec l'authentification du serveur basée sur le certificat Verisign (ou d'un autre fournisseur approuvé) de votre entreprise.

Il est classique d'utiliser des certificats X.509 à plusieurs endroits de l'environnement de l'application utilisateur Identity Manager, comme l'illustre le diagramme ci-dessous.

Description : Description : Illustration

Toutes les communications entre l'application utilisateur et le coffre-fort d'identité sont sécurisées, par défaut avec la sécurité de la couche de transport. L'installation du certificat du coffre-fort d'identité (eDirectory) dans le keystore de JBoss s'effectue automatiquement lors de l'installation. Sauf si vous indiquez le contraire, le programme d'installation de l'application utilisateur place une copie du certificat eDirectory dans le magasin cacerts de JRE par défaut.

Le certificat de serveur doit se trouver à plusieurs endroits si les communications doivent être sécurisées, comme le montre le diagramme. Différentes étapes de configuration peuvent s'avérer nécessaire si vous avez l'intention d'utiliser un certificat signé automatiquement dans les différents emplacements du diagramme indiqués avec un cadre JBoss cert, ou si vous avez l'intention (plutôt) d'utiliser un certificat émis par un organisme de certification reconnu tel que Verisign.

Certificats signés automatiquement

Si vous utilisez un certificat d'un émetteur reconnu (par exemple, Verisign), aucune étape spéciale de configuration n'est nécessaire. Par contre, si vous avez l'intention de créer et d'utiliser un certificat signé automatiquement, vous devez parcourir les étapes suivantes :

  1. Créez un keystore avec un certificat signé automatiquement, en utilisant une syntaxe de ligne de commande comme ci-dessous.

    keytool -genkey -alias tomcat -keyalg RSA -storepass changeit -keystore jboss.jks -dname "cn=JBoss,ou=exteNd,o=Novell,l=Waltham,s=MA,c=US" -keypass changeit
    

    Notez que vous créez le fichier “jboss.jks” ainsi que le certificat.

  2. Copiez le fichier keystore (jboss.jks) dans votre répertoire d'application utilisateur JBoss, par exemple :

    cp jboss.jks ~/jboss-4.0.2/server/spitfire/conf
    

Activation de SSL dans JBoss

Pour activer SSL dans JBoss, recherchez le fichier jbossweb-tomcat55.sar sous [IDM]/jboss/server/IDM/deploy/. Recherchez le fichier server.xml et ouvrez-le dans un éditeur de texte. Activez SSL en supprimant le commentaire ou en ajoutant une section du type :

<Connector port="8443" address="${jboss.bind.address}"
     maxThreads="100" strategy="ms" maxHttpHeaderSize="8192"
     emptySessionPath="true"
     scheme="https" secure="true" clientAuth="false" 
     keystoreFile="${jboss.server.home.dir}/spitfire/conf/jboss.jks"
     keystorePass="changeit" sslProtocol = "TLS" />

Activation de la sécurité SOAP

Dans IDM.war, recherchez le fichier web.xml et ouvrez-le dans un éditeur de texte. En bas du fichier, supprimez le commentaire de la section suivante :

<security-constraint>
        <web-resource-collection>
                <web-resource-name>IDMProv</web-resource-name>
                <url-pattern>/*</url-pattern>
                <http-method>POST</http-method>
                <http-method>GET</http-method>
                <description>IDM Provisioning Edition</description>
                </web-resource-collection>
        <user-data-constraint>
                <transport-guarantee>CONFIDENTIAL</transport guarantee>
        </user-data-constraint>
</security-constraint>

Enregistrez le fichier et l'archive. Redémarrez JBoss.

2.2.1 Authentification mutuelle

L'application utilisateur Identity Manager prend en charge les scénarios classique d'authentification du serveur (utilisés couramment dans les sessions https avec des pages Web sécurisées sur le Web), mais ne prend pas en charge l'authentification bidirectionnelle basée sur certificat prête à l'emploi. Cette fonctionnalité peut toutefois s'obtenir en utilisant Novell iChain. Si (par exemple) votre organisation doit autoriser des utilisateurs à se loguer via un certificat utilisateur, plutôt que via un mot de passe, vous pourrez donc y parvenir en ajoutant iChain à votre environnement.

Contactez votre représentant Novell pour obtenir davantage d'informations.