Como usar o stunnel corretamente?

Como usar o stunnel corretamente?

Estou tentando configurar a depuração SSL do Wireshark e, para fazer isso, estou tentando seguir as instruções emEste artigo.

Atualmente estou em stunnelparte e estou tentando executar

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

A saída disso é

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)

Provavelmente não é isso que se espera neste caso.

Como uso corretamente o stunnel com o certificado fornecido?

Responder1

stunnel mudou para uma nova interface desde a versão 4, que não é compatível com versões anteriores. mas o debian envia um script wrapper /usr/bin/stunnelque se comporta como se fosse stunnel-3.x , para cooperar com instalações legadas. esse script wrapper pode fazer as coisas certas se você seguir o método antigo, mas quando há algum pequeno erro, o script wrapper não lida com isso e as mensagens de erro do binário real /usr/bin/stunnel4aparecem e deixam você confuso.

então nunca mais use isso. você deve man stunnel4executar explicitamente o /usr/bin/stunnel4binário e usar a nova sintaxe.

Para apontar brevemente como as coisas foram diferentes no stunnel 4.xe superior, é que você não pode mais especificar nada na linha de comando. tudo o que você pode e precisa fazer é escrever um arquivo de configuração e colocar o nome do arquivo como único argumento.

agora deixe-me mostrar como escrever esse arquivo de configuração.

## 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 ]
...

no entanto, eu não recomendo fortemente que você use o stunnel em situações simples como esta. socat é um utilitário muito mais bonito.

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

além disso, socat é muito doce e afiado e pode fazer uma montanha de outras coisas incríveis. você definitivamente vai adorar se tentar.

informação relacionada