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

Preview:

Citation preview

基于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),云主机为第一款产品

美团开放服务(MOS)

目录美团开放服务

云主机的网络安全

Openflow与OpenvSwitch

解决方案与实现

小结

美团开放服务(MOS)

云主机的网络安全网络基础服务安全

伪造源IP地址

DHCP欺骗

ARP欺骗

外网防火墙

内网网络隔离

More...

VM VM

VM

VMVM VM VM VM VM

VM VM VM VM

VM VM

Internet

VM

��

��

美团开放服务(MOS)

云平台内网隔离技术

共享内网 - 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.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)

内网隔离

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 DROP

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 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)

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.173

美团开放服务(MOS)

目录美团开放服务介绍

云主机的网络安全

Openflow与OpenvSwitch

解决方案与实现

小结

美团开放服务(MOS)

传统网络模型

控制层面

数据层面

转发规则

控制层面

数据层面

转发规则

信令

报文

BGP, OSPFARP,static

routes,...

IP, Ethernet, MPLS,GRE,

...

报文按照TCP/IP规则转发

交换机/路由器 交换机/路由器

美团开放服务(MOS)

Openflow网络模型

控制节点

交换节点

控制通道

信令

报文

BGP, OSPFARP,static

routes,...

& MORE

IP, MPLS, ...

控制节点

交换节点

控制通道

Openflow实现控制层面和数据层面的分离

Openflow控制器 Openflow控制器

Openflow交换机 Openflow交换机

美团开放服务(MOS)

OpenFlow如何工作

OpenFlow

Openflow控制器(控制节点)

Openflow交换机(交换节点)

流表(flow entries)

Packets状态变化

Packets修改流表

交换逻辑

美团开放服务(MOS)

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)

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)

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)

OpenvSwitchNicira公司主导的开源软件交换机(Hypervisor switch),支持Openflow 1.0规范,07年开始开发,高性能,稳定可靠

Tap0 Tap1 Tap2

eth0

OpenvSwitch

VM0 VM1 VM2

br0(local)

宿主机openflowcontroller OpenFlow

美团开放服务(MOS)

目录美团开放服务

云主机的网络安全

Openflow与OpenvSwitch

解决方案与实现

小结

美团开放服务(MOS)

防止伪造源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)

内网隔离下发静态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)

实现方案

分布式Openflow控制器

一个控制器服务一台宿主机,消除性能瓶颈和单点

实现Openflow 1.0规范主要内容

使用python tornado异步框架实现

美团开放服务(MOS)

实现效果

彻底隔离

对用户透明,无需设置

除了初次授权有一定延时,其余报文线速转发,无性能损耗

可扩展性好

美团开放服务(MOS)

问题与对策(1)问题:虚拟机之间初次建立连接时间较长,需要2-3秒

原因:单播第一个报文需要送到控制器处理,同时控制器访问云控制器获取访问授权

解决方案: 控制器从云控制器预取并缓存授权信息,初次连接延时稳定在1秒左右

美团开放服务(MOS)

问题与对策(2)问题:用户扫描IP地址段,导致控制器DoS

原因:用户短时间内新建大量连接,导致大量报文发送到控制器

解决方案:对上报控制器报文进行流控,限制每虚拟机端口的packet上报速率,防止单台虚拟机过度占用Openflow控制器的处理能力

美团开放服务(MOS)

目录美团开放服务

云主机的网络安全

Openflow与OpenvSwitch

解决方案与实现

小结

美团开放服务(MOS)

小结Openflow/OpenvSwitch提供了一种全新的网络控制的方法和手段

借助动态流表,可以实现云主机内网隔离等高级功能

实践中采用分布式架构、限速、缓存等技术手段克服潜在的性能和可靠性问题

美团开放服务(MOS)

Q&A

https://mos.meituan.com

MOS- 高性价比云主机

Recommended