¿Cómo utilizar correctamente el stunnel?

¿Cómo utilizar correctamente el stunnel?

Estoy intentando configurar la depuración SSL de Wireshark y, para hacerlo, intento seguir las instrucciones enEste artículo.

Actualmente estoy en stunnelparte y estoy intentando ejecutar.

sudo stunnel -p ps.pem -d 443 -r 8080

La salida de esto es

Clients allowed=500
stunnel 4.53 on i686-pc-linux-gnu platform
Compiled/running with OpenSSL 0.9.8k 25 Mar 2009
Threading:PTHREAD SSL:ENGINE Auth:LIBWRAP Sockets:POLL,IPv6
Reading configuration from file -p
-p: No such file or directory (2)
Cannot read configuration

Syntax:
stunnel [<filename>] ] -fd <n> | -help | -version | -sockets
    <filename>  - use specified config file
    -fd <n>     - read the config file from a file descriptor
    -help       - get config file help
    -version    - display version and defaults
    -sockets    - display default socket options
str_stats: 1 block(s), 3 data byte(s), 34 control byte(s)

Probablemente esto no sea lo que se esperaba en este caso.

¿Cómo uso correctamente stunnel con el certificado proporcionado?

Respuesta1

stunnel ha cambiado a una nueva interfaz desde la versión 4, que no es compatible con versiones anteriores. pero Debian incluye un script contenedor /usr/bin/stunnelque se comporta como si fuera stunnel-3.x, para cooperar con instalaciones heredadas. Este script contenedor puede hacer cosas correctas si sigue el método anterior, pero cuando hay un pequeño error, el script contenedor no lo maneja y los mensajes de error del binario real /usr/bin/stunnel4aparecen y lo confunden.

así que no uses eso nunca más. debe man stunnel4ejecutar explícitamente el /usr/bin/stunnel4binario y usar la nueva sintaxis.

Para señalar brevemente cómo las cosas han ido diferentes en stunnel 4.x y superiores, es que ya no se puede especificar nada en la línea de comandos. Todo lo que puede hacer y debe hacer es escribir un archivo de configuración y poner el nombre del archivo como único argumento.

Ahora déjame mostrarte cómo escribir dicho archivo de configuración.

## this is an INI'ish file
##  
foreground = yes
sslVersion = all
pid =                     ## in most cases it is okay to leave pid empty
##  
## above are global options
##  
[ service_A ]             ## you can have as many as you want service sections
                          ## to listen on different ports , have different keys
                          ## and forward to different destinations
                          ##  
client = no               ##"client" set to "no" , mean stunnel speaks ssl on
                          ## listening port , and plaintext on the remote side
                          ## while "yes" is the reverse
verify = 0                ## do not check peer certification
cert = /etc/ssl/certs/stunnel.pem
accept = 443
connect = 80
[ another_section ]
...

sin embargo, no recomiendo encarecidamente que utilices stunnel en situaciones simples como esta. socat es una utilidad mucho más linda.

socat openssl-listen:443,certificate=a.pem,fork tcp:localhost:80

Además de esto, socat es muy dulce y agudo y puede hacer muchas otras cosas increíbles. Definitivamente te encantará si lo pruebas.

información relacionada