私は以前のバージョンのstunnelを問題なく使用しています。どうやらSSLサーバーモードの証明書の機能はありませんでした。これは問題ありませんが、リモートサーバーにトンネリングするためにローカルホストサーバーを実行しているだけなので、必要ありません。
とにかく、私はこれに関連するFAQチュートリアルなどを読み、すべてを試しました。証明書またはキー設定で何をしても、これと同じエラーが発生します。これが完全な出力です... 。
No limit detected for the number of clients
stunnel 4.53 on x86-pc-mingw32-gnu platform
Compiled/running with OpenSSL 0.9.8s-fips 4 Jan 2012
Threading:WIN32 SSL:+ENGINE+OCSP+FIPS Auth:none Sockets:SELECT+IPv6
Reading configuration from file stunnel.conf
FIPS mode is enabled
Compression not enabled
Snagged 64 random bytes from C:/.rnd
Wrote 0 new random bytes to C:/.rnd
PRNG seeded successfully
Initializing service section [FIX]
Section FIX: SSL server needs a certificate
Server is down
そして、これがstunnel.confファイルの内容です。
; Certificate/key is needed in server mode and optional in client mode
cert = stunnel.pem
;key = stunnel.pem
; Disable support for insecure SSLv2 protocol
options = NO_SSLv2
[FIX]
accept = 127.0.0.1:5679
connect = 216.52.236.112:5680
TIMEOUTconnect = 5
[FIXLIVE]
accept = 127.0.0.1:5680
connect = 216.52.236.185:51581
TIMEOUTconnect = 5
Stunnelはstunnel.pemファイルとともにインストールされていることに注意してください。キーの設定行のコメントを外してみました。また、指示に従ってopensshを使用してキーを再生成しました。
証明書ファイルへの絶対パスを使用してみました。
何も違いはありません。これはstunnelの欠陥ですか?それとも私は何か間違ったことをしていますか?
追加 client = yes
各サービスにそのエラーメッセージを修正します。
また、適切なSSLセキュリティを設定するためのオプションを設定する必要があります。下記参照。
# Enable proper SSL security. Without this, you are completely insecure!
verify = 2
CAfile = /etc/ssl/certs/ca-certificates.crt
options = NO_SSLv2
[FIX]
client = yes
accept = 127.0.0.1:5679
connect = 216.52.236.112:5680
TIMEOUTconnect = 5
[FIXLIVE]
client = yes
accept = 127.0.0.1:5680
connect = 216.52.236.185:51581
TIMEOUTconnect = 5
Stunnelは常にサーバー証明書を検証する必要があります(すべてのSSLクライアントが検証します)-中間者攻撃(ISP、悪者、悪者ISPなど)を気にしない場合は、証明書のチェックをオフにすることができます。それ以外の場合は、サーバー証明書のコピーまたは信頼できるチェーン内の他の何か(つまり、サーバーが使用しているサーバー証明書よりも優れている中間CAまたはルートCA)を提供することにより、stunnelで「trust」を構成する必要があります。自分自身を識別します)。設定する必要のある構成変数は、CAPath、CAFileです。