当前位置: 首页 > news >正文

BGP高级特性之认证

一、概述

        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。

以上就是本章的全部内容了,感谢大家的浏览观看!文章若有错误或疑问可联系博主删除更改。

http://www.dtcms.com/a/308063.html

相关文章:

  • python刷题关键记录【常用api使用方法总结,常用函数使用方法】
  • RHEL 8.10 离线安装 Ansible 完整教程
  • 网络基础——路由控制
  • iOS 类存储 与 C# 类存储 的差异
  • 正则化都是放在模型的哪个位置呢?
  • 系统讲解图片格式转换:为什么要转换、怎么转换
  • 数据治理:数字化时代的 “治” 与 “理” 之道 —— 破解企业数据资产困局
  • 【2025/07/31】GitHub 今日热门项目
  • 代码随想录day51图论2
  • Spring MVC体系结构和处理请求控制器
  • 图论:SPFA算法
  • 嵌入式操作系统快速入门(1):快速入门操作系统常见基础概念
  • CMake项目中如何按目录结构分离显示Header和Source文件
  • LPC2132GPIO
  • Ubuntu 内网多台服务器时间同步方案(适用于临时能上外网的环境)
  • 电商作图:解锁“素材裂变”和“产品测款”新姿势
  • Zombie Process
  • Apache Camel 简介
  • STM32 USB 设备中间件 tinyusb
  • 开疆智能Profient转Modbus网关连接MAG8000电池流量计配置案例
  • 快速入门开源项目若依
  • FISCO BCOS Gin调用WeBASE-Front接口发请求
  • 【Kiro Code】Chat 聊天功能
  • React的介绍和特点
  • Linux的访问权限(保姆级别)
  • 深入浅出HTML5 CSS类扩展:getElementsByClassName和classList属性
  • Vercel 全面介绍与网站部署指南
  • CSS和XPATH选择器对比
  • AI与AGI:从狭义智能到通用智能
  • Opus音频编码器全解析:从技术原理到实战应用