開源的Stunnel--通用SSL加密程序

[開源項目之五]
                          Stunnel--通用SSL加密程序

Stunnel是一個可以用SSL對任意 TCP 連接加密的程序。它可以運行在多種UNIX和Windows操作系統之上。這樣說來,它很好的解決了SSL不能對現有的舊的應用程序傳輸的數據加密的問題,也就是說,在Stunnel出現之前,要實現安全的數據傳輸,只能依靠在應用程序之中添加SSL代碼的方式來提高安全性,但現在,可以不這樣做了,Strunnel 爲你解決了很多問題。
    Stunnel是基於 OpenSSL的,所以它要求已經安裝了 OpenSSL,並進行了正確的配置。它可以向不啓用 SSL 的服務器端軟件添加 SSL。例如,可以使用 Stunnel 來保護 POP3、SMTP 和 IMAP 服務器。唯一不太盡人意的地方是要使用這些服務器的安全版本,客戶機必須是可識別 SSL 的。
   對於Stunnel這個項目而言,它是開源的。當然它的源代碼並非是一個完整的產品,因爲它是基於OpenSSL的,編譯和運行它,你需要有一個SSL庫比如 OpenSSL或者SSLeay。這就是說Stunnel能支持所有(也是僅僅)SSL庫所支持的,在沒有改變Stunnel源代碼的情況下。
 Stuunel的源代碼在GNU許可下有效。也就說它可以被自由地在商業和非商業應用中使用並修改,只要你提供源代碼以及所有修改信息和軟件。你要編譯Stunnel庫是受你選擇的許可證限制的,然而OpenSSL和SSLeay都是開源的並且在許可中是同樣的慷慨。
不幸的是,Stunnel 有一些侷限性。在服務器端,它當前只能夠透明地代理 Linux 客戶機。在客戶機端,不容易執行充分的證書驗證。即使如此,Stunnel 仍是實用價值很高的實用程序,應該成爲程序員,同樣也是系統管理員的安全法寶。如果您正在開發自己的軟件,應該能夠很容易地將 Stunnel 集成到自己的程序中。
    對網絡安全和SSL感興趣的朋友可以到Stunnel官方網站: http://www.stunnel.org下載最新的Stunnel源代碼及幫助文檔和示例。
   有了前面的敘述相信你對stunnel已經有一定的瞭解了,接下來,說明一個用Stunnel加密MySQL的例子(這是Stunnel官方網站提供的,本人只做翻譯:))。

 使用Stunnel3.24加密MySQL連接:
  由於我見到許多請求信息是關於對MySQL連接加密的,所有我想我應該公開我這樣一個加密解決方案給那些對stunnel感興趣的人。我成功地在OpenSSL0.9.6的基礎上編譯了stunnel 3.14並用它爲Mysql 3.22.32做加密連接。這裏所有操作都是在Red Hat 6.2上進行的。
我的MySQL客戶端包括MysQL客戶端應用程序和dbish應用程序及Perl DBI模塊。爲了加密MySQL客戶端和服務器端的連接,需要運行兩個Stunnel實例,一個在客戶機上,另一個在服務器上。下面我將把它們稱爲CLIENT和 SERVER。客戶Stunnel從MySQL客戶端應用程序接收MySQL 的查詢,加密這些查詢,然後將加密的信息發往SERVER的3307端口。另一方面,SERVER上的Stunnel監聽3307端口,解密已經加密過的查詢請求並返回給3306端口—MySQL標準的默認連接端口(譯者注)
    在CLIENT運行Stunnel的命令是:
 ./stunnel -P/tmp/ -c -d 3306 -r SERVER:3307
而在SERVER上運行Stunnel的命令是:
       ./stunnel -P/tmp/ -p stunnel.pem -d 3307 -r localhost:3306
這裏我假定兩臺機器上的Stunnel者是已經編譯好的二進制代碼並且Stunel的證書文件也都在兩臺機器的當前目錄下。然而,一些需要注意的是你應該保存好stunnel.pem文件。所以最好運行stunnel是做爲一個特殊非登陸用戶並使得stunnel.pem的所有者UID爲0400。
    現在,從CLIENT,你可以訪問你的MySQL數據庫並享受SSL加密的好處,通過如下命令:
        mysql -h CLIENT -u YOURDBUSER -p
這個命令總是同樣地執行你在使用stunnel之前的命令,但是注意你用-h選項指定的是那個運行着stunnel客戶後臺程序而並非是那臺運行MySQL服務器後臺程序的機器。
    James Walden                  |  "Fall leaves blanket ground
Sr Internet Software Engineer     |   Redmond dreams darkly, beware
IMS, JFT-104, B-7                 |   Winter brings penguins"
(503) 712-2241                    |     -- Kevin Hackman
 

在Stunnel的老家,有很多的stunnel加密的examples,例如如何通過Stunnel爲IMAP服務器提供SSL支持。而Stunnel的地FAQ中也提供了從編譯到使用的多方面的幫助。
    可惜的是,當前還沒有知名的商業組織支持stunnel。如果你想了解什麼,可訪問它的網站或者聯繫:FAQ maintainer。然而,有大量的可用幫助,包括:
       Stunnel-Announce Mailing List [email protected]
       Stunnel-Users Mailing List [email protected]
你只需要發送空的郵件到上面的郵件列表,就能得到stunnel爲你提供的更近一步的服務和指導。
There are no known commercial organizations that support stunnel. If you know any, contact the FAQ maintainer. However there is a great deal of help available from the following two resources

參考:Stunnel官方網站: http://www.stunnel.org

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章