Archive

Articles taggués ‘certificat’

Générer un certificat autosigné pour Apache

10/01/2009

Pour des panels d’administrations ou des choses que vous êtes le seul à utiliser, on peut se contenter d’utiliser un certificat SSL autosigné; c’est à dire qu’il génèrera un warning à la navigation disant qu’il n’a pas été signé par une autorité de certification reconnue; il vous suffira alors de le whitelister dans votre navigateur. Dès le moment où des utilisateurs lambda doivent accéder au site, c’est à proscrire, le simple fait de voir un warning fera qu’ils n’iront pas plus loin.

Voici la commande permettant de générer le certificat, valide 10 ans:

openssl req -x509 -nodes -days 3650 -newkey rsa:1024 \
-out /etc/apache2/server.crt -keyout /etc/apache2/server.key

Cette commande peut bien évidemment être tapée sur une ligne en enlevant le \ à la fin de la première ligne.

Répondez aux différentes questions; pour « Common Name (eg, YOUR name) []« , vous devez mettre le nom du site, sous-domaine éventuel compris.

Ensuite, il faut activer le module SSL pour apache, avec la commande a2enmod ssl. Dans votre fichier apache2.conf, rajoutez NameVirtualHost ip:443 (n’oubliez pas de mettre votre adresse ip à la place de ip :-p). Ensuite, dans le virtual host à protéger, rajouter les lignes suivantes :

SSLEngine on
SSLCertificateFile /etc/apache2/server.crt
SSLCertificateKeyFile /etc/apache2/server.key

Le Virtual host en question doit contenir la définition de l’ip dans sa définition, qui est donc du type <VirtualHost ip:443>. Notez que le wildcard * ne fonctionnera pas… Tous les virtual hosts doivent donc éventuellement être adaptés pour inclure la déclaration de l’ip, vu qu’il n’est pas possible de mixer les déclaration de type *:port et ip:port.

Vérifiez aussi que le fichier ports.conf contient bien la ligne Listen 443.

Vous pouvez ensuite redémarrer apache et tester le bon fonctionnement du site concerné.

Notez que si vous désirer utiliser plusieurs virtual hosts en SSL, vous êtes limités à un virtual host SSL par adresse IP, il faut donc accrocher d’avantages d’ip à votre machine.

Apache ,