un coup de main de linagora (qui a dit "une fois n'est pas coutume ?") : installation_ejbca_debian.pdf
java
ajouter non-free dans les sources.list (Etch)
- aptitude install sun-java5-jre
ajouter les JCE-policy (cf doc d'installation de EJBCA) (à packager avec deux diverts ?)
mysql-server
config utf8n, cf Etude/Unicode (+ collation-server = utf8_general_ci, mais est-ce utile ?)
- utilisateur+base dédiés :
CREATE DATABASE ejbca;
CREATE USER 'ejbca'@'localhost' IDENTIFIED BY 'motdepasse';
GRANT ALL ON ejbca.* TO 'ejbca'@'localhost';
- ajout de libmysql-java
jboss
deb http://apt.auf.org/ etch thomas
source http://git.auf.org/?p=pki;a=tree;f=jboss4 (inspiration : http://svn.debian.org/viewsvn/pkg-jboss/jboss4/trunk/)
mise en place d'un serveur ejbca (à partir du serveur par défaut) :
aptitude install jboss4
/etc/init.d/jboss4 stop (et attendre que le java arrête de mouliner)
/usr/share/jboss4/bin/create-server-config default ejbca
vi /etc/default/jboss4 : indiquer la valeur JBOSS_SERVER=ejbca
/etc/init.d/jboss4 start (et attendre 30 secondes que ça démarre...)
ejbca
ATTENTION, les opérations précédées de $ sont à faire en tant qu'utilisateur jboss
- préparation
# aptitude install sun-java5-jdk ant (on a besoin de compiler... ce paquet peut sans doute être supprimé ensuite)
$ unzip dans /tmp/ejbca_3_7_1
- adaptations de la configuration dans /tmp/ejbca_3_7_1/conf/ :
- conf/ejbca.properties
- conf/database.properties
- conf/mail.properties
- conf/ocsp.properties
- conf/web.properties
- conf/log.properties
# /etc/init.d/jboss4 stop
$ export APPSRV_HOME=/usr/share/jboss4
$ export ANT_OPTS=-Xmx512m
$ ant clean
- boostrap
avant : # chown jboss /srv/jboss4/ejbca/deploy
$ ant bootstrap
après : # chown root /srv/jboss4/ejbca/deploy
- finalisation
# ln -s /usr/share/java/mysql-connector-java.jar /srv/jboss4/ejbca/lib/ : ajout du connecteur java (mmh... y'a pas un moyen plus propre ? classpath ?)
- créations certifs
# /etc/init.d/jboss4 start
$ ant install
- déploiement
# /etc/init.d/jboss4 stop
avant : # chown jboss /srv/jboss4/ejbca/conf /srv/jboss4/ejbca/deploy /srv/jboss4/ejbca/deploy/jboss-web.deployer
$ ant deploy
après : # chown jroot /srv/jboss4/ejbca/conf /srv/jboss4/ejbca/deploy /srv/jboss4/ejbca/deploy/jboss-web.deployer
- premier test
# /etc/init.d/jboss4 start (attendre 1 min 30 à 2 min sur igc.auf ; ne pas pleurer)
aller sur http://.....:8442/ejbca
- récupération des clés ./p12/superadmin.p12 dans le navigateur
aller sur http://.....:8443/ejbca (auth avec certif)
ok... bon... c'est à partir d'ici que ça commence à nécessiter quelques neurones
- TODO: un dernier atome de sécurisation
-
ajouter un groupe jboss et droits placer des droits rw-r----- root jboss sur les clés et autres (donc addgroup à faire dans le preinst de jboss)
ejbca en ligne de commande
- mv /..../ejbca_3_7_1 /usr/share/ejbca
- script /usr/bin/ejbca qui lance /usr/share/ejbca/bin/ejbca.sh avec APPSRV_HOME ok :
$ cat /usr/bin/ejbca #!/bin/sh export APPSRV_HOME=/usr/share/jboss4/ cd /usr/share/ejbca exec ./bin/ejbca.sh $@
- le tout accessible uniquement par l'utilisateur jboss pour éviter les soucis
mise en place infra PKI
d'abord relire la bible : http://git.auf.org/?p=pki;a=blob;f=ca-certificates-auf/openssl-auf.cnf
- création profils des certifs :
- AC RACINE (niveau 0) (ROOTCA)
- AC REGION (niveau 1) (SUBCA)
- AC PAYS (niveau 2) (SUBCA)
- AC IMPLANTATION (niveau 3) (SUBCA)
- AC CHEVEUXENQUATRE (SUBCA)
- Personnel AUF (ENDUSER)
- Serveur OpenVPN (ENDUSER ?)
- Serveur TLS/SSL (ENDUSER ?)
- création profils d'entités :
- Personnel AUF
- Serveur OpenVPN
- Serveur TLS/SSL