Linux中IPsec的實現--(實例)

LinuxIPsec的實現

IPsec-×××算法

virtual private network--虛擬專用網
×××做用數據庫

經過公網實現遠程鏈接,將私有網絡聯繫起來
×××的類型:
一、overlay的×××,例如IPsec-×××
二、peer-to-peer的×××,例如MPLS-×××
還能夠分爲二層×××和三層×××
IPsec-×××是三層的×××
IPsec-×××的分類:
一、site-to-site ××× 也叫 LAN-to-LAN ××× (要求兩個站點都要有固定的IP)
二、EASY-××× 也叫 remote ××× (一般用於鏈接沒有固定IP的站點)
IPsec-×××提供三個特性:
一、authentication  每個IP包的認證
二、data integrity  驗證數據完整性,保證在傳輸過程當中沒有被人爲改動
三、confidentiality (私密性)數據包的加密

----------------------------------------------------------------------------------------
IP sec 的組成安全

IPsec協議集包括三個協議:
一、internet key exchange(IKE)密匙交換協議
  協議雙方使用的算法,密匙,協商在兩個對等體之間創建一條遂道的參數,協商完成再用下面的方法封裝數據。
  IKE動態的,週期性的在兩個PEER之間更新密鑰
二、encapsulating secutity payload(ESP)封裝安全負載
  能夠對數據包認證,加密,封裝,IP中協議號--50,一般使用3DES來進行加密
三、authentication header (AH)
  只提供認證,封裝,不提供加密,明文傳送,IP中協議號--51

IPsec×××的兩種模式--
1、傳輸模式:
不產生新的IP頭,在原包頭以後插入一個字段,當通訊點等於加密點用這種方法
原始IP頭 | (ESP或AH) | Data網絡

wKioL1NyPAqAYrHiAAGbnQXUh64912.jpg


2、隧道模式:
產生一個新IP包頭,當通訊點不等於加密點用這種方法,site-to-site的×××就是這種模式,由於通訊點的IP頭一般不是一個公網上可路由的頭部,而新的IP頭用的是兩個peer之間的IP地址。
新IP頭 | (ESP或AH) | 原始IP頭 | Data
wKioL1NyPAqCJ30mAAHHDGqZZsA575.jpgide


通訊點:實際通訊的設備
加密點:進行加密的設備

ESP封裝中只對原始IP分組進行完整性檢驗
AH封裝中進行完整性檢驗還包括新的IP頭
--------------------------------------------------------------------------------------------
IKE密匙交換協議
IKE的做用:用於在兩個peer之間協商創建IPsec-×××通道
一、協商參數
二、產生KEY,交換KEY、更新KEY
三、對雙方進行認證
四、對密鑰進行管理
oop

三個不一樣的協議組成:
一、ISAKMP--定義了信息交換的體系結構,也就是格式
二、SKEME--實現公鑰加密認證的機制
三、Oakley--提供在兩個IPsec對等體間達成相同加密密鑰的基於模式的機制
ISAKMP基於UDP,源目端口都是500
site-to-site ipsec ×××的協商過程,分兩個階段
要想在兩個站點之間安全的傳輸IP數據流,它們之間必需要先進行協商,協商它們之間所採用的加密算法,封裝技術以及密鑰。這個協商過程是經過IKE來完成的,IKE協商分兩個階段運行:
階段一:在兩個對等體設備之間創建一個安全的管理鏈接。沒有實際的數據經過這個鏈接。這個管理鏈接是用來保護第二階段協商過程的。
階段二:當對等體之間有了安全的管理鏈接以後,它們就能夠接着協商用於構建安全數據鏈接的安全參數,這個協商過程是安全的,加了密的。協商完成後,將在兩個站點間造成安全的數據鏈接。用戶就能夠利用這些安全的數據鏈接來傳輸自已的數據了。
第一階段:創建ISAKMP SA  協商的是如下信息:
一、對等體之間採用何種方式作認證,是預共享密鑰仍是數字證書。
二、雙方使用哪一種加密算法
三、雙方使用哪一種HMAC方式,是MD5仍是SHA
四、雙方使用哪一種Diffie-Hellman密鑰組
五、使用哪一種協商模式(主模式或主動模式)
六、還要協商SA的生存期
第二階段創建IPsec SA  協商的是如下信息:
一、雙方使用哪一種封裝技術,AH仍是ESP
二、雙方使用哪一種加密算法
三、雙方使用哪一種HMAC方式,是MD5仍是SHA
四、使用哪一種傳輸模式,是隧道模式仍是傳輸模式
五、還要協商SA的生存期
---------------------------------------------------------------------
SA--安全關聯
SA是兩個通訊實體經協商創建起來的一種協定,它們決定了用來保護數據包安全的IPsec協議、轉碼方式、密鑰、以及密鑰的有效存在時間等等。任何IPsec實施方案始終會構建一個SA數據庫(SA DB),由它來維護IPsec協議用來保障數據包安全的SA記錄。
SA是單向的--若是兩個主機(好比A和B)正在經過ESP進行安全通訊,那麼主機A就須要有一個SA,即SA(OUT),用來處理外發的數據包,另外還須要有一個不一樣的SA,即SA(IN)用來處理進入的數據包。主機A的SA(OUT)和主機B的SA(IN)將共享相同的加密參數(好比密鑰)。
SA還要根據協議來區分,若是兩個主機間同時使用ESP和AH,對於ESP和AH會生成不一樣的SA。
SADB--安全關聯數據庫,包含雙方協商的IKE和IPsec安全信息
SPI--安全參數索引,是一個32位的值,用來標識用於處理數據包的特定的那個安全聯盟。或者這樣理解,用於惟必定義一條單向的IPsec通道。這個號碼存在於ESP包頭中,通道兩端必須一致。
SA分爲兩種--
一、IKE(ISAKMP)SA   協商對IKE數據流進行加密以及對對等體進行驗證的算法
二、IPsec SA           協商對對等體之間的IP數據流進行加密的算法
對等體之間的IKE SA只能有一個
對等體之間的IPsec SA能夠有多個
PFS--完善轉發安全性,是一種IKE協商中發起者能夠向響應者提供建議的屬性,是一種強制對等體雙方在快速模式交換中產生新的DH祕密的屬性。這容許使用新的DH祕密生成用於加密數據的加密密鑰。測試


案例:加密


要求:某公司總部fw1 192.168.1.0網段,兩個分支分別是fw2  2.0和  fw3  3.0網段,中間是Internet,須要創建兩條隧道讓總部與兩個分支相連。spa

拓撲圖:orm

wKiom1NyPBjhhcG9AADioXHnUGc267.jpg

步驟:

首先配置ISP,使用華爲三層交換機代替

[ISP]vlan 2

[ISP-vlan2]port eth0/0/2

[ISP-vlan2]vlan 10

[ISP-vlan10]port eth0/0/10

[ISP-vlan10]vlan 20

[ISP-vlan20]port eth0/0/20

[ISP]int vlan 2

[ISP-Vlanif2]ip add 61.130.130.2 255.255.255.0

[ISP]int vlan 10

[ISP-Vlanif2]ip add 61.130.130.6 255.255.255.0

[ISP]int vlan 20

[ISP-Vlanif2]ip add 61.130.130.10 255.255.255.0

開始配置防火牆FW一、FW二、FW3的各個端口ip以及靜態路由

FW1:

[FW1]int eth0/1

[FW1-Ethernet0/1]ip add 192.168.1.1 24

[FW1-Ethernet0/1]loopback

[FW1-Ethernet0/1]int eth0/0

[FW1-Ethernet0/0]ip add 61.130.130.1 30

[FW1]ip route 0.0.0.0 0 61.130.130.2

[FW1]firewall zone untrust

[FW1-zone-untrust]add int eth0/0

FW2:

[FW2]int eth0/1

[FW2-Ethernet0/1]ip add 192.168.2.1 24

[FW2-Ethernet0/1]loopback

[FW2-Ethernet0/1]int eth0/0

[FW2-Ethernet0/0]ip add 61.130.130.5 30

[FW2]ip route 0.0.0.0 0 61.130.130.6

[FW2]firewall zone untrust

[FW1-zone-untrust]add int eth0/0

FW3:

[FW3]int eth0/1

[FW3-Ethernet0/1]ip add 192.168.3.1 24

[FW3-Ethernet0/1]loopback

[FW3-Ethernet0/1]int eth0/0

[FW3-Ethernet0/0]ip add 61.130.130.9 30

[FW3]ip route 0.0.0.0 0 61.130.130.10

[FW3]firewall zone untrust

[FW3-zone-untrust]add int eth0/0


開始作總部與分支之間的隧道

FW1:

[FW1]acl number 3000 match-order auto

#訪問控制列表

[FW1-acl-adv-3000]rule 10 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255

[FW1-acl-adv-3000]rule 20 deny ip source any destination any

#添加訪問控制列表規則

[FW1]ipsec proposal tran1

#安全協議,命名爲tran1

[FW1-ipsec-proposal-tran1]encapsulation-mode tunnel

#採起封裝模式爲tunnel隧道

[FW1-ipsec-proposal-tran1]transform esp

#協商傳輸協議爲esp

[FW1-ipsec-proposal-tran1]esp authentication-algorithm md5

#該協議加密算法爲md5

[FW1-ipsec-proposal-tran1]esp encryption-algorithm des

#該協議驗證算法爲des

[FW1]ipsec policy policy1 10 isakmp

#建立安全策略,並代表採起的方式爲isakmp

[FW1-ipsec-policy-isakmp-policy1-10]security acl 3000

#應用訪問控制列表

[FW1-ipsec-policy-isakmp-policy1-10]proposal tran1

#使用安全協議tran1

[FW1]ike peer fw2

#生成ike,並指出他的鄰居爲fw2

[FW1-ike-peer-fw2]local-address 61.130.130.1

#本地ip地址

[FW1-ike-peer-fw2]remote-address 61.130.130.5

#遠端ip地址

[FW1-ike-peer-fw2]pre-shared-key 123456

#定義一個共享公鑰

[FW1]ipsec policy policy1 10 isakmp

[FW1-ipsec-policy-isakmp-policy1-10]ike-peer fw2

#指出ike的鄰居爲fw2

[FW1]int eth0/0

#進入接口

[FW1-Ethernet0/0]ipsec policy policy1

#在接口上應用通往fw2上的提議

添加FW3的配置

[FW1]acl number 3001 match-order auto

[FW1-acl-adv-3001]rule 10 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.3.0 0.0.0.255

[FW1-acl-adv-3001]rule 20 deny ip source any destination any

[FW1]ipsec proposal tran2

[FW1-ipsec-proposal-tran2]encapsulation-mode tunnel

[FW1-ipsec-proposal-tran2]transform esp

[FW1-ipsec-proposal-tran2]esp authentication-algorithm md5

[FW1-ipsec-proposal-tran2]esp encryption-algorithm des

[FW1]ipsec policy policy1 20 isakmp

[FW1-ipsec-policy-isakmp-policy1-10]security acl 3001

[FW1-ipsec-policy-isakmp-policy1-10]proposal tran2

[FW1]ike peer fw3

[FW1-ike-peer-fw3]local-address 61.130.130.1

[FW1-ike-peer-fw3]remote-address 61.130.130.5

[FW1-ike-peer-fw3]pre-shared-key 123456

[FW1]ipsec policy policy1 20 isakmp

[FW1-ipsec-policy-isakmp-policy1-10]ike-peer fw3

[FW1]int eth0/0

[FW1-Ethernet0/0]ipsec policy policy1

FW2

[FW2]acl number 3000 match-order auto

[FW2-acl-adv-3000]rule 10 permit ip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255

[FW2-acl-adv-3000]rule 20 deny ip source any destination any

[FW2]ipsec proposal tran1

[FW2]ipsec-proposal-tran1]encapsulation-mode tunnel

[FW2-ipsec-proposal-tran1]transform esp

[FW2-ipsec-proposal-tran1]esp authentication-algorithm md5

[FW2-ipsec-proposal-tran1]esp encryption-algorithm des

[FW2]ipsec policy policy1 10 isakmp

[FW2-ipsec-policy-isakmp-policy1-10]security acl 3000

[FW2-ipsec-policy-isakmp-policy1-10]proposal tran1

[FW2]ike peer fw1

[FW2-ike-peer-fw1]local-address 61.130.130.5

[FW2-ike-peer-fw1]remote-address 61.130.130.1

[FW2-ike-peer-fw1]pre-shared-key 123456

[FW2]ipsec policy policy1 10 isakmp

[FW2-ipsec-policy-isakmp-policy1-10]ike-peer fw1

[FW2]int eth0/0

[FW2-Ethernet0/0]ipsec policy policy1

FW3

[FW3]acl number 3001 match-order auto

[FW3-acl-adv-3001]rule 10 permit ip source 192.168.3.0 0.0.0.255 destination 192.168.1.0 0.0.0.255

[FW3-acl-adv-3000]rule 20 deny ip source any destination any

[FW3]ipsec proposal tran2

[FW3-ipsec-proposal-tran2]encapsulation-mode tunnel

[FW3-ipsec-proposal-tran2]transform esp

[FW3-ipsec-proposal-tran2]esp authentication-algorithm md5

[FW3-ipsec-proposal-tran2]esp encryption-algorithm des

[FW3]ipsec policy policy120 isakmp

[FW3-ipsec-policy-isakmp-policy1-20]security acl 3000

[FW3-ipsec-policy-isakmp-policy1-20]proposal tran2

[FW3]ike peer fw1

[FW3-ike-peer-fW1]local-address 61.130.130.9

[FW3-ike-peer-fw1]remote-address 61.130.130.1

[FW3-ike-peer-fw1]pre-shared-key 123456

[FW3]ipsec policy policy1 10 isakmp

[FW3-ipsec-policy-isakmp-policy1-10]ike-peer fw1

[FW3]int eth0/0

[FW3-Ethernet0/0]ipsec policy policy1

測試:

配置隧道後,總部fw1已經能夠與兩個分支連通

wKioL1NyO47QpCqfAAHP7Fw6v0s896.jpg

分公司也能夠與總部通訊

wKiom1NyO7iyRV8KAAHd_Di3ldQ590.jpg

相關文章
相關標籤/搜索