一.加密算法
1. 对称算法
加解密双方使用相同的密钥与算法进行加解密
• 优点:速度快、紧凑
• 缺点:密钥膨胀、需要传输密钥、不支持数字签名
2. 非对称算法
公钥加密私钥解密,私钥加密公钥解密
• 优点:公钥共享、私钥不需要传输、支持数字签名
• 缺点:速度慢、不够紧凑
二.证书颁发机构
1. CA(Certificate Authority)
• CA为每个使用公钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户
合法拥有证书中列出的公开密钥。
• CA的数字签名使得攻击者不能伪造和篡改证书。
2. 数字签名与数字证书
例如,A用户给B用户发送消息
A将发送的内容进行hash,并用私钥加密,即生成了数字签名。B收到后使用A的公钥进行解密,用同样的方式进行hash,将两个摘要进行对比后可以得知内容是否被篡改。
但此时存在一个问题,如果C将B手中A的公钥替换掉,那么C可以用自己的私钥进行加密给B发送消息,为了解决这个问题,产生了数字证书的概念。
CA用自己的私钥将A的公钥及A的相关信息加密生成数字证书。于是A向B发送消息时,包含三部分,即发送内容+数字签名+数字证书。此时B只需持有CA的公钥,收到消息后B使用CA的公钥解密数字证书得到A的公钥,再使用A的公钥解密数字签名得到摘要信息,然后B再使用相同方式进行hash,对比所得摘要是否相同。
3. CSR
即证书签名请求文件,是证书申请者在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时也生成证书签名请求文件,证书申请者只要把CSR文件提交给证书颁发机构后,证书颁发机构使用其根证书私钥签名就生成了证书公钥文件,也就是颁发给用户的证书。
三.控制器安全通道建立
1. Control Plane白名单
![](https://i-blog.csdnimg.cn/blog_migrate/8709ed81587ab1e2f52d9d16bb251e65.png)
2. DTLS和TLS
DTLS 和TLS 都是为网络通信提供安全及数据完整性的一种安全协议,在传输层对网络连接进行加密,DTLS在UDP传输协议之上,而TLS则在TCP传输协议之上
① TransportLayer Security,TLS
TLS 1.0 (1999), TLS 1.1 (2006),TLS 1.2 (2008),TLS 1.3 (2018)
② Datagram Transport Layer Security,DTLS
DTLS 1.0 基于TLS 1.1, DTLS 1.2 基于TLS 1.2
![](https://i-blog.csdnimg.cn/blog_migrate/7a3d6539e6ea31235ca199a17f8cba53.png)
③ DTLS握手过程
![](https://i-blog.csdnimg.cn/blog_migrate/bdac8ed221764a883803dbbdbe07dee6.png)
3. vEdge Router Identity
![](https://i-blog.csdnimg.cn/blog_migrate/341c8a752ff1f7272c86794b437ce18d.png)
① 每个物理vEdge路由器由chassis ID 和序列号作为唯一标识
② 证书存储在板载防篡改模块(TPM)中,在制造过程中安装
③ 设备证书由Avnet root CA 签发
④ Symantec root CA 信任链用于验证控制平面设备
⑤ 也可以使用Enterprise root CA 信任链来验证控制平面设备,可以在ZTP 期间自动安装
4. vEdge Cloud Router Identity
![](https://i-blog.csdnimg.cn/blog_migrate/a43991965fd0cf48c702be44939b7518.png)
注:OTP(One Time Password)
① OTP/Token 由vManage 生成,上传的vEdge 列表中每个chassis ID 和序列号生成一个
② OTP/Token 在VM部署期间提供给Cloud-Init 中的vEdge Cloud 路由器
③ vManage 在OTP/Token 验证后签署vEdge Cloud 路由器的证书
注1: 如果是vManage 群集,则每台vManage 都需要签名
注2: 上线后会自动删除OTP以防止重复使用
④ Symantec root CA 信任链用于验证控制平面设备
⑤ 也可以使用Enterprise root CA 信任链来验证控制平面设备,可以提供给Cloud-Init 中的vEdge Cloud 路由器
5. Controllers Identity
![](https://i-blog.csdnimg.cn/blog_migrate/a1d74128d0ed68a8f59bcfcf70bf554c.png)
① 控制器身份由Symantec 签名证书提供。也可以使用Enterprise CA,但在所有其他控制器和vEdge路由器上需要Enterprise Root CA 信任链
② Avnet Root CA 信任链用于验证vEdge 路由器
③ Viptela Root CA 信任链用于验证vEdge Cloud 路由器,由在群集的每个vManage 服务器成员上运行的CA提供
④ Symantec Root CA 信任链用于验证其他控制器,也可以使用Enterprise Root CA 信任链
6. vEdge和Controllers白名单
![](https://i-blog.csdnimg.cn/blog_migrate/28231bf1a337683c1a20c7d30a2ca16c.png)
① 管理员在vManage GUI 中添加控制器(vSmart和vBonds),通过Symantec自动进行证书签名(vManage本地认可)
② 控制器列表由vManage分发到所有控制器
③ 管理员在vManage GUI中上传经过数字签名的vEdge列表(物理和虚拟vEdge的白名单,可以从Viptela支持页面下载)
④ vEdge列表由vManage分发到所有控制器
7. Mutual Trust互信
① vBond与vSmart,vManage,vEdge验证
![](https://i-blog.csdnimg.cn/blog_migrate/40e5de54eeeb25069a91ed72b81a4c11.png)
a. 交换证书并进行相互认证
b. vBond验证
-
vSmart,vManage和vEdge证书根CA的信任
-
针对授权白名单的证书序列号(来自vManage)
-
组织名称(收到的证书OU)针对本地配置的
c. vSmart,vManage和vEdge验证
-
vBond证书根CA的信任
-
组织名称(收到的证书OU)针对本地配置的
② vSmart和vSmart,vManage认证
![](https://i-blog.csdnimg.cn/blog_migrate/f8ae91b92dcc47bc34302d2745a0ed82.png)
a. 交换证书并进行相互认证
b. vSmart验证
-
信任其他vSmart和vManage证书根CA
-
针对授权白名单的证书序列号(来自vManage)
-
组织名称(收到的证书OU)针对本地配置的
c. vManage验证
-
信任vSmart证书根CA
-
针对授权白名单的证书序列号(来自vManage)
-
组织名称(收到的证书OU)针对本地配置的
③ vEdge和vSmart,vManage认证
![](https://i-blog.csdnimg.cn/blog_migrate/7b1fd674881eba78cb695d12ac2ec35d.png)
a. 交换证书并进行相互认证
b. vSmart和vManage验证
-
信任vEdge证书根CA
-
针对授权白名单的证书序列号(来自vManage)
-
组织名称(收到的证书OU)针对本地配置的
c. vEdge验证
-
信任vSmart和vManage证书根CA
-
组织名称(收到的证书OU)针对本地配置的
四.DDoS保护
1. vEdge Routers
![](https://i-blog.csdnimg.cn/blog_migrate/89fd47d967b7ab7b8c212344a6d3efc1.png)
2. Controllers
![](https://i-blog.csdnimg.cn/blog_migrate/6715ad94a1688d86824f9d95b45253e5.png)
五.SD-WAN部署
1. Controller租赁
![](https://i-blog.csdnimg.cn/blog_migrate/220b184ca5dc33b6f3dae65de363f33e.png)
2. Controllers部署
① vManage部署
![](https://i-blog.csdnimg.cn/blog_migrate/b022a44e1a062dfa82fbb2bd62538134.png)
② vBond部署
![](https://i-blog.csdnimg.cn/blog_migrate/13ce392220d11aab5fd83613a3244a80.png)
③ vSmart部署
![](https://i-blog.csdnimg.cn/blog_migrate/6d70e42bd3f466840e3c2a5a34393c8d.png)
3. xxx 0和xxx 512
![](https://i-blog.csdnimg.cn/blog_migrate/0471348cb2f22470cdceb68d3f513b0f.png)
a. xxx 0用于建立DTLS连接
b. xxx 512用作控制器的OOB带外管理
c. Control Channel(DTLS/TLS)始终来自xxx 0
4. 添加Controllers到vManage
![](https://i-blog.csdnimg.cn/blog_migrate/3ab6e1dc29d8387c37bf2d4505e61218.png)
5. 相同VPC/DC/Region
![](https://i-blog.csdnimg.cn/blog_migrate/e6884203339b2d080c6b987f6d173357.png)
6. 不同VPC/DC/Region
![](https://i-blog.csdnimg.cn/blog_migrate/8fc95dc453bfbf5f8faa23c0df80bc12.png)
六.防火墙场景
1. Edge
① Edge路由器加入Overlay 网络时,将与控制器设备(vBond,vManage 和vSmart)建立DTLS 控制平面连接
② Edge路由器使用base port 12346。如果无法使用此端口建立连接,则它会通过端口12366、12386、12406和12426进行端口跳跃,并在必要时返回至12346
③ 在Overlay 网络中使用相同的端口号建立其他vEdge路由器的IPsec连接和BFD会话
④ 命令: show control local-properties
![](https://i-blog.csdnimg.cn/blog_migrate/1bdf273bc486292e67b0e421811ed2e6.png)
2. Controllers
① vManage 和vSmart 可以在具有八个虚拟CPU(vCPU)的虚拟机(VM)上运行。vCPU被指定为Core0至Core7
② 每个核心分配有单独的base port用于控制连接。基本端口有所不同,具体取决于连接是通过DTLS隧道(使用UDP)还是通过TLS隧道(使用TCP)进行的
③ vBond不支持多个内核。vBond协调器始终使用DTLS隧道与其他Viptela设备建立控制连接,因此它们始终使用UDP。UDP端口为12346
![](https://i-blog.csdnimg.cn/blog_migrate/fa884efaad68cf997e66e9b1286a2792.png)
3. 端口处理
默认情况下,所有SD-WAN设备都使用base port 12346建立用于Overlay 网络中的处理控制和流量的连接。与其他SD-WAN设备建立连接时,每个设备都使用此端口
① Port Offset
a. 在单个NAT设备后面安装了多个SD-WAN设备时。对于可以在NAT后区分的设备,无需配置端口偏移
b. 每个设备使用不同的端口号,以便NAT可以正确识别每个单独的设备
c. 从base port 12346的端口偏移。例如,端口偏移为1的设备,该设备使用端口12347。端口偏移量可以是0到19之
间的值。默认端口偏移量是0
② Port Hopping
a. 如果在尝试彼此建立连接时第一个端口上的连接尝试失败,则设备会尝试使用不同的端口
b. 发生此类故障后,将增加端口值,然后重试连接尝试。轮转通过总共五个基本端口,每次连接尝试之间等待的时间越来越长
c. 如果尚未配置端口偏移,则默认基本端口为12346,并在端口12346、12366、12386、12406和12426之间顺序进行端口跳跃,然后回到端口12346
4. TLS/DTLS端口
① TLS
![](https://i-blog.csdnimg.cn/blog_migrate/0dc26389e5c753b3b02e10e43cd1e068.png)
② DTLS
![](https://i-blog.csdnimg.cn/blog_migrate/fa64e6e276df39d6678244334e7d89a8.png)