« EJBCA Pas à Pas » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
Aucun résumé des modifications |
||
(3 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 5 : | Ligne 5 : | ||
* Renommer le dossier '''/opt/jboss-x.x.x''' en '''/opt/jboss''' | * Renommer le dossier '''/opt/jboss-x.x.x''' en '''/opt/jboss''' | ||
* Editer le fichier '''/opt/jboss/bin/run.conf''' et changer les paramètres mémoire '''-Xms***m -Xmx***m''' etc... | * Editer le fichier '''/opt/jboss/bin/run.conf''' et changer les paramètres mémoire '''-Xms***m -Xmx***m''' etc... | ||
* Editer le fichier '''/opt/jboss/server/default/bootstrap/bindings.xml''' pour modifier (éventuellement) les ports 8080 et 8443 selon le besoin. Ne '''pas''' modifier les valeurs des ports dans la section des ''transform'' à la fin du fichier. | * Editer le fichier '''/opt/jboss/server/default/conf/bootstrap/bindings.xml''' ou '''/opt/jboss/server/default/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml''' pour modifier (éventuellement) les ports 8080 et 8443 selon le besoin. Ne '''pas''' modifier les valeurs des ports dans la section des ''transform'' à la fin du fichier. | ||
* Créer un nouvel utilisateur et groupe '''jboss''' avec la commande | * Créer un nouvel utilisateur et groupe '''jboss''' avec la commande | ||
useradd -r -U -d /opt/jboss jboss | useradd -r -U -d /opt/jboss jboss | ||
Ligne 15 : | Ligne 15 : | ||
mkdir /var/log/jboss | mkdir /var/log/jboss | ||
chown jboss:jboss /var/log/jboss | chown jboss:jboss /var/log/jboss | ||
* Editer le nom du serveur smtp dans le fichier '''/opt/jboss/server/default/deploy/mail-service.xml''' | |||
* Sous gentoo il faut créer le fichier '''/etc/profile.d/jboss.sh''' avec le contenu: | * Sous gentoo il faut créer le fichier '''/etc/profile.d/jboss.sh''' avec le contenu: | ||
<pre> | <pre> | ||
Ligne 206 : | Ligne 207 : | ||
* Copier les version ''sample'' en version ''properties'': | * Copier les version ''sample'' en version ''properties'': | ||
cp database.properties.sample database.properties | cp database.properties.sample database.properties | ||
cp mail.properties.sample mail.properties | |||
cp web.properties.sample web.properties | cp web.properties.sample web.properties | ||
cp ejbca.properties.sample ejbca.properties | cp ejbca.properties.sample ejbca.properties | ||
* Editer le fichier '''database.properties''' et configurer les accès à la base de données | * Editer le fichier '''database.properties''' et configurer les accès à la base de données | ||
* Editer le fichier '''mail.properties''' et configurer le nom du serveur smtp et l'adresse de l'émetteur des emails | |||
* Editer le fichier '''web.properties''' et configurer les modifications (modifier uniquement les mots de passe) | * Editer le fichier '''web.properties''' et configurer les modifications (modifier uniquement les mots de passe) | ||
* Editer le fichier '''ejbca.properties''' et configurer la section ''Basic CA configuration'' et les mots de passe | * Editer le fichier '''ejbca.properties''' et configurer la section ''Basic CA configuration'' et les mots de passe |
Dernière version du 16 janvier 2010 à 21:02
Installer JBOSS
Des Instructions d'installation plus générales se trouvent ici
- Télécharger JBOSS depuis http://www.jboss.org/jbossas/downloads/
- Dé-zipper l'archive dans /opt
- Renommer le dossier /opt/jboss-x.x.x en /opt/jboss
- Editer le fichier /opt/jboss/bin/run.conf et changer les paramètres mémoire -Xms***m -Xmx***m etc...
- Editer le fichier /opt/jboss/server/default/conf/bootstrap/bindings.xml ou /opt/jboss/server/default/conf/bindingservice.beans/META-INF/bindings-jboss-beans.xml pour modifier (éventuellement) les ports 8080 et 8443 selon le besoin. Ne pas modifier les valeurs des ports dans la section des transform à la fin du fichier.
- Créer un nouvel utilisateur et groupe jboss avec la commande
useradd -r -U -d /opt/jboss jboss
- Associer tous les fichiers dans /opt/jboss à l'utilisateur jboss via
chown -R jboss:jboss /opt/jboss
- Il faudra se rappeler de réallouer tous les fichiers modifiés par root à l'utilisateur jboss, ou alors les modifications futures de fichiers devront se faire en tant qu'utilisateur jboss via:
su - jboss
- Créer un dossier de logs avec:
mkdir /var/log/jboss chown jboss:jboss /var/log/jboss
- Editer le nom du serveur smtp dans le fichier /opt/jboss/server/default/deploy/mail-service.xml
- Sous gentoo il faut créer le fichier /etc/profile.d/jboss.sh avec le contenu:
#!/bin/sh # export des variables d'environnement JBOSS_HOME export JBOSS_HOME=/opt/jboss # export de la variable d'environnement JBOSS_HOST export JBOSS_HOST=0.0.0.0 # Fichier de log Jboss export JBOSS_CONSOLE=/var/log/jboss/jboss.log # Utilisateur à utiliser pour démarrer jboss export JBOSSUS=jboss # Serveur jboss à utiliser export JBOSS_SERVER=default
Puis il faut relancer son shell pour que les modifications prennent effet.
Script de lancement
Sur gentoo vous pouvez utiliser le fichier suivant (à sauvegarder dans /etc/init.d/jboss) comme fichier de lancement:
#!/bin/sh start(){ echo "starting jboss.." su -l jboss -c '/opt/jboss/bin/run.sh >> /var/log/jboss/log 2>> /var/log/jboss/errors &' } stop(){ echo "stopping jboss.." # su -l jboss -c '/opt/jboss/bin/shutdown.sh -S &' su -l jboss -c '/opt/jboss/bin/shutdown.sh -S' } restart(){ stop sleep 60 su -l jboss -c 'killall java' start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; *) echo "Usage: jboss {start|stop|restart}" exit 1 esac exit 0
Options de sécurité
Pour sécuriser l'accès aux différentes consoles jboss, accessibles par défaut sur http://localhost:8080/ il faut éditer les fichiers suivants:
Sécuriser la console JMX
- /opt/jboss/server/default/conf/props/jmx-console-users.properties et modifier la ligne admin=admin en username=password
- /opt/jboss/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml et dé-commenter la section:
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd"> <jboss-web> <security-domain>java:/jaas/jmx-console</security-domain> </jboss-web>
- /opt/jboss/server/default/deploy/jmx-console.war/WEB-INF/web.xml et dé-commenter la section suivante:
<!-- A security constraint that restricts access to the HTML JMX console to users with the role JBossAdmin. Edit the roles to what you want and uncomment the WEB-INF/jboss-web.xml/security-domain element to enable secured access to the HTML JMX console. <security-constraint> <web-resource-collection> <web-resource-name>HtmlAdaptor</web-resource-name> <description>An example security config that only allows users with the role JBossAdmin to access the HTML JMX console web application </description> <url-pattern>/*</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <auth-constraint> <role-name>JBossAdmin</role-name> </auth-constraint> </security-constraint>
Sécuriser l'accès au status
- /opt/jboss/server/default/deploy/ROOT.war/WEB-INF/jboss-web.xml et y mettre le contenu:
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd"> <jboss-web> <security-domain>java:/jaas/jmx-console</security-domain> </jboss-web>
- jboss/server/default/deploy/ROOT.war/WEB-INF/web.xml et y ajouter les lignes:
<security-constraint> <web-resource-collection> <web-resource-name>HtmlAdaptor</web-resource-name> <description>An example security config that only allows users with the role JBossAdmin to access the status application </description> <url-pattern>/status</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <auth-constraint> <role-name>JBossAdmin</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> <realm-name>JBoss Status</realm-name> </login-config> <security-role> <role-name>JBossAdmin</role-name> </security-role>
Sécuriser la Web Console Java
- /opt/jboss/server/default/conf/props/web-console-users.properties et y mettre la ligne username=password
- /opt/jboss/server/default/conf/props/web-console-roles.properties et y mettre la ligne admin=JBossAdmin,HttpInvoker
- jboss/server/default/conf/login-config.xml et y mettre à jour le chemin vers web-console-users.properties en /props/web-console-users.properties, et de même pour web-console-roles.properties
- jboss/server/default/deploy/management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml et dé-commenter la ligne security-domain:
!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd"> <jboss-web> <security-domain>java:/jaas/web-console</security-domain> <!-- The war depends on the --> <depends>jboss.admin:service=PluginManager</depends> </jboss-web>
- /opt/jboss/server/default/deploy/management/console-mgr.sar/web-console.war/WEB-INF/web.xml et dé-commenter la section:
<!-- A security constraint that restricts access to the HTML JMX console to users with the role JBossAdmin. Edit the roles to what you want and uncomment the WEB-INF/jboss-web.xml/security-domain element to enable secured access to the HTML JMX console. <security-constraint> <web-resource-collection> <web-resource-name>HtmlAdaptor</web-resource-name> <description>An example security config that only allows users with the role JBossAdmin to access the HTML JMX console web application </description> <url-pattern>/*</url-pattern> <http-method>GET</http-method> <http-method>POST</http-method> </web-resource-collection> <auth-constraint> <role-name>JBossAdmin</role-name> </auth-constraint> </security-constraint>
Installer EJBCA
Une aide très utile se trouve dans ce document (source) et la documentation d'installation officielle se trouve sur la page ejbca
- Télécharger EJBCA depuis http://www.ejbca.org/download.html
- Dé-zipper l'archive dans /opt
- Renommer le dossier /opt/ejbca-x.x.x en /opt/ejbca
- Sous gentoo il faut créer le fichier /etc/profile.d/ejbca.sh avec le contenu:
#!/bin/sh # Ajout de la variable d'environnement pour EJBCA export EJBCA_HOME=/opt/ejbca
Puis il faut relancer son shell pour que les modifications prennent effet.
- Créer dans l'outil d'administration mysql un nouvel utilisateur ejbca et lui associer une nouvelle base de données ejbca
- Télécharger la dernière version du driver JDBC mysql depuis http://dev.mysql.com/downloads/connector/j/5.1.html
- Dé-zipper l'archive dans /tmp
- Copier le fichier extrait mysql-connector-java-x.x.x-bin.jar dans le dossier /opt/jboss/server/default/lib/
- Copier les librairies Bouncycastle de ejbca vers jboss:
cp /opt/ejbca/lib/bc*.jar /opt/jboss/server/default/lib/
- Donner les droits au dossier ejbca à l'utilisateur jboss
chown -R jboss:jboss /opt/ejbca
- Il faudra se rappeler de réallouer tous les fichiers modifiés par root à l'utilisateur jboss, ou alors les modifications futures de fichiers devront se faire en tant qu'utilisateur jboss via:
su - jboss
Configuration
- Les fichiers de configuration se trouvent à un endroit centralisé
cd /opt/ejbca/conf
- Copier les version sample en version properties:
cp database.properties.sample database.properties cp mail.properties.sample mail.properties cp web.properties.sample web.properties cp ejbca.properties.sample ejbca.properties
- Editer le fichier database.properties et configurer les accès à la base de données
- Editer le fichier mail.properties et configurer le nom du serveur smtp et l'adresse de l'émetteur des emails
- Editer le fichier web.properties et configurer les modifications (modifier uniquement les mots de passe)
- Editer le fichier ejbca.properties et configurer la section Basic CA configuration et les mots de passe
Installation
- Vérifier que jboss est arrêté:
/etc/init.d/jboss stop
- Lancer le bootstrap en tant qu'utilisateur jboss:
su - jboss cd /opt/ejbca ant clean ant bootstrap
- Vérifier que jboss est démarré, puis attendre que le chargement soit fini en surveillant les logs:
/etc/init.d/jboss start tail -f /var/log/jboss/log
- Lancer l'installation en tant qu'utilisateur jboss:
su - jboss cd /opt/ejbca ant install
- Si cette étape plante, pour pouvoir recommencer l'étape il faut nettoyer:
- la base mysql (tout effacer)
- les fichiers dans /opt/ejbca/p12
- et en tant que root:
cd /opt/ejbca ant javatruststore chown -R jboss:jboss /opt/jboss/
- Arrêter jboss:
/etc/init.d/jboss stop
- Lancer la commande de déploiement en tant qu'utilisateur jboss:
su - jboss cd /opt/ejbca ant deploy
- Vous pouvez maintenant lancer jboss et vous connecter aux pages d'administration à l'aide du certificat stocké dans le dossier /opt/ejbca/p12