Estoy intentando configurar la depuración SSL de Wireshark y, para hacerlo, intento seguir las instrucciones enEste artículo.
Actualmente estoy en stunnel
parte 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/stunnel
que 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/stunnel4
aparecen y lo confunden.
así que no uses eso nunca más. debe man stunnel4
ejecutar explícitamente el /usr/bin/stunnel4
binario 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.