Как правильно использовать Stunnel?

Как правильно использовать Stunnel?

Я пытаюсь настроить отладку Wireshark SSL, и для этого я пытаюсь следовать инструкциям вЭта статья.

Я сейчас нахожусь в stunnelчасти, и я пытаюсь выполнить

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

Вывод этого таков:

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)

Вероятно, в данном случае этого не ожидалось.

Как правильно использовать Stunnel с предоставленным сертификатом?

решение1

Начиная с версии 4, stunnel изменил свой интерфейс на новый, который несовместим с предыдущей версией. Однако Debian поставляет скрипт-оболочку /usr/bin/stunnel, который ведет себя так же, как stunnel-3.x, для взаимодействия с устаревшими установками. Этот скрипт-оболочка может выполнять правильные функции, если следовать старому пути, но если возникает небольшая ошибка, скрипт-оболочка ее не обрабатывает, и сообщения об ошибках из реального двоичного файла /usr/bin/stunnel4выскакивают наружу и сбивают вас с толку.

так что больше никогда не используйте это. Вам следует man stunnel4явно запустить /usr/bin/stunnel4двоичный файл и использовать новый синтаксис.

Чтобы кратко указать, как все изменилось в Stunnel 4.x и выше, можно сказать, что вы больше не можете ничего указывать в командной строке. Все, что вы можете и должны сделать, это написать конфигурационный файл и указать имя файла в качестве единственного аргумента.

Теперь позвольте мне показать вам, как написать такой конфигурационный файл.

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

Однако я настоятельно не рекомендую вам использовать Stunnel в таких простых ситуациях. Socat — гораздо более симпатичная утилита.

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

Кроме того, сокат очень сладкий и острый и может делать массу других удивительных вещей. Он вам обязательно понравится, если вы его попробуете.

Связанный контент