基于Openflow/OpenvSwitch
的云主机网络安全实践
美团网
邱剑 (qiujian@meituan.com)
https://mos.meituan.com
SDCC 2013 北京
美团 放服务(MOS)
目录
美团 放服务
云主机的网络安全
Openflow与OpenvSwitch
解决方案与实现
小结
美团 放服务(MOS)
美团 放服务
2012年初规
基于OpenStack架构,部分组件自主 发
2012年9月 始逐步 移在线服务系统到云
主机
2013年5月推出美团 放服务(https://
mos.meituan.com),云主机为第一款产品
美团 放服务(...
目录
美团 放服务
云主机的网络安全
Openflow与OpenvSwitch
解决方案与实现
小结
美团 放服务(MOS)
云主机的网络安全
网络基础服务安全
伪造源IP地址
DHCP欺骗
ARP欺骗
外网防火墙
内网网络隔离
More...
VM VM
VM
VMVM VM VM VM VM
VM VM VM VM
VM VM
Internet
VM
美团 放服务...
云平台内网隔离技术
共享内网 - flat network
安全组(Security group)
虚拟私有网络(VPC) - overlay
VLAN
隧道技术,如NV-GRE, VXLAN等
美团 放服务(MOS)
常规武器:ebtables/iptables
宿主机加载ebtables/iptables过滤器
伪造源IP
DHCP欺骗
外网防火墙
内网隔离?
ARP欺骗?
ebtables -A FORWARD -p IPv4 --ip-src 10.1...
内网隔离
VM VM
VM
VMVM VM VM
VM VM
VM
Internet
VM
VM
10.168.44.151 10.168.44.160
10.168.44.161
美团 放服务(MOS)
内网隔离
VM VM
VM
VMVM VM VM
VM VM
VM
Internet
VM
VM
iptables -A FORWARD -s 10.168.44.151 -d ! 10.168.44.160,10.168.44.161 -j ...
内网隔离
VM VM
VM
VMVM VM VM
VM VM
VM
Internet
VM
VM
iptables -A FORWARD -s 10.168.44.151 -d ! 10.168.44.160,10.168.44.161 -j ...
VM VM
VM
VMVM VM VM
VM VM
VM
Internet
VM
VM
VM
内网隔离
10.168.44.151 10.168.44.160
10.168.44.161 10.168.44.173
美团 放服务(MOS)
VM VM
VM
VMVM VM VM
VM VM
VM
Internet
VM
VM
VM
内网隔离
增/删一台虚拟机,需要更新N个节点!
10.168.44.151 10.168.44.160
10.168.44.161 10.168.44...
目录
美团 放服务介绍
云主机的网络安全
Openflow与OpenvSwitch
解决方案与实现
小结
美团 放服务(MOS)
传统网络模型
控制层面
数据层面
转发规则
控制层面
数据层面
转发规则
信令
报文
BGP,
OSPF
ARP,
static
routes,
...
IP,
Ethernet,
MPLS,
GRE,
...
报文按照TCP/IP规则转发
交...
Openflow网络模型
控制节点
交换节点
控制通道
信令
报文
BGP,
OSPF
ARP,
static
routes,
...
& MORE
IP,
MPLS, ...
控制节点
交换节点
控制通道
Openflow实现控制层面和数据层...
OpenFlow如何工作
OpenFlow
Openflow控制器(控制节点)
Openflow交换机(交换节点)
流表(flow entries)
Packets
状态变化
Packets
修改流表
交换逻辑
美团 放服务(MOS)
Flow Entry
priority=18000 idle_timeout=900 nw_dst=169.254.169.254 action=mod_dst:1.1.1.2,local
匹配规则(Match) 操作(Actions)优先级(...
flow匹配与操作
匹配字段
Ingress port
src/dst MAC
VLAN ID
VLAN priority code
Network layer protocol
src/dst IPv4 address
Transport l...
Openflow的工作场景
Openflow控制器(控制节点)
Openflow交换机(交换节点)
流表(flow entries)
交换逻辑
1. 下发初始化流表(静态flow)
美团 放服务(MOS)
Openflow的工作场景
Openflow控制器(控制节点)
Openflow交换机(交换节点)
流表(flow entries)
交换逻辑
2. 静态Flow上报packets
Packets
in
美团 放服务(MOS)
Openflow的工作场景
Openflow控制器(控制节点)
Openflow交换机(交换节点)
流表(flow entries)
交换逻辑
3. 下发新流表(动态flow)
Packets
in
Packets
out
美团 放服务(MOS)
OpenvSwitch
Nicira公司主导的 源软件交换机(Hypervisor
switch),支持Openflow 1.0规范,07年 始 发,高
性能,稳定可靠
Tap0 Tap1 Tap2
eth0
OpenvSwitch
VM0 V...
目录
美团 放服务
云主机的网络安全
Openflow与OpenvSwitch
解决方案与实现
小结
美团 放服务(MOS)
防止伪造源IP地址
虚拟机启动后,安装静态flow,只允许从指
定端口发出IP和MAC匹配的IP报文,丢弃其
他IP报文
优先级 匹配规则 操作
10000 in_port=2 ip dl_src=40:6c:8f:3c:a8:c8 nw_sr...
内网隔离
下发静态flow,将所有从虚拟机发出的目的地址为内网
的第一个报文转发到控制器
控制器判断是否该报文应该转发,并下发相应动态
flow,转发或丢弃该flow的报文
优先级 匹配规则 操作
29000 dl_dst=FF:FF:FF:F...
实现方案
分布式Openflow控制器
一个控制器服务一台宿主机,消除性能瓶
颈和单点
实现Openflow 1.0规范主要内容
使用python tornado 步框架实现
美团 放服务(MOS)
实现效果
彻底隔离
对用户透明,无需设置
除了初次授权有一定延时,其余报文线
速转发,无性能损耗
可扩展性好
美团 放服务(MOS)
问题与对策(1)
问题:虚拟机之间初次建立连接时间较
长,需要2-3秒
原因:单播第一个报文需要送到控制器处
理,同时控制器访问云控制器获取访问授
权
解决方案: 控制器从云控制器预取并缓存
授权信息,初次连接延时稳定在1秒左右
美团 放服务(...
问题与对策(2)
问题:用户扫描IP地址段,导致控制器DoS
原因:用户短时间内新建大量连接,导致
大量报文发送到控制器
解决方案:对上报控制器报文进行流控,
限制每虚拟机端口的packet上报速率,防
止单台虚拟机过度占用Openflow控制...
目录
美团 放服务
云主机的网络安全
Openflow与OpenvSwitch
解决方案与实现
小结
美团 放服务(MOS)
小结
Openflow/OpenvSwitch提供了一 全新
的网络控制的方法和手段
借助动态流表,可以实现云主机内网隔
离等高级功能
实践中采用分布式架构、限速、缓存等
技术手段克服潜在的性能和可靠性问题
美团 放服务(MOS)
Q&A
https://mos.meituan.com
MOS− 高性价比云主机
Upcoming SlideShare
Loading in …5
×

美团技术团队 - 基于OpenvSwitch/Openflow的云平台网络安全实践

2,463 views

Published on

0 Comments
13 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,463
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
118
Comments
0
Likes
13
Embeds 0
No embeds

No notes for slide

美团技术团队 - 基于OpenvSwitch/Openflow的云平台网络安全实践

  1. 1. 基于Openflow/OpenvSwitch 的云主机网络安全实践 美团网 邱剑 (qiujian@meituan.com) https://mos.meituan.com SDCC 2013 北京 美团 放服务(MOS)
  2. 2. 目录 美团 放服务 云主机的网络安全 Openflow与OpenvSwitch 解决方案与实现 小结 美团 放服务(MOS)
  3. 3. 美团 放服务 2012年初规 基于OpenStack架构,部分组件自主 发 2012年9月 始逐步 移在线服务系统到云 主机 2013年5月推出美团 放服务(https:// mos.meituan.com),云主机为第一款产品 美团 放服务(MOS)
  4. 4. 目录 美团 放服务 云主机的网络安全 Openflow与OpenvSwitch 解决方案与实现 小结 美团 放服务(MOS)
  5. 5. 云主机的网络安全 网络基础服务安全 伪造源IP地址 DHCP欺骗 ARP欺骗 外网防火墙 内网网络隔离 More... VM VM VM VMVM VM VM VM VM VM VM VM VM VM VM Internet VM 美团 放服务(MOS)
  6. 6. 云平台内网隔离技术 共享内网 - flat network 安全组(Security group) 虚拟私有网络(VPC) - overlay VLAN 隧道技术,如NV-GRE, VXLAN等 美团 放服务(MOS)
  7. 7. 常规武器:ebtables/iptables 宿主机加载ebtables/iptables过滤器 伪造源IP DHCP欺骗 外网防火墙 内网隔离? ARP欺骗? ebtables -A FORWARD -p IPv4 --ip-src 10.168.44.111 -s ! 40:6c:8f:3c:a8:c8 -j DROP iptables -A FORWARD -p udp --sport 67 -s ! 10.168.44.160 -j DROP firwall rules ... 美团 放服务(MOS)
  8. 8. 内网隔离 VM VM VM VMVM VM VM VM VM VM Internet VM VM 10.168.44.151 10.168.44.160 10.168.44.161 美团 放服务(MOS)
  9. 9. 内网隔离 VM VM VM VMVM VM VM VM VM VM Internet VM VM iptables -A FORWARD -s 10.168.44.151 -d ! 10.168.44.160,10.168.44.161 -j DROP 10.168.44.151 10.168.44.160 10.168.44.161 美团 放服务(MOS)
  10. 10. 内网隔离 VM VM VM VMVM VM VM VM VM VM Internet VM VM iptables -A FORWARD -s 10.168.44.151 -d ! 10.168.44.160,10.168.44.161 -j DROP iptables -A FORWARD -s 10.168.44.160 -d ! 10.168.44.151,10.168.44.161 -j DROP iptables -A FORWARD -s 10.168.44.161 -d ! 10.168.44.151,10.168.44.160 -j DROP 10.168.44.151 10.168.44.160 10.168.44.161 美团 放服务(MOS)
  11. 11. VM VM VM VMVM VM VM VM VM VM Internet VM VM VM 内网隔离 10.168.44.151 10.168.44.160 10.168.44.161 10.168.44.173 美团 放服务(MOS)
  12. 12. VM VM VM VMVM VM VM VM VM VM Internet VM VM VM 内网隔离 增/删一台虚拟机,需要更新N个节点! 10.168.44.151 10.168.44.160 10.168.44.161 10.168.44.173 美团 放服务(MOS)
  13. 13. 目录 美团 放服务介绍 云主机的网络安全 Openflow与OpenvSwitch 解决方案与实现 小结 美团 放服务(MOS)
  14. 14. 传统网络模型 控制层面 数据层面 转发规则 控制层面 数据层面 转发规则 信令 报文 BGP, OSPF ARP, static routes, ... IP, Ethernet, MPLS, GRE, ... 报文按照TCP/IP规则转发 交换机/路由器 交换机/路由器 美团 放服务(MOS)
  15. 15. Openflow网络模型 控制节点 交换节点 控制通道 信令 报文 BGP, OSPF ARP, static routes, ... & MORE IP, MPLS, ... 控制节点 交换节点 控制通道 Openflow实现控制层面和数据层面的分离 Openflow控制器 Openflow控制器 Openflow交换机 Openflow交换机 美团 放服务(MOS)
  16. 16. OpenFlow如何工作 OpenFlow Openflow控制器(控制节点) Openflow交换机(交换节点) 流表(flow entries) Packets 状态变化 Packets 修改流表 交换逻辑 美团 放服务(MOS)
  17. 17. Flow Entry priority=18000 idle_timeout=900 nw_dst=169.254.169.254 action=mod_dst:1.1.1.2,local 匹配规则(Match) 操作(Actions)优先级(Priority) 有效期(Timeout) 报文 到达 找到最高优先 级的匹配流表 项 执行 指定 操作 美团 放服务(MOS)
  18. 18. flow匹配与操作 匹配字段 Ingress port src/dst MAC VLAN ID VLAN priority code Network layer protocol src/dst IPv4 address Transport layer protocol src/dst Transport port 操作操作 CONTROLLER 送到控制节点 NORMAL 按传统二层交换机 规则处理 OUTPUT 从指定端口发送 MODIFY 修改报文指定字段 DROP 丢弃 ... 美团 放服务(MOS)
  19. 19. Openflow的工作场景 Openflow控制器(控制节点) Openflow交换机(交换节点) 流表(flow entries) 交换逻辑 1. 下发初始化流表(静态flow) 美团 放服务(MOS)
  20. 20. Openflow的工作场景 Openflow控制器(控制节点) Openflow交换机(交换节点) 流表(flow entries) 交换逻辑 2. 静态Flow上报packets Packets in 美团 放服务(MOS)
  21. 21. Openflow的工作场景 Openflow控制器(控制节点) Openflow交换机(交换节点) 流表(flow entries) 交换逻辑 3. 下发新流表(动态flow) Packets in Packets out 美团 放服务(MOS)
  22. 22. OpenvSwitch Nicira公司主导的 源软件交换机(Hypervisor switch),支持Openflow 1.0规范,07年 始 发,高 性能,稳定可靠 Tap0 Tap1 Tap2 eth0 OpenvSwitch VM0 VM1 VM2 br0 (local) 宿主机 openflow controller OpenFlow 美团 放服务(MOS)
  23. 23. 目录 美团 放服务 云主机的网络安全 Openflow与OpenvSwitch 解决方案与实现 小结 美团 放服务(MOS)
  24. 24. 防止伪造源IP地址 虚拟机启动后,安装静态flow,只允许从指 定端口发出IP和MAC匹配的IP报文,丢弃其 他IP报文 优先级 匹配规则 操作 10000 in_port=2 ip dl_src=40:6c:8f:3c:a8:c8 nw_src=10.168.44.111 normal 9000 in_port=2 ip dl_src=40:6c:8f:3c:a8:c8 drop 美团 放服务(MOS)
  25. 25. 内网隔离 下发静态flow,将所有从虚拟机发出的目的地址为内网 的第一个报文转发到控制器 控制器判断是否该报文应该转发,并下发相应动态 flow,转发或丢弃该flow的报文 优先级 匹配规则 操作 29000 dl_dst=FF:FF:FF:FF:FF:FF controller 28000 ip nw_dst=224.0.0.0/4 controller 25000 ip nw_src=10.168.44.111 nw_dst=10.168.45.123 normal 25000 ip nw_src=10.168.44.111 nw_dst=10.168.44.123 drop 20000 ip nw_dst=10.0.0.0/8 controller 美团 放服务(MOS)
  26. 26. 实现方案 分布式Openflow控制器 一个控制器服务一台宿主机,消除性能瓶 颈和单点 实现Openflow 1.0规范主要内容 使用python tornado 步框架实现 美团 放服务(MOS)
  27. 27. 实现效果 彻底隔离 对用户透明,无需设置 除了初次授权有一定延时,其余报文线 速转发,无性能损耗 可扩展性好 美团 放服务(MOS)
  28. 28. 问题与对策(1) 问题:虚拟机之间初次建立连接时间较 长,需要2-3秒 原因:单播第一个报文需要送到控制器处 理,同时控制器访问云控制器获取访问授 权 解决方案: 控制器从云控制器预取并缓存 授权信息,初次连接延时稳定在1秒左右 美团 放服务(MOS)
  29. 29. 问题与对策(2) 问题:用户扫描IP地址段,导致控制器DoS 原因:用户短时间内新建大量连接,导致 大量报文发送到控制器 解决方案:对上报控制器报文进行流控, 限制每虚拟机端口的packet上报速率,防 止单台虚拟机过度占用Openflow控制器的 处理能力 美团 放服务(MOS)
  30. 30. 目录 美团 放服务 云主机的网络安全 Openflow与OpenvSwitch 解决方案与实现 小结 美团 放服务(MOS)
  31. 31. 小结 Openflow/OpenvSwitch提供了一 全新 的网络控制的方法和手段 借助动态流表,可以实现云主机内网隔 离等高级功能 实践中采用分布式架构、限速、缓存等 技术手段克服潜在的性能和可靠性问题 美团 放服务(MOS)
  32. 32. Q&A https://mos.meituan.com MOS− 高性价比云主机

×