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網絡
2、隧道模式:
產生一個新IP包頭,當通訊點不等於加密點用這種方法,site-to-site的×××就是這種模式,由於通訊點的IP頭一般不是一個公網上可路由的頭部,而新的IP頭用的是兩個peer之間的IP地址。
新IP頭 | (ESP或AH) | 原始IP頭 | Dataide
通訊點:實際通訊的設備
加密點:進行加密的設備
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
步驟:
首先配置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已經能夠與兩個分支連通
分公司也能夠與總部通訊