只有IKE動態(tài)協(xié)商的SA才支持抗重放功能,手工方式生成的SA不支持抗重放功能,。因為手工方式建立的SA是永久不老化的,,而只有在SA重新建立時,AH或ESP報文的序列號才會重新開始計算,,這需要IKE協(xié)議的支持,。
重放報文是指已經(jīng)處理過的報文,報文的序列號與原來的某個報文一樣,。IPSec通過滑動窗口(抗重放窗口)機制檢測重放報文,。AH和ESP協(xié)議報文頭中帶有32比特序列號,在同一個SA內(nèi),,報文的序列號依次遞增,。當設備收到一個經(jīng)過認證的報文后,如果報文的序列號與已經(jīng)解封裝過的某個報文的序列號相同,,或報文的序列號較小且不在滑動窗口內(nèi),,則認為該報文為重放報文。
由于對重放報文的解封裝無實際作用,,并且解封裝過程會消耗設備大量的資源,,導致業(yè)務可用性下降,實際上構(gòu)成了拒絕服務DoS(Denial of Service)攻擊,。通過使能IPSec抗重放功能,,將檢測到的重放報文在解封裝處理之前丟棄,可以降低設備資源的消耗,。但在某些特定的環(huán)境下(如當網(wǎng)絡出現(xiàn)擁塞時或報文經(jīng)過QoS處理后),,業(yè)務數(shù)據(jù)報文的序列號順序可能與正常的順序差別較大,雖然并非有意的重放攻擊,,但其會被抗重放檢測認為是重放報文,,導致業(yè)務數(shù)據(jù)報文被丟棄。這種情況下就可以通過關閉全局IPSec抗重放功能來避免報文的錯誤丟棄,,也可以通過適當?shù)卦龃罂怪胤糯翱诘膶挾?,來適應業(yè)務正常運行的需要。
使用較大的抗重放窗口寬度會引起系統(tǒng)增大的開銷,,導致系統(tǒng)性能下降,,因此與抗重放功能用于降低系統(tǒng)在接收重放報文時的開銷的初衷不符,因此建議在能夠滿足業(yè)務運行需要的情況下,,使用較小的抗重放窗口寬度,。
抗重放功能可以基于全局配置,也可以在IPSec安全策略或策略模板下配置,。全局IPSec抗重放功能的配置對所有已創(chuàng)建的IPSec安全策略生效,,針對個別IPSec安全策略配置的抗重放功能僅在對應的安全策略下生效,不再受全局配置的影響,。具體的抗重放功能配置步驟見表1,。
表1 配置抗重放功能的步驟