Librewan項目的歷史
Libreswan已經積極開發超過15年,回到1996年由John Gilmore和Hugh Daniel創立FreeS/WAN項目。該代碼在2003年被分為繼續作為The Openswan項目。2012年,由於對“openswan”這一商標提起訴訟,它被迫重命名為Libreswan項目。
FreeS / WAN(1995-2003)
目標是為網際網路上的加密開發IPsec和DNS標準。目標是每年加密5%的網際網路流量,直到整個網際網路只使用加密通信。FreeS / WAN項目通常有大約五名付費人員參與代碼,所有這些都由Gilmore支付。
當時加密非常罕見,並且實施加密的自由軟體很少。SSLeay是OpenSSL的前身,用於在Web伺服器和客戶端之間進行加密。大多數人並沒有考慮民族國家的竊聽和監視,但加密戰爭正在肆虐。freeswan軟體的目標是部署廣泛的機會加密,並在國家安全原因可能禁止公眾加密之前使加密無處不在。防止美國政府通過國家安全信函聲稱擁有freeswan(“NSL”),Gilmore本人和其他美國公民不允許為freeswan編寫任何代碼。這種限制造成了很多傷害,因為它阻止了freeswan代碼被合併到Linux核心中,並使個人更難以部署freeswan。
同時,企業需要通過網際網路進行安全連線,並且對虛擬專用網(“VPN”)的需求是開發可用加密標準的另一個動機。這些也使用IPsec,但以各種不同的方式滿足不同公司的需求。
網際網路工程任務組出現的標準被稱為IPsec套件。它由許多標準文檔(RFC)組成,這些文檔通過Internet密鑰交換協定處理身份驗證,並使用IPsec轉換來加密數據。支持和標準化各種加密和認證算法。採用機會加密並不存在。一些技術障礙使部署變得困難。DNS的安全版本延遲了很多年。DNS 根區域最終使用DNSSEC簽名2010年7月15日 - 經過十年的延遲。在此期間,freeswan對DNSSEC的使用被IETF中的後期移動阻止,該移動表明只有DNS本身可以使用DNSSEC KEY記錄,現在重命名為DNSKEY記錄。這意味著freeswan必須恢復到糟糕的舊TXT記錄。IPsec在2005年獲得了自己的DNS記錄類型IPSECKEY,但部署的DNS軟體需要花費數年才能真正支持這種新的記錄類型。此外,最終用戶從未獲得對其反向DNS區域的預期訪問許可權,以發布其OE IPsec所需的公鑰。
Linux核心對freeswan的採用也從未發生過。部分原因是由Gilmore執行的“非美國代碼”規則。負責Linux核心中的網路和加密的核心人員缺乏合作也發揮了重要作用。儘管freeswan的團隊在渥太華Linux研討會和核心峰會上共同出現了幾年,但Linux人員走上了自己的道路,最終經歷了一些未能獲得廣泛支持的新加密子系統。這導致兩個團隊花費多年努力維護兩個競爭的核心IPsec堆疊,即KLIPS與NETKEY,即使在今天,也沒有一個具有兩個堆疊的良好功能的統一堆疊。
一般公眾似乎不太關心政府的竊聽。該埃施朗間諜網路這一研究結果由尼基·黑格和對加密通信的部署沒有明顯的影響。在整個90年代和2000年代,沒有多少人認為未加密的網際網路是一個真正的問題,直到2013年愛德華·斯諾登(Edward Snowden)披露,這是吉爾摩爾放棄嘗試用freeswan加密整個網際網路的整整十年。
從FreeS / WAN到Openswan(2003 - 2011)
商業公司在“烘烤”活動期間使用freeswan作為其關鍵的互操作性測試之一。Andreas Steffen編寫了一個大補丁,為freeswan增加了X.509支持,這是Gilmore拒絕合併的.Mathieu Lafon編寫的NAT-Traversal支持是商業VPN支持所需的另一個必要功能,Gilmore拒絕讓其進入freeswan代碼。其中一位freeswan志願者肯·班托夫(Ken Bantoft)保留了一個版本的freeswan,這些補丁合併在一起,稱之為“超級freeswan”。Gilmore對使用“freeswan”這個名稱並不滿意,因為他不想要那些與freeswan名稱相關的網際網路癱瘓技術。
2003年7月,另一位活躍的freeswan志願者Gilmore和Paul Wouters在柏林附近的Chaos Communications Camp會面,並制定了一項計畫,在沒有Gilmore贊助的情況下繼續使用freeswan進行IPsec開發。Wouters和其他志願者會分叉代碼,而Gilmore會再發布一個freeswan版本,其中刪除了大量代碼,僅對商業VPN部署有用。這項工作在workname“openswan”下開始,基於freebsd / openbsd名稱歷史記錄。名字卡住了。Gilmore發布了另外兩個獲得VPN代碼的freeswan版本並結束了他的項目。
Openswan項目將軟體的重點從OE轉向VPN技術。四名開放式志願者成立了Xelerance公司,為openswan提供商業支持,用於繼續開放式開發。由於Gilmore對freeswan施加的限制不受阻礙,openwan代碼接管了freeswan,並廣泛採用並包含在主要的Linux發行版中,如Red Hat Enterprise Linux(“RHEL”),Debian和SuSe Linux。增加了對L2TP / IPsec支持的企業功能,如XAUTH和SAref跟蹤。Openswan在企業中運作良好。這本身就為Xelerance帶來了問題。企業用戶大多使用RHEL,因此向Red Hat支付了商業支持。IPsec和IKE運行良好,用戶幾乎不需要開發新功能。或者他們願意等待其他人支付或開發這些功能。雖然Xelerance仍然贊助了對Openswan項目的託管,但它將重點轉向生存。原始創始人一個接一個地離開了公司。Wouters是2011年12月離開的最後一位。他的離職引發了The Openswan Project和Xelerance之間關於誰擁有openswan品牌的爭議。提起訴訟,並且當自由軟體開發人員被公司起訴時很常見,走開並重命名軟體更便宜,更容易。Libreswan誕生了。
Libreswan(2011年 -現在)
Libreswan由Libreswan項目維護。
運行環境
Libreswan支持IKE版本1和2.它運行在Linux 2.4到4.x,FreeBSD和Apple OSX上。在Linux上,它可以使用內置的IPsec堆疊(“XFRM / NETKEY”)或其自己的IPsec堆疊(“KLIPS”)。它使用NSS加密庫。支持的RFC列表可以在Implemented標準中找到。
下載網址
下載網址:https://download.libreswan.org/
Git存儲庫:https://github.com/libreswan/libreswan/
配置示例
VPN伺服器到VPN伺服器配置
主機託管VPN
子網到子網VPN
主機用PSK託管VPN
用PSK子網到子網VPN
使用VTI的基於路由的VPN
EoIP使用IPsec共享乙太網LAN
子網到子網使用NAT
SElinux和標籤IPsec VPN
VPN客戶端配置的VPN伺服器
使用IKEv2的遠程客戶端的VPN伺服器
使用IKEv2拆分VPN的遠程客戶端的VPN伺服器
使用IKEv1 XAUTH和證書的遠程客戶端的VPN伺服器
用於遠程客戶端的VPN伺服器,使用IKEv1 XAUTH和PSK
使用IKEv1和L2TP的遠程客戶端的VPN伺服器
libreswan作為Cisco(ASA或VPN3000)伺服器的客戶端
IKEv1 XAUTH與Google-Authenticator一次性密碼(OTP)
IKEv1 XAUTH與FreeOTP和FreeIPA
子網擠出
用於連線雲提供商的VPN配置
在OpenStack中使用libreswan作為VPNaaS
使用libreswan在AWS中實現高可用性/故障轉移VPN
Microsoft Azure配置
使用libreswan的OpenShift雲加密