sur Ubuntu 16.04 server
Geneweb et Stunnel
Installer Stunnel4
sudo apt-get install stunnel4
On se place dans le répertoire et on se positionne en Root, sinon tapez "sudo" devant chaque ligne.
cd /etc/stunnel sudo -s
On génère les clés. On peut faire simple avec:
openssl req -new -x509 -nodes -days 365 -out stunnel.pem -keyout stunnel.pem #dans ce cas il faudra en tenir compte lors de la création du fichier "stunnel.conf"
Personnellement, j'ai procédé comme suit:
openssl genrsa -out cle-serveur.key 2048
Signature de la demande de certificat CSR.
openssl req -new -key cle-serveur.key -out demande-certif.csr
Le certificat auto-signé pour un an.
openssl x509 -req -days 365 -in demande-certif.csr -signkey cle-serveur.key -out cert-server.crt
On combine le certificat et la clé dans un même fichier.
cat cleserveur.key > server.pem && cat certserver.crt >> server.pem
On modifie les permissions.
chmod 0600 cert-server.crt cle-serveur.key server.pem
Ensuite je crée le fichier de configuration "stunnel.conf" dans /etc/stunnel/
";" signifie que c'est en commentaire, vous pouvez donc "fignoler" la configuration. Je n'ai pas tout traduit par paresse, mais c'est assez transparent.
Utilisez VI, ou nano, ou autre, selon vos habitudes, ici je vais utiliser nano
nano stunnel.conf
Ci-dessous mon fichier stunnel.conf
; ************************************************************************** ; * Options générales * ; ************************************************************************** ; Il est recommandé de changer les privilèges utilisateur et groupe ;setuid = stunnel4 ;setgid = stunnel4 ; un chroot pour un peu plus de sécurité ;chroot = /var/lib/stunnel4/ ; Le fichier PID sera créé dans le chroot ;pid = /var/run/stunnel.pid ; Utile de mettre dans les logs pour suivre en cas de bug foreground = yes debug = info output = /var/log/stunnel4/stunnel.log ; Enable FIPS 140-2 mode if needed for compliance ;fips = yes ; ************************************************************************** ; * Service defaults may also be specified in individual service sections * ; ************************************************************************** ; Enable support for the insecure SSLv3 protocol options = -NO_SSLv3 ; These options provide additional security at some performance degradation options = SINGLE_ECDH_USE options = SINGLE_DH_USE ; ************************************************************************** ; * Include all configuration file fragments from the specified folder * ; ************************************************************************** ;include = /etc/stunnel/conf.d ; ************************************************************************** ; * Service definitions (remove all services for inetd mode) * ; ************************************************************************** [geneweb] accept = 22317 connect = 2317 cert=/etc/stunnel/server.pem key=/etc/stunnel/cle-serveur.key
On modifie l'utilisateur et le groupe.
cd .. chown -Rf stunnel4:stunnel4 stunnel/
Maintenant nous allons activer stunnel
nano /etc/default/stunnel4
Modifiez l’option suivante comme ci-dessous :
ENABLED=1
On redémarre Stunnel
/etc/init.d/stunnel4 stop /etc/init.d/stunnel4 start
ou plus simplement
/etc/init.d/stunnel4 restart
Connexion à Geneweb en https
Sur cette exemple vous pourrez vous connecter sur Geneweb en https avec l'adresse suivante sur votre navigateur:
https://www.votre-verveur.fr:22317
Si vous utilisez iptables ou autre pare-feux, n'oubliez pas de le modifier et/ou si vous êtes auto-hébergé modifiez aussi la redirection de ports sur votre box....
Si vous avez déjà des certificats Let's Encrypt, je pense que vous pouvez les utiliser en modifiant le fichier stunnel.conf, j'avoue ne pas avoir creusé la question puisque j'informe ceux que j'autorise à se connecter qu'ils doivent accepter le certificat lors du message d'alerte de leur navigateur.
Derniers commentaires