美团技术学院 - 基于openvswitch/openflow的云平台网络安全实践
Post on 13-Jul-2015
1.777 views
TRANSCRIPT
![Page 1: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/1.jpg)
基于Openflow/OpenvSwitch的云主机网络安全实践
美团网
邱剑 ([email protected])https://mos.meituan.com
SDCC 2013 北京
美团开放服务(MOS)
![Page 2: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/2.jpg)
目录美团开放服务
云主机的网络安全
Openflow与OpenvSwitch
解决方案与实现
小结
美团开放服务(MOS)
![Page 3: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/3.jpg)
美团开放服务
2012年初规划
基于OpenStack架构,部分组件自主开发
2012年9月开始逐步迁移在线服务系统到云主机
2013年5月推出美团开放服务(https://mos.meituan.com),云主机为第一款产品
美团开放服务(MOS)
![Page 4: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/4.jpg)
目录美团开放服务
云主机的网络安全
Openflow与OpenvSwitch
解决方案与实现
小结
美团开放服务(MOS)
![Page 5: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/5.jpg)
云主机的网络安全网络基础服务安全
伪造源IP地址
DHCP欺骗
ARP欺骗
外网防火墙
内网网络隔离
More...
VM VM
VM
VMVM VM VM VM VM
VM VM VM VM
VM VM
Internet
VM
��
��
美团开放服务(MOS)
![Page 6: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/6.jpg)
云平台内网隔离技术
共享内网 - flat network
安全组(Security group)
虚拟私有网络(VPC) - overlay
VLAN隧道技术,如NV-GRE, VXLAN等
美团开放服务(MOS)
![Page 7: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/7.jpg)
常规武器: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)
![Page 8: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/8.jpg)
内网隔离
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)
![Page 9: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/9.jpg)
内网隔离
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)
![Page 10: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/10.jpg)
内网隔离
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)
![Page 11: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/11.jpg)
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)
![Page 12: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/12.jpg)
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)
![Page 13: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/13.jpg)
目录美团开放服务介绍
云主机的网络安全
Openflow与OpenvSwitch
解决方案与实现
小结
美团开放服务(MOS)
![Page 14: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/14.jpg)
传统网络模型
控制层面
数据层面
转发规则
控制层面
数据层面
转发规则
信令
报文
BGP, OSPFARP,static
routes,...
IP, Ethernet, MPLS,GRE,
...
报文按照TCP/IP规则转发
交换机/路由器 交换机/路由器
美团开放服务(MOS)
![Page 15: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/15.jpg)
Openflow网络模型
控制节点
交换节点
控制通道
信令
报文
BGP, OSPFARP,static
routes,...
& MORE
IP, MPLS, ...
控制节点
交换节点
控制通道
Openflow实现控制层面和数据层面的分离
Openflow控制器 Openflow控制器
Openflow交换机 Openflow交换机
美团开放服务(MOS)
![Page 16: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/16.jpg)
OpenFlow如何工作
OpenFlow
Openflow控制器(控制节点)
Openflow交换机(交换节点)
流表(flow entries)
Packets状态变化
Packets修改流表
交换逻辑
美团开放服务(MOS)
![Page 17: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/17.jpg)
Flow Entrypriority=18000 idle_timeout=900 nw_dst=169.254.169.254 action=mod_dst:1.1.1.2,local
匹配规则(Match) 操作(Actions)优先级(Priority) 有效期(Timeout)
报文到达
找到最高优先级的匹配流表
项
执行指定操作
美团开放服务(MOS)
![Page 18: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/18.jpg)
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)
![Page 19: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/19.jpg)
Openflow的工作场景Openflow控制器(控制节点)
Openflow交换机(交换节点)
流表(flow entries)
交换逻辑
1. 下发初始化流表(静态flow)
美团开放服务(MOS)
![Page 20: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/20.jpg)
Openflow的工作场景Openflow控制器(控制节点)
Openflow交换机(交换节点)
流表(flow entries)
交换逻辑
2. 静态Flow上报packets
Packets in
美团开放服务(MOS)
![Page 21: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/21.jpg)
Openflow的工作场景Openflow控制器(控制节点)
Openflow交换机(交换节点)
流表(flow entries)
交换逻辑
3. 下发新流表(动态flow)
Packets in
Packets out
美团开放服务(MOS)
![Page 22: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/22.jpg)
OpenvSwitchNicira公司主导的开源软件交换机(Hypervisor switch),支持Openflow 1.0规范,07年开始开发,高性能,稳定可靠
Tap0 Tap1 Tap2
eth0
OpenvSwitch
VM0 VM1 VM2
br0(local)
宿主机openflowcontroller OpenFlow
美团开放服务(MOS)
![Page 23: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/23.jpg)
目录美团开放服务
云主机的网络安全
Openflow与OpenvSwitch
解决方案与实现
小结
美团开放服务(MOS)
![Page 24: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/24.jpg)
防止伪造源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)
![Page 25: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/25.jpg)
内网隔离下发静态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)
![Page 26: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/26.jpg)
实现方案
分布式Openflow控制器
一个控制器服务一台宿主机,消除性能瓶颈和单点
实现Openflow 1.0规范主要内容
使用python tornado异步框架实现
美团开放服务(MOS)
![Page 27: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/27.jpg)
实现效果
彻底隔离
对用户透明,无需设置
除了初次授权有一定延时,其余报文线速转发,无性能损耗
可扩展性好
美团开放服务(MOS)
![Page 28: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/28.jpg)
问题与对策(1)问题:虚拟机之间初次建立连接时间较长,需要2-3秒
原因:单播第一个报文需要送到控制器处理,同时控制器访问云控制器获取访问授权
解决方案: 控制器从云控制器预取并缓存授权信息,初次连接延时稳定在1秒左右
美团开放服务(MOS)
![Page 29: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/29.jpg)
问题与对策(2)问题:用户扫描IP地址段,导致控制器DoS
原因:用户短时间内新建大量连接,导致大量报文发送到控制器
解决方案:对上报控制器报文进行流控,限制每虚拟机端口的packet上报速率,防止单台虚拟机过度占用Openflow控制器的处理能力
美团开放服务(MOS)
![Page 30: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/30.jpg)
目录美团开放服务
云主机的网络安全
Openflow与OpenvSwitch
解决方案与实现
小结
美团开放服务(MOS)
![Page 31: 美团技术学院 - 基于OpenvSwitch/Openflow的云平台网络安全实践](https://reader038.vdocuments.site/reader038/viewer/2022102406/55a2cb401a28ab1f6c8b47cb/html5/thumbnails/31.jpg)
小结Openflow/OpenvSwitch提供了一种全新的网络控制的方法和手段
借助动态流表,可以实现云主机内网隔离等高级功能
实践中采用分布式架构、限速、缓存等技术手段克服潜在的性能和可靠性问题
美团开放服务(MOS)