一、概述
????????BGP使用TCP作為傳輸協議,只要TCP數據包的源地址、目的地址、源端口、目的端 口和TCP序號是正確的,BGP就會認為這個數據包有效,但數據包的大部分參數對于攻擊 者來說是不難獲得的。
????????為了保證BGP免受攻擊,可以在BGP鄰居之間使用MD5認證或者Keychain認證來降低 被攻擊的可能性。其中MD5算法配置簡單,配置后生成單一密碼,需要人為干預才可以 切換密碼,適用于需要短時間加密的網絡。如果MD5認證失敗,則不建立TCP連接。另 外,BGP MD5認證與BGP Keychain認證互斥,不能在同一對等體或者對等體組上配 置。
注意:BGP使用TCP作為傳輸層協議,為提高BGP的安全性,可以在建立TCP連接時進行MD5認證。BGP的MD5認證只是為TCP連接設置MD5密碼,認證字段并沒有在BGP的載荷中,認證字段是在TCP的option中。
?二、認證的種類
BGP的認證分為兩種,分別為MD5以及Keychain兩種類型
1、MD5認證
????????MD5認證的配置方法是在BGP視圖下通過peer {ipv4-address | group-name | ipv6- address} password {cipher cipher-password | simple simple-password}命令配置MD5認證密 碼(兩端的認證方式和密碼必須完全一致)。命令中的參數說明如下。
① ipv4-address | group-name| ipv6-address:指定要進行MD5認證的對等體IP地址或對 等體組名稱。
② cipher cipher-password:二選一參數,指定MD5密文密碼,不允許空格,區分大 小寫,可以輸入1~255個字符的明文,也可以輸入20~392個字符的密文。
③ simple simple-password二選一參數,指定MD5明文密碼,1~255個字符,不允許 空格,區分大小寫。
注意:在配置MD5認證密碼時,如果使用simple選項,密碼將以明文形式保存在配置文件 中,存在安全隱患。建議使用cipher選項,將密碼加密保存在配置文件中。
在采用輸入明文方式來指定明文密碼或密文密碼字符串時,不支持 以“$@$@”或“^#^#”同時作為起始和結束字符。
缺省情況下,BGP對等體在建立TCP連接時對BGP消息不進行MD5認證,可用undo peer {group-name | ipv4-address} password命令恢復缺省情況。
2、Keychain認證
????????Keychain認證方式具有一組密碼,可以根據配置自動切換,安全性較MD5認證方式更 高,但是配置過程較為復雜,適用于對安全性能要求比較高的網絡。配置BGP Keychain 認證前,必須配置keychain-name對應的Keychain認證,否則TCP連接不能正常建立。
注意:BGP對等體兩端必須都配置針對使用TCP連接的應用程序的Keychain認證,所使用的 Keychain(密鑰鏈)需已使用keychain keychain-name命令創建,然后分別通過key-id keyid 、key-string {[plain] plain-text | [cipher] cipher-text}和algorithm{hmac-md5 | hmac-sha256 | hmac-sha1-12 | hmac-sha1-20 | md5 | sha-1 | sha-256 |simple}命令配置該keychain采用 的key-id、密碼及其認證算法,必須保證本端和對端的key-id、algorithm、key-string相 同,才能正常地建立TCP連接,交互BGP消息。且BGP Keychain認證與BGP MD5認證互 斥,不能在同一對等體間同時配置。
配置BGP Keychain認證的方法是在BGP視圖下使用peer {ipv4-address | groupname |ipv6-address} keychain keychain-name命令進行的。命令中的ipv4-address | groupname| ipv6-address用來指定要進行Keychain認證的對等體IP地址或對等體組名稱,參數keychainname用來指定所采用的Keychain名稱,1~47個字符,區分大小寫,不支持空格。配置 BGP Keychain認證前,必須先配置keychain-name參數對應的Keychain。
以上就是本章的全部內容了,感謝大家的瀏覽觀看!文章若有錯誤或疑問可聯系博主刪除更改。