stunnel
est un outil en ligne de commande utilisé pour créer des tunnels SSL/TLS pour sécuriser les connexions réseau. Il permet de chiffrer les communications entre les clients et les serveurs, protégeant ainsi les données échangées contre les interceptions et les attaques. stunnel
est particulièrement utile pour sécuriser les services qui ne supportent pas nativement SSL/TLS.
Installation
stunnel
est disponible dans les dépôts de la plupart des distributions Linux. Vous pouvez l'installer en utilisant le gestionnaire de paquets de votre distribution :
Debian/Ubuntu :
sudo apt-get install stunnel4
CentOS/RHEL :
sudo yum install stunnel
Fedora :
sudo dnf install stunnel
Configuration de Base
La configuration de stunnel
se fait via un fichier de configuration, généralement situé à /etc/stunnel/stunnel.conf
. Voici un exemple de configuration de base pour créer un tunnel SSL/TLS :
; Fichier de configuration stunnel ; Activer le mode client ou serveur client = no ; Chemin vers le fichier de clé privée key = /etc/stunnel/stunnel.key ; Chemin vers le fichier de certificat cert = /etc/stunnel/stunnel.crt ; Chemin vers le fichier de certificat de l'autorité de certification (CA) CAfile = /etc/stunnel/stunnel.ca ; Activer le mode de débogage debug = 7 ; Définir le service [https] accept = 443 connect = 127.0.0.1:80
Options de Configuration
client : Définir si stunnel
fonctionne en mode client ou serveur.
client = yes
key : Chemin vers le fichier de clé privée.
key = /etc/stunnel/stunnel.key
cert : Chemin vers le fichier de certificat.
cert = /etc/stunnel/stunnel.crt
CAfile : Chemin vers le fichier de certificat de l'autorité de certification (CA).
CAfile = /etc/stunnel/stunnel.ca
debug : Activer le mode de débogage.
debug = 7
accept : Port sur lequel stunnel
écoute les connexions entrantes.
accept = 443
connect : Adresse et port du serveur auquel stunnel
se connecte.
connect = 127.0.0.1:80
Exemples de Configuration Avancée
Configuration de stunnel
en mode client :
client = yes [https] accept = 127.0.0.1:8443 connect = remote_server:443
Configuration de stunnel
en mode serveur :
client = no [https] accept = 443 connect = 127.0.0.1:80
Configuration de stunnel
avec authentification client :
client = no [https] accept = 443 connect = 127.0.0.1:80 verify = 2 CAfile = /etc/stunnel/stunnel.ca
Utilisation de stunnel
pour Sécuriser les Connexions
Pour sécuriser les connexions entre un client et un serveur, vous pouvez configurer stunnel
en mode client sur le client et en mode serveur sur le serveur. Voici un exemple de configuration pour sécuriser une connexion HTTP :
Configuration du client :
client = yes [https] accept = 127.0.0.1:8443 connect = remote_server:443
Configuration du serveur :
client = no [https] accept = 443 connect = 127.0.0.1:80