< Précédent | Suivant >

Leçon 2.2 : Configuration de la sécurité du serveur de catalogue

Un serveur de catalogue contient deux niveaux d'informations de sécurité : le premier niveau contient les propriétés de sécurité communes à tous les serveurs WebSphere eXtreme Scale, y compris les serveurs de service de catalogue et de conteneur. Le deuxième niveau contient les propriétés de sécurité qui sont spécifiques du serveur de catalogue.

Les propriétés de sécurité qui sont communes au serveur de catalogue et au serveur de conteneur sont configurées dans le fichier XML du descripteur de sécurité. La configuration de l'authentificateur, qui représente le registre d'utilisateurs et le mécanisme d'authentification, est un exemple des propriétés communes. Voir Fichier XML du descripteur de sécurité pour plus d'informations sur les propriétés de sécurité.

Pour configurer le fichier descripteur XML de sécurité dans un environnement Java SE, utilisez une option -clusterSecurityFile lorsque vous exécutez la commande startOgServer. Indiquez une valeur dans un format de fichier, tel que samples_home/security_extauth/security3.xml.

Fichier security3.xml

Dans ce tutoriel, le fichier security3.xml se trouve dans le répertoire samples_home/security_extauth. Contenu du fichier security3.xml avec les commentaires supprimés :
<securityConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://ibm.com/ws/objectgrid/config/security ../objectGridSecurity.xsd"
	xmlns="http://ibm.com/ws/objectgrid/config/security">

	<security securityEnabled="true">
		<authenticator
	className="com.ibm.websphere.objectgrid.security.plugins.builtins.KeyStoreLoginAuthenticator">
		</authenticator>
	</security>
</securityConfig>
Les propriétés suivantes sont définies dans le fichier security3.xml :
securityEnabled
La propriété securityEnabled a la valeur true pour indiquer au serveur de catalogue que la sécurité globale WebSphere eXtreme Scale est activée.
authenticator
L'authentificateur est configuré com.ibm.websphere.objectgrid.security.plugins.builtins.KeyStoreLoginAuthenticator class. Avec cette implémentation intégrée dans le plug-in Authenticator, l'ID utilisateur et le mot de passe sont transmis pour vérifier qu'il est configuré dans le fichier de clés. La classe KeyStoreLoginAuthenticator utilise un alias de module de connexion KeyStoreLogin et une configuration de connexion Java Authentication and Authorization Service (JAAS) est donc nécessaire.

catServer3.props file

Le fichier de propriétés du serveur stocke les propriétés du serveur qui incluent ses propriétés de sécurité. Pour plus d'informations, voir Fichier de propriétés du serveur. Vous pouvez utiliser l'option -serverProps pour spécifier la propriété de serveur de catalogue lorsque vous exécutez la commande startOgServer. Pour ce tutoriel, un fichier catServer3.props se trouve dans le répertoire c. Contenu du fichier catServer3.props avec les commentaires supprimés :
securityEnabled=true
credentialAuthentication=Required
transportType=TCP/IP
secureTokenManagerType=none
authenticationSecret=ObjectGridDefaultSecret
securityEnabled
La propriété securityEnabled a la valeur true pour indiquer que ce serveur de catalogue est un serveur sécurisé.
credentialAuthentication
La propriété credentialAuthentication a la valeur Requis. Par conséquent, un client qui se connecte au serveur doit fournir des données d'identification. Dans le fichier de propriétés du client, la propriété credentialAuthentication a la valeur Pris en charge et le serveur reçoit donc les données d'identification envoyées par le client.
secureTokenManagerType
La propriété secureTokenManagerType a la valeur none pour indiquer que la valeur secrète d'authentification n'est pas chiffrée lors du regroupement avec les serveurs existants.
authenticationSecret
La propriété authenticationSecret a la valeur ObjectGridDefaultSecret. Cette chaîne secrète est utilisée pour devenir membre du cluster de serveurs eXtreme Scale. Lorsqu'un serveur rejoint la grille de données, il est invité à présenter la chaîne secrète. Si la chaîne secrète du serveur qui rejoint le cluster correspond à la chaîne dans le serveur de catalogue, le serveur devient membre du cluster. Dans le cas contraire, la demande de jointure est rejetée.
transportType
La propriété transportType a la valeur TCP/IP initialement. Plus loin dans le tutoriel, la sécurité du transport est activée.

Fichier xsjaas3.config

Etant donné que l'implémentation KeyStoreLoginAuthenticator utilise un module de connexion, vous devez configurer le modèle de connexion avec un fichier de configuration de connexion d'authentification JAAS. Contenu du fichier xsjaas3.config :

KeyStoreLogin{
com.ibm.websphere.objectgrid.security.plugins.builtins.KeyStoreLoginModule required
     keyStoreFile="samples_home/security_extauth/sampleKS3.jks" debug = true;
};
Si vous avez utilisé un emplacement pour samples_home autre que /wxs_samples/, vous devez mettre à jour l'emplacement de keyStoreFile. Cette configuration de connexion indique que le module com.ibm.websphere.objectgrid.security.plugins.builtins.KeyStoreLoginModule est utilisé en tant que module de connexion. Le fichier de clés est le fichier sampleKS3.jks.

L'exemple de fichier de clés sampleKS3.jks stocke deux ID utilisateur et les mots de passe : manager/manager1 et cashier/cashier1.

Vous pouvez utiliser les commandes suivantes keytool pour créer ce fichier de clés :
  • keytool -genkey -v -keystore ./sampleKS3.jks -storepass sampleKS1 
    -alias manager -keypass manager1 -dname CN=manager,O=acme,OU=OGSample 
    -validity 10000
  • keytool -genkey -v -keystore ./sampleKS3.jks -storepass sampleKS1 
    -alias operator -keypass operator1 -dname CN=operator,O=acme,OU=OGSample 
    -validity 10000

Démarrage du serveur de catalogue avec la sécurité activée

Pour démarrer le serveur de catalogue, exécutez la commande startOgServer avec les paramètres -clusterFile et -serverProps à transmettre dans les propriétés de sécurité.

Utilisez une installation autonome de WebSphere eXtreme Scale pour exécuter le serveur de catalogue. Lors de l'utilisation de l'image d'installation autonome, vous devez utiliser le SDK IBM. Vous pouvez utiliser le logiciel SDK qui est inclus avec WebSphere Application Server en définissant la variable JAVA_HOME pour qu'elle pointe vers le SDK IBM. Par exemple, set JAVA_HOME=racine_was/IBM/WebSphere/AppServer/java/
  1. Accédez au répertoire bin.
    cd rép_base_wxs/bin
  2. Exécutez la commande startOgServer.
    [Linux][Unix]
    ./startOgServer.sh cs1 -listenerPort 16809 -JMXServicePort 16099 -catalogServiceEndPoints
    cs1:[HOST_NAME]:16601:16602 -clusterSecurityFile samples_home/security_extauth/security3.xml
    -serverProps samples_home/security_extauth/catServer3.props -jvmArgs 
    -Djava.security.auth.login.config="samples_home/security_extauth/xsjaas3.config"
    [Windows]
    startOgServer.bat cs1 -listenerPort 16809 -JMXServicePort 16099 -catalogServiceEndPoints
    cs1:[HOST_NAME]:16601:16602 -clusterSecurityFile samples_home/security_extauth/security3.xml
    -serverProps samples_home/security_extauth/catServer3.props -jvmArgs 
    -Djava.security.auth.login.config="samples_home/security_extauth/xsjaas3.config"
Une fois que vous avez exécuté la commande startOgServer, un serveur sécurisé commence avec le port d'écoute 16809, le port client 16601, le port homologue 16602 et le port JMX 16099. Si un conflit de port existe, remplacez le numéro de port par un numéro de port non utilisé.

Arrêt d'un serveur de catalogue dont la sécurité est activée

Utilisez la commande stopOgServer pour arrêter le serveur de catalogue.

  1. Accédez au répertoire bin.
    cd rép_base_wxs/bin
  2. Exécutez la commande stopOgServer. [Linux][Unix]
    stopOgServer.sh cs1 -catalogServiceEndPoints localhost:16809 -clientSecurityFile 
    samples_home/security_extauth/client3.props


    [Windows]
    stopOgServer.bat cs1 -catalogServiceEndPoints localhost:16809 -clientSecurityFile 
    samples_home/security_extauth/client3.props

Point de contrôle de la leçon

Vous avez configuré la sécurité du serveur de catalogue en associant les fichiers security3.xml, catServer3.props, xsjaas3.config au service de catalogue.

< Précédent | Suivant >