Introduction à Stunnel
Le paquet Stunnel contient un
programme qui vous permet de chiffrer des connexions TCP de votre
choix en SSL (Secure Sockets Layer) pour que vous puissiez
communiquer facilement avec des clients par des canaux sécurisés.
Stunnel peut être utilisé pour
ajouter la fonctionnalité SSL aux démons Inetd couramment utilisés comme les serveurs
POP-2, POP-3, et IMAP, à des démons autonomes comme NNTP, SMTP et
HTTP, et dans des tunnels PPP par des sockets réseaux sans
modifications du code source du paquet du serveur.
Ce paquet est connu pour se construire correctement sur une
plateforme LFS-7.6.
Informations sur le paquet
Dépendances de Stunnel
Requises
OpenSSL-1.0.1i
Facultatives
tcpwrappers
Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/stunnel
Installation de Stunnel
Le démon stunnel sera
lancé dans une cage chroot par un utilisateur non
privilégié. Créez le nouvel utilisateur et le nouveau groupe en
utilisant les commandes suivantes en tant qu'utilisateur
root
:
groupadd -g 51 stunnel &&
useradd -c "stunnel Daemon" -d /var/lib/stunnel \
-g stunnel -s /bin/false -u 51 stunnel
Note
Un certificat SSL signé et une clé privée sont nécessaires pour
lancer le démon stunnel. Pour cela, après
make ...
install,nous incluons les instructions pour les
générer. Cependant si vous possédez ou si vous avez déjà créé un
certificat SSL signé que vous souhaitez l'utiliser, copiez-le
dans /etc/stunnel/stunnel.pem
avant
de commencer la construction (assurez-vous que seul root
a l'accès en lecture et écriture). Le
fichier .pem
doit être formaté
comme décrit ci-dessous :
-----BEGIN PRIVATE KEY-----
<many encrypted lines of private key>
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
<many encrypted lines of certificate>
-----END CERTIFICATE-----
-----BEGIN DH PARAMETERS-----
<encrypted lines of dh parms>
-----END DH PARAMETERS-----
Installez Stunnel en lançant les
commandes suivantes :
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var &&
make
Ce paquet n'est pas fourni avec une suite de tests.
Maintenant, en tant qu'utilisateur root
:
make docdir=/usr/share/doc/stunnel-5.03 install
Pour créer le fichier stunnel.pem
dans le répertoire /etc/stunnel
, vous
devez en créer un. La commande suivante vous demande les
informations utiles. Assurez vous de répondre à
Common Name (FQDN of your server) [localhost]:
répondre avec le nom ou l'adresse IP que vous utiliserez pour
accéder au(x) service(s).
Pour générer un certificat, en tant qu'utilisateur root
, lancez:
make cert
Configuration de Stunnel
Fichiers de
configuration
/etc/stunnel/stunnel.conf
Informations de configuration
En tant qu'utilisateur root
,
créez le répertoire utilisé pour le fichier .pid
créé quand le démon Stunnel démarre :
install -v -m750 -o stunnel -g stunnel -d /var/lib/stunnel/run &&
chown stunnel:stunnel /var/lib/stunnel
Ensuite, créez un fichier de configuration /etc/stunnel/stunnel.conf
de base en utilisant
les commandes suivantes en tant qu'utilisateur root
:
cat >/etc/stunnel/stunnel.conf << "EOF" &&
; File: /etc/stunnel/stunnel.conf
; Note: The pid and output locations are relative to the chroot location.
pid = /run/stunnel.pid
chroot = /var/lib/stunnel
client = no
setuid = stunnel
setgid = stunnel
cert = /etc/stunnel/stunnel.pem
;debug = 7
;output = stunnel.log
;[https]
;accept = 443
;connect = 80
;; "TIMEOUTclose = 0" is a workaround for a design flaw in Microsoft SSL
;; Microsoft implementations do not use SSL close-notify alert and thus
;; they are vulnerable to truncation attacks
;TIMEOUTclose = 0
EOF
chmod -v 644 /etc/stunnel/stunnel.conf
Enfin, vous avez besoin d'ajouter le(s) service(s) que vous
souhaitez chiffrer au fichier de configuration. Le format
ressemble à ce qui suit :
[<service>
]
accept = <hostname:portnumber>
connect = <hostname:portnumber>
Si vous utilisez Stunnel pour
chiffrer un démon lancé à partir de [x]inetd, il se peut que vous
deviez désactiver ce démon dans le fichier /etc/[x]inetd.conf
et activer un service
<service>
_stunnel
correspondant. Il se peut que vous deviez également ajouter une
entrée adéquate dans /etc/services
.
Pour une explication complète des commandes et de leurs syntaxes,
utilisées dans le fichier de configuration, lancez man stunnel.
Script de démarrage
Pour démarrer automatiquement le démon stunnel quand on redémarre le
système, installez le script de démarrage /etc/rc.d/init.d/stunnel
du paquet blfs-bootscripts-20140919.
make install-stunnel