Stunnel es una herramienta de código abierto que proporciona seguridad de conexión mediante SSL/TLS para servicios que no tienen soporte nativo para cifrado.
Stunnel actúa como un intermediario que encapsula las conexiones TCP en un túnel cifrado, proporcionando una capa de seguridad adicional para servicios como IMAP, SMTP, y otros protocolos que no tienen cifrado incorporado.
Esto es especialmente útil para proteger conexiones en redes no seguras. Por ejemplo, para cifrar el tráfico entre dispositivos en una red local o para asegurar servicios que se ejecutan en tu Raspberry Pi.
Algunas de sus características sonm
- Cifrado de Datos: Protege la confidencialidad e integridad de los datos.
- Soporte para Protocolos Comunes: Compatible con protocolos de red comunes que no implementan cifrado.
- Fácil Configuración: Configuración mediante un archivo de texto sencillo.
Instalación de Stunnel en Raspberry Pi
Primero, asegurémonos de que nuestra Raspberry Pi esté actualizada antes de proceder con la instalación. Ejecutamos los siguientes comandos:
sudo apt update
sudo apt upgrade
Luego, instalamos Stunnel en nuestra Raspberry Pi utilizando el siguiente comando:
sudo apt install stunnel4
Iniciar y detener Stunnel
Puedes iniciar Stunnel ejecutando el siguiente comando:
sudo service stunnel4 start
Para detener Stunnel, usa:
sudo service stunnel4 stop
Para verificar que Stunnel está funcionando correctamente, puedes usar el siguiente comando:
sudo systemctl status stunnel4
Configurar Stunnel
Stunnel se configura mediante un archivo de configuración que se encuentra en /etc/stunnel/stunnel.conf
. Primero, abre el archivo de configuración para editarlo:
sudo nano /etc/stunnel/stunnel.conf
A continuación, añade una configuración básica.
# Habilitar el modo de cliente
client = yes
# Puerto local al que se conectará Stunnel
[my-service]
accept = 12345
connect = servidor-remoto.com:443
En este ejemplo,
- Stunnel actuará como un cliente
- Redirigirá el tráfico del puerto local 12345
- El trafico irá al servidor remoto en el puerto 443 utilizando una conexión SSL/TLS.
Crear un certificado SSL
Si no tienes un certificado SSL, puedes crear un certificado autofirmado para propósitos de prueba. Ejecuta el siguiente comando para generar el certificado y la clave:
sudo openssl req -new -x509 -days 365 -nodes -out /etc/stunnel/stunnel.pem -keyout /etc/stunnel/stunnel.pem
Durante el proceso, se te pedirá información como el nombre de la organización y el país. Puedes completar estos campos con datos ficticios si es necesario.