stunnel-5.68

Introduction à stunnel

Le paquet stunnel contient un programme qui vous permet de chiffrer des connexions TCP arbitraires 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 les tunnels PPP par des sockets réseaux sans modifications du code source du paquet du serveur.

This package is known to build and work properly using an LFS 11.3 platform.

Informations sur le paquet

Dépendances de stunnel

Facultatives

libnsl-2.0.0, netcat (requis pour les tests), tcpwrappers et TOR

Notes utilisateur : https://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 l'installation du paquet, 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 exécutant les commandes suivantes :

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --disable-systemd    &&
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.68 install

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

--disable-systemd : Ce paramètre désactive le support de l'activation de systemd, qui n'est pas disponible dans BLFS.

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>

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 démarre le système, installez le script de démarrage /etc/rc.d/init.d/stunnel du paquet blfs-bootscripts-20230101.

make install-stunnel

Contenu

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

Descriptions courtes

stunnel

est un programme conçu pour fonctionner en tant qu'enveloppe SSL chiffrée entre des clients distants et locaux 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