首頁 >運維 >安全 >如何進行ipsec說明以及隧道案例分析

如何進行ipsec說明以及隧道案例分析

WBOY
WBOY轉載
2023-05-25 09:50:401011瀏覽

1.IPSEC簡介

IPSec 是包含安全協定(Security Protocol)和金鑰交換協定(IKE),由IETF(Internet Engineering TaskForce,Internet 工程任務群組)開發的,可為通訊雙方提供存取控制、無連線的完整性、資料來源認證、反重播、加密以及對資料流分類加密等服務的一系列網路安全協定的總稱,其中安全協定又包括AH(頭驗證協定)和ESP(安全封裝載重);而IKE是一種基於ISAKMP(Internet Security Association and Key Management Protocol,網際網路安全關聯和金鑰管理協定)中TCP/IP框架,合併了Oakley(金鑰交換協定)的一部分和SKEME(密鑰技術協定)的混合協定。

2.IPSEC的安全特性

(1)不可否認性:"不可否認性"可以證實訊息發送方是唯一可能的發送者,發送者不能否認發送過訊息。 "不可否認性"是採用公鑰技術的特徵,當使用公鑰技術時,發送者用私鑰產生一個數位簽章隨訊息一起發送,接收者用發送者的公鑰來驗證數位簽章。由於在理論上只有發送者唯一擁有私鑰,也只有發送者才可能產生該數位簽名,所以只要數位簽名通過驗證,發送者就不能否認曾經發送過該訊息。但"不可否認性"不是基於認證的共享金鑰技術的特徵,因為在基於認證的共享金鑰技術中,發送方和接收方掌握相同的金鑰。

(2)抗重播性(Anti-Replay): IPsec接收方可根據封包資料段前加入的32位元序號來偵測每個IP套件的唯一性並拒絕接收過時或重複的報文,以防止***者截取破解訊息後,再用相同的訊息包冒取非法存取權(即使這種冒取行為發生在數月之後)。

(3)資料完整性(Data Integrity): IPsec接收方利用md5,sha-1等雜湊演算法對發送者發送的套件進行認證,防止傳輸過程中資料被竄改,確保發出資料和接收資料的一致性。

(4)資料可靠性(Confidentiality):IPsec發送者在透過des,3des,aes等對稱加密演算法在網路傳輸封包前對套件進行加密,保證在傳輸過程中,即使封包遭截取,訊息也無法被讀取。與IPSec策略的具體設定相關,此特性可在IPSec中選擇是否開啟。

(5)資料來源認證(Data Authentication):IPsec在接收端通過preshared key(域共享金鑰),證書,kerberos v5等可以認證發送IPsec封包的發送端是否合法。

3.IPSEC的工作模式

(1)隧道(tunnel)模式:使用者的整個IP封包被用來計算AH或ESP頭,AH或ESP頭以及ESP加密的用戶資料被封裝在一個新的IP資料包中。通常,隧道模式會套用在兩個安全閘道之間的通訊。

(2)傳輸(transport)模式:只是傳輸層資料被用來計算AH或ESP頭,AH或ESP頭以及ESP加密的用戶資料被放置在原IP包頭後面。常見的情況是,傳輸模式用於兩個主機之間或一台主機和安全閘道之間的通訊。

4.IPSEC安全機制中兩種協定的比較

AH協定(IP協定編號為51)提供資料來源認證、資料完整性校驗和防封包重播功能,它能保護通訊免受竄改,但無法防止竊聽,適合用於傳輸非機密資料。 AH的工作原理是在每個資料包上新增一個驗證封包頭,此封包頭插在標準IP包頭後面,對資料提供完整性保護。 ,但因為IP頭部分包含很多變量,例如type of service(TOS),flags,fragment offset,TTL以及header checksum。所以這些值在進行authtication前要全部清除。否則hash會mismatch導致丟包。因此AH不支援NAT轉換。

ESP協議,在IP協議中的編號為50,能夠提供資料加密、資料來源驗證、資料完整性檢查、防止重複傳輸的功能。 ESP的工作原理是在每個資料包的標準IP包頭後面加上一個ESP封包頭,並在資料包後面追加一個ESP尾。 ESP協定的不同之處在於它會對需要保護的用戶資料進行加密,然後再將其封裝到IP包中,以確保資料的機密性。

下圖更好的解釋了AH和ESP在IPSEC兩種工作模式下對資料包的加密與認證

如何進行ipsec說明以及隧道案例分析

5.IPsec基本概念(基於H3C)

1. 資料流:在IPSec 中,一組具有相同來源位址/遮罩/連接埠、目的位址/遮罩/連接埠和上層協定的資料集稱為資料流。通常,一個資料流採用一個存取控制清單(acl)來定義,所有為ACL 允許通過的封包在邏輯上作為一個資料流。

安全性原則指定了使用者手動設定的安全措施,用於規定對於哪些資料流採用何種安全操作。資料流的定義是透過在一個存取控制清單中配置多個規則來實現,在安全性原則中引用這個存取控制清單來決定需要進行保護的資料流。一條安全策略由「名字」和「順序號」共同唯一決定。

3.安全性原則群組:所有具有相同名字的安全性原則的集合。在一個介面上,可套用或取消一個安全性原則群組,讓安全性原則群組中的多條安全性原則同時套用在這個介面上,從而實現對不同的資料流進行不同的安全性保護。在同一個安全策略群組中,順序號碼越小的安全策略,優先順序越高。

4.安全聯盟(Security Association,簡稱SA):IPSec 對資料流提供的安全服務透過安全聯盟SA 來實現,它包括協定、演算法、金鑰等內容,具體確定瞭如何對IP報文進行處理。一個SA 就是兩個IPSec 系統之間的一個單向邏輯連接,輸入資料流和輸出資料流由輸入安全聯盟與輸出安全聯盟分別處理。安全聯盟由一個三元組(安全性參數索引(SPI)、IP 目的位址、安全協定號(AH或ESP))來唯一識別。 
安全聯盟可透過手動設定和自動協商兩種方式建立。
手工建立安全聯盟的方式是指用戶透過在兩端手工設定SA的全部信息,然後在介面上應用安全策略建立安全聯盟,缺點是配置複雜,而且不支援一些高級特性(如定時更新密鑰),適用於小型企業。   
自動協商方式由IKE 產生和維護,通訊雙方基於各自的安全策略庫經過配對和協商,最終建立安全聯盟而不需要使用者的干預,配置簡單,適用於大型企業。在自動協商中又分為主模式與野蠻模式,野蠻模式交換與主模式交換的主要差異在於,野蠻模式不提供身分保護。在對身分保護要求不高的場合,使用交換封包較少的野蠻模式可以提高協商的速度;在對身分保護要求較高的場合,則應使用主模式。

每個IPSec封包都攜帶32位元的安全性參數索引(SPI)。三元組由SPI、目的IP位址和安全協定號碼構成,用來唯一識別一個特定的安全聯盟。在手動配置安全聯盟時,需要手動指定SPI 的取值。為確保安全聯盟的唯一性,每個安全聯盟需要指定不同的SPI 值;使用IKE協商產生安全聯盟時,SPI 將隨機產生。

6.安全提議:包括安全協定、安全協定使用的演算法、安全協定對封包的封裝形式,規定了把普通的IP 封包轉換成IPSec封包的方式。安全策略可透過引用安全建議來規定所採用的協定、演算法等。

6.IPsecIPSEC設定步驟

建立加密存取控制清單

#根據是否與加密存取控制清單匹配,可以確定那些IP 套件加密後傳送,那些IP 包直

接轉送。需要保護的安全資料流使用擴充IP 存取控制清單進行定義。

acl acl-number

rule { normal | special }{ permit | deny } pro-number[source source-addr source-wildcard | any ][source-port operator port1 [ port2 ] ] [ destination dest-addr dest- wildcard | any ][destination-port operator port1 [ port2 ] ] [icmp-type icmp-type icmp-code][logging]

#定義安全提議

定義安全提議ipsec proposal proposal-name

設定安全協定對IP 封包的封裝模式encapsulation-mode { transport | tunnel }

##選擇安全協定transform { ah-new | ah- esp-new | esp-new }

選擇加密演算法與認證演算法

在ESP 協定中,轉換選項可以是{ ah-new | ah-esp-new | esp-new }

AH協定下transform { ah-new | ah-esp-new | esp-new }

建立安全性原則

手動建立安全性原則的設定包括:

手動建立安全性原則ipsec policy policy-name sequence-number manual

配置安全性原則參考的存取控制清單security acl access-list-number

指定安全隧道的起點與終點tunnel local ip-address

tunnel remote ip-address

配置安全策略中引用的安全提議proposal proposal-name

#配置安全策略聯盟的SPI 及使用的密鑰

SPI的設定                sa inbound { ah | esp } spi spi-number

sa outbound { ah | esp } spi spi-number

sa outbound { ah | esp } spi sp##number

AH16進位金鑰sa { inbound | outbound } ah hex-key-string hex-key

AH 字元金鑰sa { inbound | outbound } ah string-key string-key

ESP16進位金鑰sa { inbound | outbound } esp encryption-hex hex-key

ESP字元金鑰sa { inbound | outbound } esp string-key string-key

# #   在介面上套用安全性原則群組

                   ipsec policy policy-name

IKE 建立安全性原則聯盟的設定包含:###

用IKE 建立安全性原則聯盟

ipsec policy policy-name sequence-number isakmp

配置安全性原則引用的存取控制清單

#security acl access-list- number

指定安全隧道的終點

tunnel remote ip-address

設定安全性原則中引用的安全性提議

proposal proposal-name1 [ proposal- name2...proposal-name6 ]

設定安全聯盟的生存時間(可選)

設定全域時間

ipsec sa global-duration time-based seconds

ipsec sa global-duration traffic-based kilobytes

設定獨立時間

sa duration { time-based seconds |traffic-based kilobytes }

IPsec設定案例:使用ipsec隧道協定完成企業安全通訊

實驗器材:三台華為AR1220路由器,一台華為s5700交換器

拓撲圖:

如何進行ipsec說明以及隧道案例分析

#設定程序:

交換器:(本交換器新增連接埠需要開啟連接埠模式為access)

vlan 10

##port GE0/0/10

#vlan 20

port GE0/0/20

vlan 24

port GE0/0/24

int vlan 10

ip add 1.1.1.2 255.255.255.0

int vlan 20

ip add 1.1.2.2 255.255.255.0

int vlan 24

1111. .3.2 255.255.255.0

R1

system-view

sysname R1

int eth0/0/0

#ip add 192.168 .1.1 24

loopback

int eth0/0/1

ip add 1.1.1.1 24

quit

ip route 0.0 .0.0 0 1.1.2.2

ping 1.1.1.1

R2

system-view

sysname R2

int eth0/0 /0

ip add 192.168.2.1 24

loopback

int eth0/0/1

ip add 1.1.2.1 24

#quit

ip route 0.0.0.0 0 1.1.2.2

ping 1.1.1.1

R3

system-view

#sysname R3

int etth0/0/0

ip add 192.168.3.1 24

loopback

int eth0/0/1

# ip add 1.1.3.1 24

quit

ip route 0.0.0.0 0 1.1.3.2

ping 1.1.1.1

R1到R2、R3的隧道

acl number 3000 match-order auto

rule 10 permit ip source 192.168.1.0 0.0.0.255 destination  192.168.2.0 0.0.0.255551 月#20 月 200.0.0.25 destination any

acl number 3001 match-order auto

rule 10 permit ip source 192.168.1.0 0.0.0.255 destination  192.168.3.0 0.0.0255 destination  192.168.3.0 0.0。 any destination any

quit

安全提議

ipsec proposal tran1

encapsulation-mode tunnel

#transform esp

esp authentication-algorithm md5 (校驗演算法)

esp encryption-algorithm des (加密演算法)

# #transform esp

esp authentication-algorithm md5

#esp encryption-algorithm des

quit

#配置對應的IKE

##ike peer R2

remote-address 1.1.2.1

pre-shared-key simple abcdef

ike peer R3

#remote-address 1.1.3.1

#pre-shared-key simple 123456

#新增政策

ipsec policy policy1 10 isakmp

ike peer R2

#security acl 3000

proposal tran1

ipsec policy policy1 20 isakmp

ike peer R3

security acl 3000

proposal tran2

#在外出外出介面上應用政策

int e0/0/1

ipsec policy policy1

R2到R1

acl number 3000 match-order auto

rule 10 permitip source 192.168.2.0 0.0.0.255 destination 192.168.1.0 0.0.0.255

rule 20 deny ip source any destination any

#rule 20 deny ip source any destination any##11

encapsulation-mode tunnel

transform esp

esp authentication-algorithm md5

esp encryption-algorithm des

quit

##ike peer R1

remote-address 1.1.1.1

pre-shared-key  simple abcdef

quit

ipsec policy policy1 10 isakmp

ike peer R1

security acl 3000

#proposal tran1

在外出介面上套用政策

int e0/0/1

ipsec policy policy1

R3到R1

acl number 3000 match-order auto

#R3到R1

acl number 3000 match-order auto

rule 10 permitip source 192.168.3.0 0.0.0.255 destination 192.168.3.0 0.0.0.255 destination 192. 0.0.0.255

rule 20 deny ip source any destination any

quit

ipsec proposal tran1

encapsulation-mode tunnel

transform esp

esp authentication-algorithm md5

esp authentication-algorithm md5

esp encryption-algorithm des

quit

#ike peer R1

#remote-address 1.1. 1.1

pre-shared-key  simple 123456

quit

ipsec policy policy1 10 isakmp

ike peer R1

#security acl 3000

proposal tran1

在外出介面上套用政策

int e0/0/1

ipsec policy policy1

#這樣就完成了!

以上是如何進行ipsec說明以及隧道案例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除