Archive

Articles taggués ‘SSL’

Ajout du support TLS pour Postfix

22/01/2009

Si vous souhaitez permettre à vos utilisateurs de se connecter de manière sécurisée à votre serveur SMTP afin que les informations tranitant (mails et login/mot de passe) ne circulent pas en clair sur tout le réseau, vous pouvez activer une couche TLS directement dans Postfix.

Vous pouvez donc acheter un certificat auprès de l’autorité de certification de votre choix ou l’auto-générer si cette solution vous convient.

Dans le fichier /etc/postfix/main.cf, ajoutez les lignes suivantes:

smtpd_use_tls = yes
smtpd_tls_cert_file = /path/to/server.crt
smtpd_tls_key_file = /path/to/server.key
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

Vous pouvez ensuite redémarrer Postfix et activer le support TLS dans votre client mail.

Note: SSL a été renommé TLS suite au rachat du brevet de Netscape par l’IETF en 2001.

Courrier électronique , ,

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 ,