Table des matières
LA PAGE EST EN CONSTRUCTION
Braveo : OpenCa
Nous avons essayer d'utiliser openca qui avec openldap nous donnaient un platreforme open :) mais sans resultats l'installation est ok mais il ya un truc a faire et nous n'avons trouvé. Voici ce qu'on a fait:
je suit la doc officiel
Le produit que nous allons utiliser est OpenCA prés requis: une debian(lenny) toute fraiche
installation de mysql
aptitude install mysql-server
Se connecter au DBMS:
mysql -u root -p -h localhost
ensuite créer la base de donnée:
CREATE DATABASE openca;
et maintenant selection la base de donnée
use openca;
Donner les droits a l'utilisateur openca
GRANT ALL PRIVILEGES ON *.* TO 'openca'@'localhost' IDENTIFIED BY 'password';
et sortir
exit
l'utilisateur est créé on peut le tester en se c onnectant avec:
mysql -u openca -p -h localhost openca
Apache
maintenant nous allons configurer apache pour qu'il fasse du SSL je pars de cette doc http://cloudservers.mosso.com/index.php/Debian_Lenny_-_Apache,_SSL_and_Virtual_Hosts
nous allons l'installer
aptitude install apache2
Nous créons le certificats auto-signé
openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
on répond aux questions
Country Name (2 letter code) [AU]:FR State or Province Name (full name) [Some-State]:FRANCE Locality Name (eg, city) []:BREST Organization Name (eg, company) [Internet Widgits Pty Ltd]:Maison du libre Organizational Unit Name (eg, section) []: Common Name (eg, YOUR name) []: openca.braveo.net Email Address []:
on change les droits sur ce fichier
chmod 600 /etc/apache2/apache.pem
ensuite on verifie que dans le fichier /etc/apache2/ports.conf
vi /etc/apache2/ports.conf
qu'il y a bien la ligne
Listen 443
et toujours dans ce fichier on ajoute
NameVirtualHost *:443
on active le module ssl
a2enmod ssl
ensuite on va modifier le virtualhost défault pour qu'il fasse du ssl
vi /etc/apache2/sites-available/default
on lui ajoute
<VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/ SSLEngine on SSLCertificateFile /etc/apache2/apache.pem </VirtualHost>
et on redemarre apache
/etc/init.d/apache restart
on verifie que cela fonctionne avec un navigateur sur l'adresse
https://adresseip/
maintenant que cela fonctionne nous allons configurer un site web que nous allons appeller openca.braveo.net
nous allons créer un fichier /etc/apache2/site-available/openca
vi /etc/apache2/site-available/openca
et nous allons le remplir de tout ça
<VirtualHost openca.braveo.net:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/openca ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel debug CustomLog /var/log/apache2/access.log combined Alias /doc/ "/usr/share/doc/" Redirect / https:/openca.braveo.net </VirtualHost> <VirtualHost openca.braveo.net:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/openca SSLEngine on SSLOptions +StrictRequire +StdEnvVars +ExportCertData SSLCertificateFile /etc/apache2/apache.pem </VirtualHost>
ensuite on active le site
a2ensite openca
et on reload apache
/etc/init.d/apache2 reload
heu n'oubliez pas de créer l'entrée DNS ou de modifier le fichier host
on teste avec un navigateur
https://openca.braveo.net
OpenCA tools
On installer les dépendances
aptitude install build-essential perl libnet-ldap-perl \ libcgi-session-perl libconvert-asn1-perl libdigest-hmac-perl libdigest-md5-perl \ libdigest-sha-perl libdigest-sha1-perl libio-socket-ssl-perl libio-stringy-perl \ libmime-base64-perl libmime-lite-perl libmime-tools-perl libmailtools-perl \ libnet-server-perl libparse-recdescent-perl liburi-perl libx500-dn-perl \ libintl-perl libssl-dev libxml-twig-perl libxml-sax-expat-perl libexpat1-dev \ libnet-ldap-perl
il ya des dependances que je n'ai pu resoudre avec les paquets debain du coup je les install depuis le CPAN
perl -MCPAN -e shell
et ensuite installer les depandances
install YAML install Encode::Unicode install DB_File
le dernier plante a l'install alors j'ai essayé différent truc
aptitude install libdb4.5-dev
marche pas mieux
j'ai essayer de le compiler a la main
cd /root/.cpan/build/DB_FIlexxxxx make test
il plante sur Test:Pod alors retour sous cpan
perl -MCPAN -e shell
et
install Test:Pod
il a un max de depandence j'accepte …. je retourne le repertoire DB_File
cd /root/.cpan/build/DB_FIlexxxxx
je refait le make test
make test
il replante ça me gonfle
rm -rf DB*
et re cpan
perl -MCPAN -e shell
et a nouveau un
install DB_File
et la il est passé….J'ai rien compris
open ldap ??
ensuite telecharger openca-tools
decompresser le et faire le traditionnel
./configure make clean make make install
openCA
ensuite faire de même pour le openca-base le télécharger et le décompresser le configurer avec les options de compilation:
./configure --prefix=/opt/openca-1.1.0 \ --with-ca-organization="Braveo" \ --with-httpd-fs-prefix=/var/www \ --with-httpd-main-dir=pki \ --with-db-name=openca \ --with-db-host=localhost \ --with-db-user=openca \ --with-db-passwd=password \ --with-db-type=mysql \ --with-service-mail-account="support@pki.braveo.net"
make make install-offline install-online
openldap
maintenant nous allons récupérer le schéma d'openca pour le mettre dans l'open ldap
scp /opt/openca-1.1.0/etc/openca/contrib/openldap/openca.schema root@ldaphost:/etc/ldap/schema/
et éditer le fichier slapd.conf sur le ldaphost
vi /etc/ldap/slap.conf
et ajouter aux lignes
include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/dyngroup.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/qmail.schema
la ligne
include /etc/ldap/schema/openca.schema
Maintenant nous allons modifier le schéma d'openldap car il declare un deuxieme fois la class pkiuser et la class pkiCA Donc sur ldaphost
vi /etc/ldap/schema/openca.schema
ensuite aller à la ligne 122 et commentez le bloc
objectclass ( 2.5.6.21 NAME 'pkiUser' SUP top AUXILIARY MAY ( userCertificate ) ) objectclass ( 2.5.6.22 NAME 'pkiCA' SUP top AUXILIARY MAY ( cACertificate $ certificateRevocationList $ authorityRevocationList $ crossCertificatePair ) )
et redemarrer le ldap
/etc/init.d/slapd restart