安裝Strongswan:Linux上一個基于IPsec的VPN工具
IPsec是一個提供網(wǎng)絡(luò)層安全的標(biāo)準(zhǔn)。它包含認證頭(AH)和安全負載封裝(ESP)組件。AH提供包的完整性,ESP組件提供包的保密性。IPsec確保了在網(wǎng)絡(luò)層的安全特性。
- 保密性
- 數(shù)據(jù)包完整性
- 來源不可抵賴性
- 重放攻擊防護
Strongswan是一個IPsec協(xié)議的開源代碼實現(xiàn),Strongswan的意思是強安全廣域網(wǎng)(StrongS/WAN)。它支持IPsec的VPN中的兩個版本的密鑰自動交換(網(wǎng)絡(luò)密鑰交換(IKE)V1和V2)。
Strongswan基本上提供了在VPN的兩個節(jié)點/網(wǎng)關(guān)之間自動交換密鑰的共享,然后它使用了Linux內(nèi)核的IPsec(AH和ESP)實現(xiàn)。密鑰共享使用了之后用于ESP數(shù)據(jù)加密的IKE機制。在IKE階段,strongswan使用OpenSSL的加密算法(AES,SHA等等)和其他加密類庫。無論如何,IPsec中的ESP組件使用 的安全算法是由Linux內(nèi)核實現(xiàn)的。Strongswan的主要特性如下:
- x.509證書或基于預(yù)共享密鑰認證
- 支持IKEv1和IKEv2密鑰交換協(xié)議
- 可選的,對于插件和庫的內(nèi)置完整性和加密測試
- 支持橢圓曲線DH群和ECDSA證書
- 在智能卡上存儲RSA私鑰和證書
它能被使用在客戶端/服務(wù)器(road warrior模式)和網(wǎng)關(guān)到網(wǎng)關(guān)的情景。
如何安裝
幾乎所有的Linux發(fā)行版都支持Strongswan的二進制包。在這個教程,我們會從二進制包安裝strongswan,也會從源代碼編譯帶有合適的特性的strongswan。
使用二進制包
可以使用以下命令安裝Strongswan到Ubuntu 14.04 LTS
$ sudo aptitude install strongswan
安裝strongswan
strongswan的全局配置(strongswan.conf)文件和ipsec配置(ipsec.conf/ipsec.secrets)文件都在/etc/目錄下。
strongswan源碼編譯安裝的依賴包
- GMP(strongswan使用的高精度數(shù)學(xué)庫)
- OpenSSL(加密算法來自這個庫)
- PKCS(1,7,8,11,12)(證書編碼和智能卡集成)
步驟
1) 在終端使用下面命令到/usr/src/目錄
$ cd /usr/src
2) 用下面命令從strongswan網(wǎng)站下載源代碼
$ sudo wget http://download.strongswan.org/strongswan-5.2.1.tar.gz
(strongswan-5.2.1.tar.gz 是當(dāng)前最新版。)
下載軟件
3) 用下面命令提取下載的軟件,然后進入目錄。
$ sudo tar –xvzf strongswan-5.2.1.tar.gz; cd strongswan-5.2.1
#p#
4) 使用configure命令配置strongswan每個想要的選項。
$ ./configure --prefix=/usr/local -–enable-pkcs11 -–enable-openssl
檢查strongswan包
如果GMP庫沒有安裝,配置腳本將會發(fā)生下面的錯誤。
GMP library error
因此,首先,使用下面命令安裝GMP庫然后執(zhí)行配置腳本。
gmp installation
不過,如果GMP已經(jīng)安裝還報上述錯誤的話,在Ubuntu上使用如下命令,給在路徑 /usr/lib,/lib/,/usr/lib/x86_64-linux-gnu/ 下的libgmp.so庫創(chuàng)建軟連接。
$ sudo ln -s /usr/lib/x86_64-linux-gnu/libgmp.so.10.1.3 /usr/lib/x86_64-linux-gnu/libgmp.so
softlink of libgmp.so library
創(chuàng)建libgmp.so軟連接后,再執(zhí)行./configure腳本也許就找到gmp庫了。然而,如果gmp頭文件發(fā)生其他錯誤,像下面這樣。
GMP header file issu
為解決上面的錯誤,使用下面命令安裝libgmp-dev包
$ sudo aptitude install libgmp-dev
Installation of Development library of GMP
安裝gmp的開發(fā)庫后,在運行一遍配置腳本,如果沒有發(fā)生錯誤,則將看見下面的這些輸出。
Output of Configure scirpt
使用下面的命令編譯安裝strongswan。
$ sudo make ; sudo make install
安裝strongswan后,全局配置(strongswan.conf)和ipsec策略/密碼配置文件(ipsec.conf/ipsec.secretes)被放在/usr/local/etc目錄。
根據(jù)我們的安全需要Strongswan可以用作隧道或者傳輸模式。它提供眾所周知的site-2-site模式和road warrior模式的VPN。它很容易使用在Cisco,Juniper設(shè)備上。