原标题:软件定义网络SDN架构的安全快速切入
一、基础环境介绍
操作系统:ubuntu-16.4
网络仿真器 :mininet-2.2.2
入侵检测系统: suricata-3.1(也可以使用snort)
SDN控制器: floodlight-1.2(比较老,新版本安装有点问题)
二、测试目标
通过mininet模拟网络环境。
通过floodlight进行流量控制牵引。
通过suricata实现入侵检测。
三、测试实现效果
正常环境: 主机H1ping主机H2正常,切不进行流量监测。
测试环境: 首先将suricata添加ping指令告警,方便测试实现。 其次将Floodlight策略下发,H1流量牵引复制一份至IDS中,然后通过H1ping主机H2时,IDS设备(suricata)报错告警。
测试流程示例图
四、安全防护过程介绍
1.首先通过mininet模拟了一台SDN控制器(c0)、一台OVS交换机(s1)、三台模拟主机,其中一台部署了IDS设备。详情如下图:
模拟网络架构
模拟完毕后我们可通过ping指令进行测试,指令语句为:h1 ping -c 30 h2,详情如下图:
ping测试
2.suricata部署完毕后,添加ping的指令检测。具体语句如下:
语句解读:icmp协议;any对any;告警显示内容为“PING TEST”;icmp协议中 type=8、code=0是回显请求(Ping请求);sid是snort规则ID;rev是规则版本号。
3.Floodlight部署完毕后,可通过WEB后台进行查看, http://IP:端口/ui/index.html,如下图:
floodlight后台截图
其中ids使用的是port3、h2是port2、h1是port1 。我们通过post形式,对流表进行操作,如下代码:
url -X POST -d '{"switch":"00:00:00:00:00:00:00:01","name":"flow-mod-3","cookie":"111","priority":"32766","in_port":"1","eth_type":"0x0800","active":"true","actions":"output=2,3"}' http://IP:端口/wm/staticflowpusher/json
语句解读:priority:优先级 in_port:进;eth_type:协议类型,output:出端口,多个逗号隔开。
添加成功后,ids服务器便可接收0x0800协议类型(ping是先通过arp在通过icmp,而icmp是基于tcp的所以是该类型)的流量啦。
4. 当我们在通过主机h1pingh2时(可以ping通),ids的告警信息fast.log文件,会产生相应告警。如下图:
suricata告警
五、结论
可见我们通过流表方式将h1的流量复制一份至ids设备中,进行入侵检测。以此逻辑我们就可以将如防火墙、waf、ips、负载均衡等设备流量进行动态牵引复制,通过可视化编排方式实现安全或性能的动态切入,以此有针对性的保障业务安全稳定运行。返回搜狐,查看更多
责任编辑: