Professional Documents
Culture Documents
常旭 | F5 方案顾问
x.chang@f5.com
7/20/21
1 | ©2018 F5 NETWORKS
Agenda
• 改造效果回顾
• 20 年建设目标
• IPv6 深入改造网络方案
• IPv6 深入改造安全方案
• IPv6 深入改造应用方案
2 | ©2018 F5 NETWORKS
改造效果回顾
3 | ©2018 F5 NETWORKS
金融行业 IPv6 改造
概览
4 | ©2018 F5 NETWORKS
应用类型统
计
• 门户改造完成比率接近 80%
• 应用改造完成比率接近 20%
5 | ©2018 F5 NETWORKS
行业类别统计
6 | ©2018 F5 NETWORKS
存在的主要问题
DNS 上游域名服务商
DNS 体系建设完整度
页面内容分析
外链天窗处理
7 | ©2018 F5 NETWORKS
方案说明
动;
8 | ©2018 F5 NETWORKS
介绍:方案一 NAT
• 改造内容:
本方案需要进行的改动主要集中在数据中心外围接入部分,具体内容如下表:
• 优缺点说明
改造项目 改造对象 改造方式 改造内容
接入线路 运营商互联网线路 新申请资源 申请 IPv6 线路及 IP 1. 优点:
添 加 AAAA 记
F5 GTM 官网 官网增加 IPv6 的 AAAA 记录 ① 本方案的改动较小,部署最简单,不会对现网造
录
新增 F5 ( LTM )用于 IPv6 至 IPv4 成影响,有简单的回退机制。
网络设备 F5(LTM) 新申请资源
转换
Web 前端 无需改造 -- -- 2. 缺点;
后台应用 无需改造
1. 在进行 -- --
IPv6 改造前,首先需向运营商申请 IPv6 线路及 IPv6 地址资 ① 只能满足 IPv6 规模部署关于 2019 年的要求,后
9 | ©2018 F5 NETWORKS
介绍:方案二 4/6 混跑
• 改造内容:
改造项目 改造对象 改造方式 改造内容
• 优缺点说明
接入线路 运营商互联网线路 新申请资源 申请 IPv6 线路及 IP
添 加 AAAA 记
F5 GTM 官网
录
官网增加 IPv6 的 AAAA 记录 1. 优点:
新增对 IPv6 的支持,实现 4/6 混 ① 可以完成互联网整个 IPv6 地址改造规划,满足
网络设备 所有互联网接入区设备 修改配置
跑 IPv6 规模部署文件到 2020 年要求。
操作系统 新增对 IPv6 的支持,实现 4/6 混
Web 前端 修改配置
应用程序 跑
后台应用 无需改造 -- --
2. 缺点:
1. 在进行 IPv6 改造前,首先需向运营商申请 IPv6 线路及 IPv6 地址资源,即
① 应用系统改造的可行性未知。
在线路接入层面将 IPv6 与 IPv4 分开。防止因 IPv6 部署影响现有 IPv4 系统
② 设备配置双栈后,由于 IPv6 数据包比 IPv4 数据
的运行。 包的包头长 20 字节, IPv6 数据占用的系统内存
2. 本方案需要修改互联网接入区所有网络设备的配置,设备互联接口配置上 资源也相对较多,开启双栈后对系统性能会有一
2. 缺点:
① 前提投入较高
11 | ©2018 F5 NETWORKS
方案对比:
序号 对比参数 方案一 方案二 方案三
1 改造难度 简单( 3 ) 复杂( 1 ) 简单( 3 )
2 软硬件成本 中( 2 ) 低( 3 ) 高( 1 )
3 业务影响 小( 3 ) 大( 1 ) 小( 3 )
4 运维难度 小( 3 ) 大( 1 ) 小( 3 )
5 后期改造难度 大( 1 ) 大( 1 ) 小( 3 )
6 后期改造成本 大( 1 ) 大( 1 ) 小( 3 )
总分 13 8 16
• 综上所述,从实施、运维,后期上来说,方案三是最优方案。
1. 虽然方案一可以使用最少资金满足当前需求,但是根据 2020 的要求还是需要改造新设备。
2. 方案二几乎不使用资金可以完成本次变更,但是双栈的业务风险太大,涉及到网络、服务器、应用等多方面,业务
使用双栈案例屈指可数。如果涉及改造很大程度还是新采购设备。
3. 因此方案三是最佳选项。前期业务影响的风险最小,快速实现 IPv6 的一期改造,并可积累相关经验;后期 IPv6 改
造因为区域架构已经搭建完成,对业务改造或新建都均较为简单。
12 | ©2018 F5 NETWORKS
股份制银行改造情况调研
• 方案一: NAT
• 方案二: 4/6 混跑
• 方案三:新建分区
序号 银行名称 方案选择 备注
1 中信银行 方案二 + 三 GTM 层面 4/6 分开,边界到 web 混跑
2 光大银行 方案三 新建,但是 GTM 混跑,内网无法打通
3 华夏银行 方案三 统计:
4 广发银行 方案三
• 方案一: 2 家
5 平安银行 方案三 新建, GTM4/6 分开,但是没上线
6 招商银行 方案三 新建, GTM4/6 分开 • 方案二: 2
7 浦发银行 方案三 新建,但是 GTM 混跑,之前 GTM 版本老, irules 不支持
8 兴业银行 方案一 时间紧,最终还在讨论中,目前是 GTM 、 LTM 双栈 • 方案二 + 三: 1
9 民生银行 方案三
• 方案三: 7
10 恒丰银行 方案一 讨论中,考虑新建分区
11 浙商银行 方案二 刚新建数据中心,暂不考虑新建
12 渤海银行 方案二 时间紧,后期新建分区
13 | ©2018 F5 NETWORKS
多中心多协议栈 --- 部署方式一
新建双栈 新建双栈
14 | ©2018 F5 NETWORKS
多中心多协议栈 --- 部署方式二
新建双栈
中心 A
15 | ©2018 F5 NETWORKS
多中心多协议栈 --- 部署方式三
中心 A 中心 B
16 | ©2018 F5 NETWORKS
方案对比
双中心双协议栈分区部署,运
双协议栈接种在同一设备,流量区分和
运维难度 维设备数量增加。但是协议间 双中心架构有差异,维护难度较高
排错难度较高。设备性能下降较多。
设备隔离度高
未来数据中心改造复杂度 低 中 高
故障影响 低 中 高
成本 高 中 低
17 | ©2018 F5 NETWORKS
20 年建设目标
18 | ©2018 F5 NETWORKS
2020 年改造技术要点
持续推进 • 业务连续性保证
业务连续性要 IPv6 的规模
求与 IPv4 一致 部署 • 多中心、双协议栈多活
IPv6 网络接入 所有面向公众
IPv6 网络接入 • 内网 IPv6 地址规划
IPv6 域名
IPv6 域名 的互联网应用 • DNS 调度策略
门户网站
门户网站 • 安全架构
IPv6 安全
IPv6 安全
• 应用全面改造
• 解决遗留问题
19 | ©2018 F5 NETWORKS
IPv6 深入改造网络方案
20 | ©2018 F5 NETWORKS
内网 IPv6 地址规划
IPv6 地址规划的建议
21 | ©2018 F5 NETWORKS
按区域分
地址类型 地址空间 /40 地域类型 地址空间 /48 子区域 地址空间 /56 Info 地址空间 /64 设备序号 loopback 地址
001 abcd:dddd::1/128
002 abcd:dddd::2/128
loopback0 abcd:dddd::/64
……
核心区 abcd:dddd::/56 255 abcd:dddd::ff/128
loopback1 abcd:dddd:0:1::/64
广域网 abcd:dddd::/48
loopback2 abcd:dddd:0:2::/64
预留 abcd:dddd:0:3::/64 - abcd:dddd:0:ff::/64
loopback 地址空间 abcd:dddd::/40
子区域 02 abcd:dddd:0:100::/56
……
子区域 256 abcd:dddd:0:ff00::/56
A 地址 DC abcd:dddd:1::/48
B 地址 DC abcd:dddd:2::/48
……
区域 XX abcd:dddd:ff::/48
源设备 - 目的设
地址类型 地址空间 /40 地域类型 地址空间 /48 子区域 地址空间 /56 Info 地址空间 /64 接口地址 -/127 (点到点链路) -/112 ( VRRP 链路)
备
abcd:dddd:0100:0000:0000:0000:0101:0000/127
001-002
abcd:dddd:0100:0000:0000:0000:0101:0000/112
abcd:dddd:0100:0000:0000:0000:0203:0000/127
002-003
P 设备 -P 设备 abcd:dddd:100::/64 abcd:dddd:0100:0000:0000:0000:0203:0000/112
……
核心区 abcd:dddd:100::/56 abcd:dddd:0100:0000:0000:0000:XXYY:0000/127
XXX-YYY
abcd:dddd:0100:0000:0000:0000:XXYY:0000/112
广域网 abcd:dddd:100::/48
P 设备 -PE 设 abcd:dddd:100:1::/64
互联地址空间 abcd:dddd:100::/40 备
……
预留 abcd:dddd:100:ff::/64
子区域 02 abcd:dddd:0:100::/56
……
子区域 256 abcd:dddd:0:ff00::/56
A 地址 DC abcd:dddd:101::/48
B 地址 DC abcd:dddd:102::/48
……
区域 XX abcd:dddd:1ff::/48
地址类型 地址空间 /40 地域类型 地址空间 /48 子区域 地址空间 /56 Info 地址空间 /64 设备序号 设备 OAM 地址
001 abcd:dddd:200::1/64
002 abcd:dddd:200::2/64
P 设备 abcd:dddd:200::/64
……
核心区 abcd:dddd:200::/56 255 abcd:dddd:200::ff/64
PE 设备 abcd:dddd:200:1::/64
广域网 abcd:dddd:200::/48
……
预留 abcd:dddd:200:ff::/64
OAM 地址 abcd:dddd:200::/40
子区域 02 abcd:dddd:200:100::/56
……
子区域 256 abcd:dddd:200:ff00::/56
A 地址 DC abcd:dddd:201::/48
B 地址 DC abcd:dddd:202::/48
……
22 | ©2018 F5 NETWORKS 区域 XX abcd:dddd:2ff::/48
abcd:dddd:300::/40 - abcd:dddd:f00::/40
按业务分
业务大类 地址空间 /48 地域 地址空间 /48 业务 地址空间 /56 Info 地址空间 /64 设备 设备地址
广域网 abcd:dddd:1000::/48
X1 abcd:dddd:1001:0000:0000:0000:aabb:ccdd/64
X2 abcd:dddd:1001:0000:0000:0000:aabb:ccdd/64
服务器 BMC abcd:dddd:1001::/64
……
xxx0 业务系统 abcd:dddd:1001::/56
XN abcd:dddd:1001:0000:0000:0000:aabb:ccdd/64
WEB abcd:dddd:1001:1::/64
A 地址 DC abcd:dddd:1001::/48
APP abcd:dddd:1001:2::/64
XX 业务 abcd:dddd:1000::/40
……
预留 abcd:dddd:1001:ff::/64
xxx1 业务系统 abcd:dddd:1001:100::/56
xxx2 业务系统 abcd:dddd:1001:200::/56
……
B 地址 DC abcd:dddd:1002::/48
……
区域 XX abcd:dddd:10ff::/48
YY 业务 abcd:dddd:1100::/40
ZZ 业务 abcd:dddd:1200::/40
XX 业务 abcd:dddd:1300::/40
预留 abcd:dddd:1400::/40 - abcd:dddd:1f00::/40
23 | ©2018 F5 NETWORKS
按用户分
业务大类 地址空间 /48 地域 地址空间 /48 子区域 地址空间 /56 Info 地址空间 /64 DHCPv6 终端地址( DHCPv6 有状态分配)
广域网 abcd:dddd:2000::/48
A 地址 DC abcd:dddd:2001::/48
……
北京市分公司 02 abcd:dddd:2006::/48
……
区域 XX abcd:dddd:20ff::/48
驻场用户 abcd:dddd:2100::/40
访客 abcd:dddd:2200::/40
预留 abcd:dddd:2300::/40 - abcd:dddd:2f00::/40
24 | ©2018 F5 NETWORKS
DNS 双栈改造
双栈支持 DNS 解析
NS1 地址 A
NS2 地址 C
LDNS DNS 服务商 NS3 地址 B NS 记录必须有 IPv6 入口
用户 NS4 地址 D
v4 地址 A v4 地址 B
v6 地址 C v6 地址 D
DNS DNS
主中心 备份中心
25 | ©2018 F5 NETWORKS
DNS 双栈改造
双栈支持 DNS 解析
NS1 地址 A
v4 地址 B
v4 地址 A v6 地址 D
irules 转发
DNS bind DNS
主中心 备份中心
26 | ©2018 F5 NETWORKS
DNS 调度策略 gtm region /Common/Regions_CMCC {
region-members {
geoip-isp "beijing cnisp technology co. ltd." { }
geoip-isp "beijing etelphone technology co. ltd" { }
• 确保 V4 、 V6 NS 具备相同的调度策略
geoip-isp "beijing kuancom network technology co. ltd." { }
• 基本的保障原则是基于运营商进行调度 geoip-isp "beijing neteon tech co ltd." { }
geoip-isp "beijing stone teda communication technology co. ltd" { }
• 中国联通 2408:XXXX::/20 geoip-isp "beijing teletron telecom engineering co. ltd." { }
• 中国电信 240E:XXXX:/20 geoip-isp "beijing time-vision telecommunication technical ltd" { }
• 中国移动 2409:XXXX::/20 geoip-isp "beijing weishichuangjie technical development co. ltd." { }
geoip-isp "beijing yiwangxin technology coltd." { }
• 基于城商行客户的思考 geoip-isp "beijing zhongguancun information technology co. ltd" { }
• 本省内基于运营商区分 geoip-isp "cnisp-union technology beijing co. ltd" { }
• 省外客户通过 rtt , qos 动态算法返 geoip-isp "knet techonlogy beijing co. ltd." { }
回 geoip-isp "tencent cloud computing beijing co. ltd." { }
27 | ©2018 F5 NETWORKS
IPv6 第二阶段改造 -- DMZ
IPV6
IPV4
IPV6
IPV4
28 | ©2019 F5
IPv6 深入改造安全方案
29 | ©2018 F5 NETWORKS
金融行业 IPv6 规模部署摸排表要求
IPv6 自身安全
边界过滤能力
ICMPv6 、 DHCPv6 、路由协议安全 协议
NAT 设备自身安全和溯源能力
IPv6 部署安全
主机安全和 DNS 安全
应用安全( WAF 和 IPS )
DDoS 防护 架构
网络设备加固
流量分析
总计 57 项检查,安全 19 项,占比 34%
IPv6 不仅仅是地址空间变长,而是在协议上有了巨大的变化
31 | ©2019 F5
IPv6 安全问题的核心
32 位变成 128 位
32 | ©2019 F5
IPv6 网络层 DDoS 威胁
足够多的地址空间,伪造源的攻击
IPv6
运营商侧
• IPv4 时代的攻击思路等都可以用在 IPv6( 放大、反射 ...)
• ALG CPU 攻击
BGP 引流、流量清洗、流量回注能力
IPv4
用户侧
IPv6 黑名单地址过滤能力
专用芯片和深度检测优化
33 | ©2019 F5
IPv6 协议安全 -- ICMPv6 介绍
IPV6 LAN 安全需要了解 ICMPV6
ICMP TYPE
Neighbor Solicitation
错误信息 信息消息
取代 ARP ; DAD ; NUD
Neighbor Advertisement
Destination Unreachable Echo Request
Router Solicitation
Autoconfiguration ,发现:路由、前缀、网络参数 ..
Packet Too Big Echo Reply Router Advertisement
互联网
主机 IPA
MAC A
google 解析为 .. 你的 IPv6 网络前缀为 ..
NS
NA
neighbor cache 塞满
大量 incomplete 条目 DNSSL OPTION
主机 IPB 主机 IPC
NS
MAC C RA
MAC B
RA
IPv6 NS IPv6 NA
18,446,744,073,709,551,616
SLAAC
源地址: IPA NS 目的: IPA 主机 IPA MAC A
NS 欺骗 未请求 NA 高速全段扫描
35 | ©2019 F5
IPv6 协议变化带来的安全问题
IPV6 EXTENSION HEADER CHAIN
灵活弹性 = 复杂
IPv6
Hop by Hop
Option
Destination
Option
Routing
Header Fragmentation ... ... DATA
• 标准头部固定 40 字节 , 其他功能利用扩展头部
• 除了 hop by hop 和 Routing ,其他扩展头部只在最终端处理
36 | ©2019 F5 • 扩展头部需要严格按照 RFC 要求的顺序和出现次数
利用扩展头部来逃避检测
协议约束
Destination
IPv6 基本头 ICMPv6 RA 第一个分片必须包含上层协议包头 deny undetermined-transport
Option
des RA 禁止分片发给 ff02::1
Destination Destination
IPv6 基本头 Fragment1 IPv6 基本头 Fragment2 ICMPv6 RA
Frag Des
Option Frag Des
Option
RA
37 | ©2019 F5
next header next header next header next header next header
利用扩展头部实现 DDoS
RH0 需要被禁止 RFC 5095
CPU 带宽
A B
S 0 URPF 使用
D
禁用 RH0
基本头部 RH0
基本头部 RH0 基本头部 RH0
S B seqs=126
S D seqs=127 S A seqs=127
add1 = A add1 = B
add 2= B add 2= A S A seqs=125
... ...
add126=B add126=A
add127=A add127=D
S A seqs=1
S B seqs=0
38 | ©2019 F5
DoH 和 DoT
传输的安全 --HTTPDNS
DoH DoT
DoH DoT SP
ISP
DoH DoT DoH DoT 传统 DNS AFM
抗 DDOS/IPS
AFM AFM
链路负载均衡 NG DNS
客户端 下一代 DNS
DoH DoT GW F5 DNS F5 DNS
DoH DoT 支持 DoH DoT DoH DoT
传统 DNS 链路负载均衡
客户端 链路负载均衡
DoH DoT 支持 DoH DoT GW
OA 内网 DNS
传统 DNS
DoH DoT
传统 DNS
39 | ©2018 F5 NETWORKS
IPv6 过渡期的架构型安全问题
多数机构采用 NAT 进行过渡
云端 IPv6 清洗引流能力
ipv6 互联网环境 ipv6 互联网环境
链路负载均衡 链路负载均衡
IPv6 数据流
40 | ©2019 F5
IPv6 过渡期的架构型安全问题
多数机构采用 NAT 进行过渡
云端 IPv6 清洗引流能力
ipv6 互联网环境 ipv6 互联网环境
链路负载均衡 链路负载均衡
IPv6 数据流
41 | ©2019 F5
SSL 的发展和安全盲点
数据中心
42 | ©2019 F5
通过 SSL 加密隧道的恶意软件和攻击 2016 年同比增长 19% , 2017 年增长 70% , 2018 年增长 268%
爆发增长的服务单元如何安放? 六大挑战
透明 + 串接是无奈的选择 加密流量造成安全盲点和高性能消耗。 流量无法精分,浪费设备资源。
流量经过全部服务单元带来的高延迟。 服务单元策略一层不变
服务单元扩展性差,扩容难度大。 运维及排障成本高
加密流量
加密流量 明文流量
互联网 DDoS IPS/ LLB FW SSL SWG IPS AV SLB WAF FW IPS SLB
/ 广域 IDS NGFW NGFW
网/外
联网
GSLB
互联网 FW SLB+SSL FW
/ 广域 LLB+SSLO SLB+SSLO
O
网/外
联网
旁路 旁路 旁路
44 | ©2019 F5
网络接入区域 DMZ 区域 生产内网区域
两层部署模型: BIG-IP 和 NGINX+ KIC
最佳实践
L7 WAF Protection
L4 TCP
1. L4:TCP
KIC 的扩展及高可用保障
2. SSL/SSLO
Web Service
加密流量的可视化和编排
3. L7: WAF Security
应用层安全策略
45 | ©2018 F5 NETWORKS
XX 银行超级出口编排案例
电信 联通 移动 电信 联通 移动
总部 临桂
出口区 出口区
SSLO
WAF
SSLO
WAF • 极速交易扁平化架构
IPS Switch Switch IPS
核心 核心 资源池化打破传统 HA 架构资源利用率不高
区 Firewall Firewall
区
架构扁平,流量精分,保证低延迟交易
Core Core Core SW Core SW
SW SW
APP 区 DMZ DMZ 区 APP 区 SSL 可视化能力
区
运维便捷,一键 BYPASS
专线
F5 模块 + 外部资源 ADDON ,赋能链路负载均衡
核心业务: 部署设备:
企业网银 i4600 Better + SSLO*4
46 | ©2019 F5 个人网银 I4600 LTM*4
手机银行 i2600 LTM*2 、 4000s LTM*2
IPv6 安全边界 和 VIP64 的完美融合
AFM & AWAF
IPv6 安全监管要求节选
IPv6
AFM AWAF
天然适合加固的边界
无需溯源和解决黑名单问题
IPv4
模块介绍
• LTM : 46 转换;负载均衡;业务发布;
• AFM : 防火墙; DDoS 防护; IPS
• AWAF :应用安全防护 针对 IPv6 协议类安全,应用安全, DDoS 防护和 NAT 设备自身安全的多方面考察
• HSL :业务层大数据引擎
47 | ©2019 F5
IPv6 深入改造应用方案
48 | ©2018 F5 NETWORKS
整体思路
应用在不同网络协议中部署 部署关键点:
49 | ©2018 F5 NETWORKS
• 评估当前代码的 IPv6 兼容性
IPv6 兼容性
• 在内存中存储 128 位 IPv6 地址以及与 32 位 IPv4 地址的兼容性
developer 标准性开放性
输出
50 | ©2018 F5 NETWORKS
系统及浏览器双栈行为整体视图
Firefox Firefox Chrome Opera Safari Explorer
fast,fail
MAC OS X 8.0.1 8.0.1 6.9.912.41 11.52 5.1.1
10.7.2 75s 0ms 300ms 75s 270ms
IPv6 SYN+ACK DNS IPv6 RTT
iOS ?
5.0.1
52 | ©2018 F5 NETWORKS 720ms
Happy EyeBall
A 记录 AAAA 记录
DNS 解析
V6 先,直接开始
CURL *curl = curl_easy_init(); V4 先,等 25ms
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); IPv6
curl_easy_setopt(curl,CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, IPv4
地址排序
RFC6555 300L);
IPv6
RFC6556
curl_easy_perform(curl); IPv4
RFC8305
/* always cleanup */
IPv6 建连
250ms delay
链接竞速
curl_easy_cleanup(curl); } IPv4 建连
53 | ©2018 F5 NETWORKS
• 域名查询的处理
• 地址的排序
Happy EyeBall • 连接的尝试
• 超时时间设置( 300ms , 250ms )
54 | ©2018 F5 NETWORKS
IPv4 输入框
55 | ©2018 F5 NETWORKS
IPv6 地址匹配
/* Match IPv6 address */
/(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-
fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-
fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}
(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))/
56 | ©2018 F5 NETWORKS
客户端溯源
57 | ©2018 F5 NETWORKS
复杂外链改造
第三方 SDK 模块(外链由 JS 嵌套和动态生成)
多 vs 对应多外链 单 vs 对应多外链
2.com/ls.js 2.com/ls.js
test.com:81/ls.js vs1:81 test.com/ipv6/2.com/ls.js
2.com 2.com
vs
test.com:82/get.php vs2:82 LTM
用户 用户 test.com/ipv6/1.com/get.php
LTM
1.com/get.php
1.com/get.php 1.com
1.com
高德地图 极验人机识别滑块
58 | ©2018 F5 NETWORKS
IPv6 与 API
http://[2a12:5375:4151:2300:1353:a632:5f4e:c232]:4711/rest/test
考虑协议栈的优先级
System.setProperty("java.net.preferIPv6Addresses", "true");
System.setProperty("java.net.preferIPv4Stack", "false");
59 | ©2018 F5 NETWORKS
IPv6 地址存储
Memory Locations 配置文件
• 是否会溢出 • /etc/hosts
• 双栈是否需要存储两个地址 • Httpd.conf
• 基于域名进行配置
Databases
• 字符串类型或单独的 IPv6 类型
• MySQL inet6_aton
60 | ©2018 F5 NETWORKS
中间件支持情况
61 | ©2018 F5 NETWORKS
数据库支持情况
常见数据库名称 版本
DB2 10.5
MySQL 5.7.17
Maria DB 10.2.9
PostgreSQL 10
62 | ©2018 F5 NETWORKS
业务测试
从建设初期的双栈环境过渡到纯 V6 环境,模块 / 子系统间的网络交互正确性与兼容性是系统平
稳过渡的保证,每一次网络交互都有发起端 ( 客户端 ) 和响应端 ( 服务端 ) 。
网络通信场景 ( 间下表格 )
服务端
服务状态 服务暂不支持 V6 服务支持 V4 和 V6 服务支持 V4 和 V6
网络环境 双栈 双栈 V6 单栈
客户端
双栈 V4 V6 优先 V6
V6 单栈 X V6 V6
63 | ©2018 F5 NETWORKS
非功能性需求举例 --- 弱网环境优化
智能压缩 DC Cookie
64 | ©2018 F5 NETWORKS
非功能性需求
性能需求 安全需求 可维护性需求 运营需求
67 | ©2018 F5 NETWORKS
网络地址规划
网络规划举例
https://www.iana.org/assignments/ipv6-address-space/ipv6-address-space.xhtml
功能定义 地址段
国内 SP :
Link Local Unicast fe80::/10 中国联通: 2408:8000/20
Site Local Unicast fec0::/10 中国移动: 2409:8000::/20
Unique Local Unicast fc00::/7
中国电信 : 240E::/20
Global Unicast 2000::/3 2001:0c68::/32
Multicast ff00::/8 2001:07FA:0010::/48
2402:8800::/32
location (L) type (T) available bits (B) VLAN numbers (V)
68 | ©2018 F5 NETWORKS
IPv6 依然需要防护扫描 Interface ID 猜测
基于 IPv4 2001:db8::192.168.1.1
low-bit 定义 2001::1
其他
地址空间足够,网络前缀一般固定一个,主要扫描的是 Interface ID 。
mDNS 基于组播的 DNS 查询协议, UDP 5353 [RFC6762]
64 位的空间足够让暴力破解也难以完成,扫描需要分类和猜测。
DNS-SD DNS 服务发现,和 mDNS 结合,实现零配置网络
[RFC6763]
69 | ©2019 F5
IPv6 扩展头说明
6 TCP
17 UDP
58 ICMPv6
71 | ©2019 F5
ICMPv6 Type
72 | ©2019 F5
RA option for DNS configuration
RFC 8106
google 解析为 ..
SLAAC RDNS Server 为
RA RA
DHCPv6
IPv6 RA OPTION
SLAAC 可以配置各种网络参数
• RDNSS option :递归 DNS 服务器选项
• DNSSL option : DNS search list 选项。
73 | ©2019 F5
Overlapping Fragment Attack
DEMO 1
74 | ©2019 F5
Overlapping Fragment Attack
PAXSON/SHANKAR 模型
OS 指纹嗅探
构造攻击 payload
逃逸检查
76 | ©2019 F5
IPv4 和 IPv6 分片处理
77 | ©2019 F5
IPv4 和 IPv6 分片对比
IPv4 IPv6
78 | ©2019 F5
互联网出口 DNS 防护架构
ISP
ISP
AFM AFM
抗 DDOS/IPS 网络层 DDOS 防护 + DNS 防火墙
AFM AFM
NG DNS
F5 DNS F5 DNS F5 DNS F5 DNS
链路负载均衡 链路负载均衡
防火墙 防火墙
WAF WAF
DMZ WAF WAF
DMZ
79 | ©2018 F5 NETWORKS
RH0 机制举例
正常过程
80 | ©2019 F5
客户端程序 ---Socket 建立
•fd6 = socket(AF_INET6,
SOCK_STREAM, IPPROTO_TCP);
81 | ©2018 F5 NETWORKS
不同地址类型访问
RFC2732 URL 访问 Socket 访问
http://[2010:836B:4179::836B:4179]
http://202.1.1.1
http://www.example.com
82 | ©2018 F5 NETWORKS
IPv6 地址大小写处理
JAVA:
public class Guru99 {
public static void main(String args[]) {
2001:db8:5ef5:79fb:b5:9ca5:a266:e068
String S1 = new String("UPPERCASE CONVERTED TO LOWERCASE");
//Convert to LowerCase
VS System.out.println(S1.toLowerCase());
2001:DB8:5EF5:79FB:B5:9CA5:A266:E068 }
}
请求 JS3
84 | ©2018 F5 NETWORKS
针对 HTTPS 外链处理
针对 HTTPS 的天窗处理
http response
源站
用户 LTM
为了保证 HTTPS 的平滑过渡,
把外链都改成 HTTP
http https
方法 1
用户 LTM
外部资源
1 、 LTM 上修改用户访问外链的 http header 中的 host 为真实的 host ,保证 ssl 协商成功。
2 、因为之前修改 HTML 的外链从 https 改为 http ,所以客户端到 LTM 端为 HTTP 明文。
3 、 LTM 到外部资源,使用 server ssl profile 重新协商加密回去。
https https
方法 2
用户 LTM
1 、 LTM 上修改用户访问外链的 http header 中的 host 为真实的 host ,保证 ssl 协商成功。
2 、外链依然使用 HTTPS ,使用主站被 CA 签发的证书做 SSL 卸载,保证用户和客户端协商成功。
3 、 LTM 到外部资源,使用 server ssl profile 重新协商加密回去。
85 | ©2018 F5 NETWORKS
IPv4 API VS 双栈 API
仅支持 ipv4 程序开发 api ipv4 与 ipv6 共用 api
int inet_aton socket
inet_ntoa bind
inet_addr listen
gethostbyaddr accept
gethostbyname connect
htonl
ntohl
htons
inet_pton
inet_ntop
getaddrinfo
gethostbyname2
86 | ©2018 F5 NETWORKS
IPv6 标准应用开发
Basic Socket API(RFC3493)
87 | ©2018 F5 NETWORKS
传输层设计
var http = require('http');
88 | ©2018 F5 NETWORKS