基于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

相关文章

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

Java 线程安全与 volatile与单例模式问题及解决方案

《Java线程安全与volatile与单例模式问题及解决方案》文章主要讲解线程安全问题的五个成因(调度随机、变量修改、非原子操作、内存可见性、指令重排序)及解决方案,强调使用volatile关键字... 目录什么是线程安全线程安全问题的产生与解决方案线程的调度是随机的多个线程对同一个变量进行修改线程的修改操

mysql中的服务器架构详解

《mysql中的服务器架构详解》:本文主要介绍mysql中的服务器架构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、mysql服务器架构解释3、总结1、背景简单理解一下mysqphpl的服务器架构。2、mysjsql服务器架构解释mysql的架

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

一文详解如何在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