{{tag>version-8-08}}
====== Introduction ======
La plus grande partie des commandes ci-dessous demandent à avoir les droits de super administrateur. Comme vous risquez de détruire la configuration de votre serveur web (et donc d'une grande partie d'AbulÉdu) seuls les administrateurs chevronnés devraient s'y essayer.
====== Création d'un certificat auto-signé ======
C'est le plus simple (et surtout gratuit).
===== Création =====
* Créez un fichier Makefile dont le contenu est le suivant:
all: serveur key sign
serveur:
openssl genrsa -out ca.key 2048
openssl req -new -key ca.key -out ca.csr -config confca
openssl x509 -req -in ca.csr -out ca.cert -days 10000 -signkey ca.key
key:
openssl genrsa -out ser.key
openssl req -new -key ser.key -out ser.csr -config confkey
sign:
openssl x509 -days 10000 -req -in ser.csr -out ser.crt -CA ca.cert -CAkey ca.key -CAserial ca.srl -CAcreateserial
clean:
rm -f ca* ser* *~
* Créez un fichier confca dont le contenu est le suivant:
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
prompt = no
[ req_distinguished_name ]
C = FR
ST = Aquitaine
L = Villenave d'Ornon
O = RyXeo SARL
OU = RyXeo Certificates VO
CN = secure.ryxeo.com
emailAddress = secure@ryxeo.com
Le fichier confca permet de créer votre autorité de certification. En bref vous allez agir comme si vous étiez cacert.org verisign ou autre autorité de certification.
Le certificat serveur que vous allez ensuite signer avec ce certificat "ca" sera donc ce qu'on appelle un certificat auto-signé et provoquera un petit message d'alerte sur le navigateur web de vos utilisateurs.
* Créez un fichier confkey dont le contenu est le suivant:
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
prompt = no
[ req_distinguished_name ]
C = FR
ST = Bretagne
L = Rennes
O = Entreprise
OU = Votre Entreprise
CN = xxxxx.dyn.abuledu.net
emailAddress = xxxxx@abuledu.org
Remplacez les champs par les informations concernant votre serveur web. Le nom xxxxx.dyn.abuledu.net est très important, c'est celui que vous utiliserez ensuite dans la configuration d'apache.
===== Génération du certificat =====
Placez-vous dans le répertoire où vous avez créé les fichiers précédents et lancez la commande "make" tout simplement.
root@servecole /etc/apache2/ssl ☠ ls
confca confkey Makefile
root@servecole /etc/apache2/ssl ☠ make
[plein d'infos]
root@servecole /etc/apache2/ssl ☠ ls
ca.cert ca.csr ca.key ca.srl confca confkey Makefile ser.crt ser.csr ser.key
Vous pouvez-voir qu'après avoir lancé la commande make nous avons maintenant plein de fichiers en plus dans le répretoire. Les fichiers qui nous intéressent sont les suivants: ser.crt et ser.key.
===== Configuration d'apache =====
Maintenant que vous avez votre certificat SSL il faut l'utiliser dans apache, pour celà vous pouvez créer un fichier (par exemple abuledu_https) dans /etc/apache2/site-available dont le contenu sera le suivant:
Listen 443
DocumentRoot /var/www/intranet
ServerName xxxxx.dyn.abuledu.net
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/apache2/ssl/ser.crt
SSLCertificateKeyFile /etc/apache2/ssl/ser.key
SSLOptions +StdEnvVars
SSLOptions +StdEnvVars
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
Ensuite, activez ce nouveau fichier de configuration à l'aide de la commande suivante
a2ensite abuledu_https
Et enfin, relancez apache avec
/etc/init.d/apache2 restart
====== Utilisation d'un certificat signé par un tiers de confiance ======
Détailler le principe. Je vous conseille d'aller voir [[http://www.cacert.org]]