stunnel-5.44

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, aussi bien qu'à des démons autonomes comme NNTP, SMTP et HTTP. Stunnel peut aussi être utilisé pour les 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-8.2.

Informations sur le paquet

  • Téléchargement (HTTP) :

  • Téléchargement (FTP) : ftp://ftp.stunnel.org/stunnel/archive/5.x/stunnel-5.44.tar.gz

  • Somme de contrôle MD5 du téléchargement : 47697dee496c80c8e352b2b705c4a571

  • Taille du téléchargement : 684 Ko

  • Estimation de l'espace disque requis : 6.2 Mo

  • Estimation du temps de construction : 0.1 SBU

Dépendances de stunnel

Facultatives

netcat, tcpwrappers et TOR

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]

Note

Un certificat SSL signé et une clé privée sont nécessaires pour lancer le démon stunnel. Après que le paquet est installé, il y a des 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 :

[Note]

Note

Pour certains systèmes avec une version de binutils inférieure à 2.25, configure peut échouer. Si nécessaire, corrigez-le avec :

sed -i '/LDFLAGS.*static_flag/ s/^/#/' configure

ou, si LLVM-5.0.1 est installé avec Clang, vous pouvez remplacer ./configure ... avec CC=clang ./configure ... dans la première commande dessous.

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var &&
make

Si vous avez installé l'application netcat facultative, les tests de regression peuvent être lancés avec make check.

Maintenant, en tant qu'utilisateur root :

make docdir=/usr/share/doc/stunnel-5.44 install

Installez l'unité systemd incluse en lançant la commande suivante en tant qu'utilisateur root :

install -v -m644 tools/stunnel.service /lib/systemd/system

si vous n'avez pas déjà un certificat SSL signé et une clé privée, créez le fichier stunnel.pem dans le répertoire /etc/stunnel en utilisant la commande suivante. Vous aurez une invite pour rentrer les informations nécessaires. Assurez-vous de répondre à

Common Name (FQDN of your server) [localhost]:

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, tapez :

make cert

Explication des commandes

make docdir=... install : Cette commande installe le paquet et modifie le répertoire d'installation de la documentation en un nom conforme aux conventions.

Configuration de Stunnel

Fichiers de configuration

/etc/stunnel/stunnel.conf

Informations sur la 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

Enfin, ajoutez 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.

Unité Systemd

Pour démarrer le démon stunnel au démarrage, activez l'unité systemd précédemment installée en lançant la commande suivante en tant qu'utilisateur root :

systemctl enable stunnel

Contenu

Programmes installés: stunnel et stunnel3
Bibliothèque installée: libstunnel.so
Répertoires installés: /{etc,usr/lib,var/lib}/stunnel and /usr/share/doc/stunnel-5.44

Descriptions courtes

stunnel

est un programme conçu pour fonctionner en tant qu'enveloppe SSL chiffrée entre des clients distants et locaux ({x}inetd-startable) ou des serveurs distants.

stunnel3

est un script enveloppe Perl pour utiliser la syntaxe stunnel 3.x avec stunnel >=4.05.

libstunnel.so

contient les fonctions API exigées par Stunnel.

Last updated on 2018-02-22 20:45:27 +0100