帶隧道的 SSL 代理

帶隧道的 SSL 代理

我正在嘗試設定 SSL 連接隧道。某種 SSL 代理。

最終目標
僅連接http客戶僅限 https伺服器

我的計劃是

  1. 客戶端:將端點更改為代理人
  2. PROXY:使用stunnel接收來自CLIENT的請求並將其轉發到SERVER

stunnel.conf

cert = /etc/stunnel/stunnel.pem
foreground = yes
chroot = /var/run/stunnel
setuid = stunnel
setgid = stunnel
pid = /stunnel.pid
debug = 7
[my_route]
accept = 7121
connect = SERVER:443
;connect = SERVER:443/somedata

測試1

$openssl s_client -connect SERVER:443
New, TLSv1/SSLv3, Server public key is 2048 bit

測試2

openssl s_client -connect PROXY:7121
New, TLSv1/SSLv3, Server public key is 2048 bit

結果(透過代理從客戶端連接到伺服器)。

Service [my_route] accepted (FD=3) from 10.0.2.2:12345
Service [my_route] started
Service [my_route] accepted connection from 10.0.2.2:12345
SSL state (accept): before/accept initialization
SSL_accept: 1408F10B: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
Connection reset: 0 byte(s) sent to SSL, 0 byte(s) sent to socket
Local socket (FD=3) closed
Service [my_route] finished (0 left)

問題

  1. 為什麼IP與SERVER不符?為什麼連接到10.0.2.2?
    這是否意味著我連接到了錯誤的伺服器?怎麼會這樣呢?

  2. 這個錯誤說明了什麼?該遠端伺服器使用另一個版本的 SSL,不是嗎?

答案1

  1. 為什麼IP與SERVER不符?為什麼連接到10.0.2.2?

因為該 IP 位址不是本機的位址伺服器它正在連接到,但地址客戶它正在接收的機器(執行 openssl s_client)。

這是否意味著我連接到了錯誤的伺服器?怎麼會這樣呢?

不,這與伺服器無關。

  1. 這個錯誤說明了什麼?該遠端伺服器使用另一個版本的 SSL,不是嗎?

這表示您的 stunnel 嘗試與客戶端 (openssl s_client) 連線使用 SSL。他們似乎不同意使用 SSL 協議版本。

然而,這是完全錯誤的。在您要設定的設定中,stunnel 應等待 HTTP 連接,並將這些連接透過 HTTPS 隧道傳輸到 SERVER。因此,您不能使用 openssl s_client 連線到 stunnel,因為 openssl s_client 將使用 SSL,而 stunnel 將等待非 SSL 連線。

為了解決這個問題,您需要client = yes在配置中增加一行。然後,您不應使用 openssl s_client 作為 stunnel 的客戶端,而應使用 telnet ( telnet server2 7121) 或能夠與伺服器進行 HTTP 通訊的程序(例如 Web 瀏覽器或類似的程序,其 URL 開頭為http://PROXY:7121/...)。

另外,強烈建議在設定檔中使用 IP 位址(而不是文字主機名稱)。

像這樣的東西應該​​適合你:

[my_route]
client = yes
accept = 7121
connect = aaa.bbb.ccc.ddd:443

答案2

似乎這個問題已經解決在這個關於伺服器故障的答案中;粗體部分似乎適合您的場景:

伺服器stunneloptions = NO_SSLv3,但客戶端正在嘗試使用 SSLv3 進行連線。您需要升級用戶端以支援較新版本的 SSL,或需要變更 stunnel 配置以接受 SSLv3。

答案3

將其添加到設定檔中即可。

sslversion = all

你可能還錯過了另一件事。您應該明確設定“client = yes”,否則預設為“no”。

相關內容