基于SDN架构,让安全能力快速切入业务

2023-11-09 18:59

本文主要是介绍基于SDN架构,让安全能力快速切入业务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        前几天写了一篇文章网络安全建设如何做到安内攘外,其中核心思想之一为安全与业务的融合是下一步趋势,近期不断思考如何让安全更贴身的服务灵活多变的业务?如何通过模块化、可插拔的方式与系统系统融合?如何让业务中有安全,安全中有业务等问题。以此需求为前提,本文通过Mininet模拟SDN架构网络,通过Suricata实现IDS检测,利用Floodlight下发流表策略对流量进行调度,目标是将防护设备形成防护能力,通过编排方式,快速切入业务,保障业务系统稳定运行。

名称版本
floodlight1.2
mininet2.2.2
suricata3.1
ubuntu16.04

本机性能有限,通过一台虚拟机部署以上产品。文章不对产品部署及具体规则配置进行详细描述。

一、防护流程介绍

        通过ping指令进行简单测试,初期IDS设备未采集h1与h2流量,后期通过策略下发,实现IDS快速切入主机流量,对主机流量进行实时检测。本文采用开源产品搭建,操作效果不是太友好,后期可进行完善,通过可视化以拖拽形式实现安全快速编排。

   

二、模拟网络环境搭建

    2.1 通过mininet,搭建模拟测试环境,见下图:

c0为controller(SDN控制),s1为OVS交换机,h1(10.0.0.1)、h2(10.0.0.2)、IDS(10.0.0.3)为三台模拟主机。

对mininet搭建环境进行ping测试,确定网络畅通。
2.2 通过Floodlight进行访问,Switches信息如下图:

其中h1使用port1,h2使用port2,h3使用port3,流表为默认。

网络架构图如下:

2.3 IDS主机部署Suricata后,对IDS添加ping指令检测,语句如下:

 

alert icmp any any <> any any (msg:"PING TEST";icode:0;itype:8; sid:1000000; rev:3;)

具体icode与itype数值选择,见下图:

三、测试

 初期IDS未采集h1相关流量,所以当h1对h2进行ping操作时,IDS不会进行流量监测。

 利用floodlight,通过post形式对流表进行下发操作,将h1对h2的流量镜像到IDS中,流表操作语句如下:

curl -X POST -d '{"switch":"00:00:00:00:00:00:00:01","name":"flow-mod-2","cookie":"123","priority":"32768","in_port":"1","eth_type":"0x0800","active":"true","actions":"output=2,3"}'  http://127.0.0.1:8080/wm/staticflowpusher/json

通过Floodlight查看,流表已下发成功。

当我们通过h1主机再对h2进行ping操作时,见下图:

IDS的告警信息fast.log,监测告警如下:

       可见我们通过对流表操作,实现了对主机的流量镜像采集,实现了安全能力快速切入。以此逻辑我们可将已有的安全设备进行整合(比如IPS、WAF等)纳入至SDN架构中,将防护设备形成防护能力,通过可视化编排方式,快速切入业务,保障业务系统稳定运行。

四、说点其它

    1.基于SDN架构的安全建设是后期发展趋势之一。

    2.SDN+安全系统虚拟化,才能发挥更大安全能力。

    3.对医疗、教育、金融等行业落地使用还需进一步探讨。

这篇关于基于SDN架构,让安全能力快速切入业务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/378004

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Java中常见队列举例详解(非线程安全)

《Java中常见队列举例详解(非线程安全)》队列用于模拟队列这种数据结构,队列通常是指先进先出的容器,:本文主要介绍Java中常见队列(非线程安全)的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一.队列定义 二.常见接口 三.常见实现类3.1 ArrayDeque3.1.1 实现原理3.1.2

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完