自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Stunnel加密封裝器的安裝設(shè)置和使用

安全 數(shù)據(jù)安全
針對有訪問限制的局域網(wǎng),Stunnel提供加密的SSL連接解除防火墻和代理的限制直接和遠端服務器理論上的任何網(wǎng)絡(luò)服務連接。

Stunnel作為一個小巧的跨平臺(Unix/Linux和Windows)的開源(GNU)項目,提供了以下2個主要功能:

針對本身無法進行TLS或SSL通信的客戶端及服務器,Stunnel可提供安全的加密連接(基于OpenSSL)。

針對有訪問限制的局域網(wǎng),Stunnel提供加密的SSL連接解除防火墻和代理的限制直接和遠端服務器理論上的任何網(wǎng)絡(luò)服務連接。我們知道一般局域網(wǎng)都會開放443端口用于加密的HTTP連接,我們可以利用這點用Stunnel和遠程端口443創(chuàng)建一個SSL連接,防火墻和代理會認為這個連接是正常的HTTPS連接而允許通過。

>>去網(wǎng)絡(luò)安全工具百寶箱看看其它安全工具

Stunnel的安裝

Stunnel的Windows版本可以點此下載。我們需要把下載下來的Stunnel程序同時安裝在服務器端和客戶端。安裝過程比較簡單,一路Next就行。假設(shè)我們把Stunnel安裝在默認路徑C:\Program Files\stunnel\下。具體安裝步驟見下:

 

訪問控制以及安全證書的生成

Stunnel使用OpenSSL提供了基于安全證書的訪問控制。遵循SSL協(xié)議,客戶端和服務器端都可以要求對方提供安全證書用以驗證對方是否可信。而在大多數(shù)應用中往往只有服務器端需要驗證客戶端的安全證書以確認連接者可以被信任,所以我的這篇文章主要講解服務器端驗證的設(shè)置??蛻舳蓑炞C的設(shè)置方法和步驟同服務器端相反,這里就不再敘述了。

決定了如何進行訪問控制,下一個步驟我們需要一個安全證書,你可以選擇以下幾個方法得到安全證書:

1.Stunnel安裝程序自帶的(C:\Program Files\stunnel\stunnel.pem)

2.OpenSSL成生的安全證書

3.從CA處購買的安全證書

一般來說不推薦方法1,因為通用性的Stunnel安全證書不能提供任何安全保證因為人人都可以下載獲得。而最安全的第3種方法需要花費不少銀子,因此這里我們使用方法2:在不花錢的情況下得到***的安全性。Stunnel的Windows版本并沒有提供OpenSSL程序,所以要生成安全證書需要通過以下途徑。

1. 使用網(wǎng)頁服務生成安全證書

用Stunnel提供的網(wǎng)頁服務(http://www.stunnel.org/pem/),輸入所有相關(guān)信息然后Stunnel的服務器會生成所需的安全證書,具體見下圖:

#p#

點擊Generate stunnel.pem File按鈕等待幾秒鐘系統(tǒng)會出現(xiàn)以下頁面:

 

拷貝所有文本框內(nèi)的內(nèi)容另存為stunnel.pem文件,這個就是你所需要的安全證書了。正如Stunnel網(wǎng)頁上所說,這種方法并不安全,因為生成的證書是通過沒有加密的通道傳輸?shù)?,任何人都可以從中竊取這個證書。

2. 使用Unix/Linux生成安全證書

第二種方法需要一臺安裝了OpenSSL的Unix或者Linux主機。運行以下命令生成安全證書:

  1. openssl req -new -x509 -days 365 -nodes  
  2.             -out ${FILE_NAME}.pem -keyout ${FILE_NAME}.pem 

${FILE_NAME}.pem是自定義生成的安全證書的名字,其他各個參數(shù)的意義如下:

◆-new:生成新的密匙

◆-x509:生成X509安全證書

◆-days 365:有效期1年

◆-nodes:不設(shè)置密碼

◆-out:生成的文件名

◆-keyout:存放密匙的文件名

運行這個命令后需要回答以下問題,然后安全認證會自動存放在${FILE_NAME}.pem文件中。

#p#

在驗證安全證書有效性時,Stunnel使用Hash值搜索證書,所以我們還需要運行以下2條命令得到這個證書的Hash值,然后重命名這個文件:

  1. hash_name=`openssl x509 -hash -noout -in ${FILE_NAME}.pem `  
  2. mv ${FILE_NAME}.pem $hash_name.0 

這樣最終得到的安全證書就是XXXXXXXX.0,其中X代表16進制數(shù)字。以上2段腳本可以合在一起變成一個批處理文件。

我們需要注意的是,生成的安全證書需要同時拷貝到客戶端和服務器端??蛻舳诵枰蚍掌鞫税l(fā)送這個證書,而服務器端需要檢查客戶端證書是否和服務器端證書一致。

客戶端配置

編輯Stunnel的配置文件(位置在C:\Program Files\stunnel\stunnel.conf):

  1. [CLIENT]  
  2. accept=22443 
  3. connect=proxyhost:8080  
  4. client=yes 
  5. ccert=c:\program files\stunnel\${FILE_NAME}.pem  
  6. protocol=connect 
  7. protocolHost=192.234.191.174:443 

其中各個參數(shù)的含義為:

◆accept:接受的端口(在這個例子中,如果訪問遠程服務需要連接到localhost端口22443)。

◆connect:遠程服務器的IP地址和端口(注意這里我們使用標準HTTPS端口)。

◆client:告訴stunnel這個配置是client配置。

◆cert:連接是提供給對方的安全證書。這個證書可以是${FILE_NAME}.pem文件名也可以直接用XXXXXXXX.0文件。

如果客戶端需要通過HTTPS代理連接,需要使用以下配置文件:

  1. [CLIENT]  
  2. accept=22443 
  3. connect=proxyhost:8080  
  4. client=yes 
  5. ccert=c:\program files\stunnel\${FILE_NAME}.pem  
  6. protocol=connect 
  7. protocolHost=192.234.191.174:443 

這里connect處需要填入代理服務器的IP和端口,protocolHost處填入遠程服務器的IP和端口。配置結(jié)束后運行stunnel程序,然后雙擊任務欄的圖可以查看日志:

#p#

服務器端配置

服務器端配置比客戶端稍微麻煩些。首先我們需要把先前生成的XXXXXXXX.0證書拷貝到一個文件夾中(假設(shè)這個文件夾叫CApath),所有可信任的證書都應該拷貝到這里。然后我們需要配置C:\Program Files\stunnel\stunnel.conf文件:

  1. [SERVER]  
  2. accept=443 
  3. cert=stunnel.pem  
  4. connect=localhost:21  
  5. CApath=c:\program files\stunnel\CApath  
  6. CRLpath=c:\program files\stunnel\CRLpath  
  7. verify=3 

以下是這個配置各個參數(shù)的含義:

◆accept:接受連接請求的端口(應該和客戶端一致)

◆cert:服務器端發(fā)送給客戶端的安全認證。因為我們的客戶端不驗證這個證書,所以使用標準的stunnel證書就可以。

◆connect:連接到本地或者其他局域網(wǎng)的網(wǎng)絡(luò)服務(這里我們使用本地FTP服務)。

◆CApath:保存了所有可信安全證書的文件夾(所有文件名都應該是XXXXXXXX.0格式)。

◆CRLpath:保存了所有已經(jīng)撤銷的安全證書的文件夾(所有文件名都應該是XXXXXXXX.0格式)。這個的主要作用是當你把安全證書發(fā)布給客戶以后你依然可以拒絕他的連接請求。

◆verify:驗證級別。1表示如果客戶提供安全證書則驗證安全證書。2表示客戶必須提供安全證書并驗證安全證書,這個模式適合于驗證從CA處購買的安全證書。3表示客戶必須提供安全證書并根本本地CAPath和CRLpath來驗證證書是否合法。毫無疑問這里我們應該選3。

設(shè)置完成后我們可以啟動stunnel程序然后進行下簡單的測試。

連接測試

首先確認服務器端和客戶端的stunnel程序都已經(jīng)啟動,并且提供服務的網(wǎng)絡(luò)應用程序也已經(jīng)啟動(這里我們是FTP服務)。打開命令行,輸入:

  1. telnet localhost 22443 

這時你應該能得到一個到FTP服務器的TCP連接,同時也宣告大功告成:)以上這個例子可以使在禁止FTP的局域網(wǎng)中使用FTP服務,當然任何安裝在服務器端的TCP服務都可以通過這種方法使用。由于Stunnel使用加密過的連接,因此沒有人能看到服務器端和客戶端傳送的數(shù)據(jù)。需要注意的是,有些防火墻會在沒有流量的時候關(guān)閉連接,因此為了長期保持連接盡量不停發(fā)送數(shù)據(jù)(簡單的heartbeat就可以)。

責任編輯:佟健 來源: Mai Sun's Blog
相關(guān)推薦

2011-01-05 11:03:44

2010-03-05 16:20:38

Ubuntu中文環(huán)境

2010-01-11 15:25:30

Fedora VMwa

2011-03-09 14:02:55

LAMP安裝設(shè)置

2011-02-23 10:11:10

ProFTPd安裝

2009-11-10 16:46:57

路由器安裝設(shè)置

2009-08-08 15:25:05

無線路由器硬件安裝路由器設(shè)置

2010-07-21 09:28:46

Ubuntu Linu

2014-01-02 10:03:00

2009-12-01 17:15:33

ADSL路由器安裝

2011-02-24 12:57:42

Ubuntuvsftpd安裝

2011-03-02 15:12:11

2009-12-01 17:56:57

路由器安裝設(shè)置

2009-11-16 10:27:01

路由器安裝設(shè)置

2009-07-31 09:22:34

SQL Server

2009-09-10 14:49:00

2010-09-06 10:22:15

無線路由器安裝設(shè)置

2010-01-13 15:53:11

CentOS vsft

2010-01-13 16:46:44

CentOS Apac

2009-12-02 16:51:12

無線路由器安裝設(shè)置
點贊
收藏

51CTO技術(shù)棧公眾號