《软件定义安全》之七:SDN安全案例

第7章 SDN安全案例

1.DDoS缓解

1.1 Radware DefenseFlow/Defense4All

Radware在开源的SDN控制器平台OpenDaylight(ODL)上集成了一套抗DDoS的模块和应用,称为Defense4ALL。其架构如下图,主要有两部分:控制器中的安全扩展,包括接收到流信息后的统计服务、做清洗的流量重定向服务等;独立的北向安全应用,包括异常检测引擎、流量清洗管理器等。

在这里插入图片描述

Defense4ALL的工作原理是,首先ODL控制器从全局的网络设备中获得OpenFlow流信息,统计服务做大致的统计后,通知安全应用的异常检测引擎。当引擎发现当前的流量存在DDoS攻击时,会通过管理器下发流量牵引指令,指令在重定向服务中被计算出若干OpenFlow Flow_Mod流命令,并下发到从源网络设备到DDoS缓解中心的目的网络设备间的路径上的所有网络设备,形成一条重定向路径。当恶意流量在DDoS缓解中心被清洗完后,正常转发到目的地。
当异常检测引擎发现当前的网络流量正常后,会通过管理器撤销重定向指令,此时流量直接被转发到目的地。
它还加入了L4~L7的检测,支持抗APT攻击。当检测到DDoS或APT攻击时,可直接在网络设备上进行阻断,或重定向到专有的安全设备进行进一步的处理。

1.2 Brocade DDoS实时分析和缓解

Brocade公司提出的实时DDoS缓解的SDN分析方案(Real-time SDN Analytics for DDoS Mitigation),架构如下图:

在这里插入图片描述

对于L2~L4流量型的DDoS检测,最大的挑战在于流量过大,即便是体现数据包统计信息的xFlow,每秒几万条也是非常正常的,因此控制平面的带宽开销会非常大。特别是OpenFlow协议要求控制器获得交换机上的所有流表,那么传输时间会长达数秒甚至数十秒,导致检测延时、检测应用计算开销过大。所以Brocade公司提出的方案在底层使用了支持sFlow的MLXe路由器,将抽样的sFlow流发送到控制器,可做到整个过程可扩展和线性,极大地减少了检测的时间开销和计算开销。

2 软件定义的访问控制

2.1 Check Point公司的软件定义防护

Check Point公司在RSA 2014大会上宣布推出软件定义防护(Software Defined Protection,SDP)革新性的安全架构。
SDP提供安全的、模块化的、灵活的安全架构,它将可靠的执行层与快速自适应的、智能的控制层结合在一起,为用户网络提供实时的主动防御。此外,该架构中的管理层负责编排,架构图如下图。
整个SDP架构包括互相关联的3层:执行层,包括物理的、虚拟的及基于主机的安全执行点,它们将网络分段并执行安全防护;控制层,分析不同来源的威胁情报并生成防护策略,下发给执行层;管理层,完成基础设施层的编排,从而为整个架构提供更高的灵活性。

在这里插入图片描述

  1. 执行层

执行层首先根据防护策略和特性鉴别相同身份的主体,并将这些主体放置于分片中;然后将分段分组,以允许模块化的保护;最后在分片间使用各种安全防护手段,巩固安全边界。
执行层利用虚拟安全网关为企业网络提供了灵活、动态的模糊边界,将网络分成更细粒度的段,在每一段可执行不同策略的数据防护、入口和出口访问控制、威胁防护、日志等安全能力。

在这里插入图片描述

SDP提供了硬件和软件形式的虚拟网关,同时为固定和移动终端提供了基于主机的安全执行点代理,以确保主机层面的安全策略执行,并将移动用户通过安全隧道接入企业云端。在云端,针对企业私有云,SDP提供了Hypervisor层和VM层面的执行点,使用户可以对VM间的流量进行分段;针对公有云用户,允许企业为AWS中的系统执行分段和防火墙策略。

  1. 控制层

控制层为用户生成安全策略,并提供具体的安全机制,可供灵活编排后下发给合适的执行点,按需动态构建具体的安全防护机制。SDP控制层基于软件刀片,实现不同的虚拟安全服务,如防火墙,IPSec VPN,邮件安全和反垃圾邮件,身份管理,访问控制,数据丢失保护,应用控制,QoS,集成的IPS,基于网络的反病毒,对抗0day攻击的虚拟沙盒,通过阻断C&C信道的反僵尸网络,等等,从而可灵活地匹配用户多样的安全需求,为用户提供有效的安全防护。同时,其固有的模块化结构使用户可以为每个执行点生成特定的安全防护机制,并随时按需扩展用户的安全架构。
控制层还有一个云系统。软件刀片提供的安全防护能力,需要通过及时的威胁情报才能有效防护不断变化的攻击手段。因此,SDP控制层还提供了基于云的大数据智能威胁情报系统——ThreatCloud,应对各种已知和未知的安全威胁。通过这种高度的协议,当一个用户受到新型的恶意软件攻击时,相关的攻击样本可以立即通过ThreatCloud共享,攻击特征很快就可以加入大数据中,供其他用户使用。

  1. 管理层

管理层的所有执行点由单个统一的安全管理平台进行管理,因此管理平台必须具有很好的扩展能力,可管理上千万的管理对象而仍保持快速的响应时间。另外,为支持执行层的分段,管理平台应在保证职责分离的同时,允许管理人员为不同的段自定义安全策略,每个管理员只能管理其职权下的安全策略。SDP体系通过分层策略机制实现该要求。
SDP管理层还提供了事件可视化应用SmartEvent,它通过大数据分析和实时安全事件关联,使SDP具有情境感知和事件响应能力。精准的事件可视化可以帮助事件处理人员准确地给出必要的响应措施,从而更好地保护网络。事件分析能力则生成可执行的智能情报,它可以Indicator(安全威胁情报交换STIX的术语)的形式通过控制层的ThreatCloud分发,从而帮助实时阻断攻击。

2.2 OpenStack防火墙即服务

防火墙即服务(FWaaS)是OpenStack中的一种访问控制机制,它控制了租户内部不同子网间的访问关系,并对外提供SaaS访问。
FWaaS的实现包括了命名空间、IPTABLES NAT链和IPTABLES的访问控制链等底层技术。

  1. hillstone

山石网科推出的云数据中心FWaaS安全解决方案为应用OpenStack平台构建的公有云、私有云提供安全防护,为云环境中的独立租户提供专属的安全隔离和策略保护。该方案通过FWaaS服务接口,为云数据中心中的每个租户提供独立的虚拟防火墙,实现了租户间的安全隔离和保护,虚拟机间的东西向流量也得到了有效的管控。所有虚拟防火墙通过统一的界面进行配置和管理,支持虚拟防火墙、安全资源动态分配、安全设备弹性扩展等特点,实现跨平台支持多种虚拟主机。

在这里插入图片描述

  1. DELL-SonicWALL

Dell公司也基于它的SonicWALL统一威胁管理UTM,再加上全球管理系统(Global Management System,GMS)的集中管理和快速部署功能,提供FWaaS安全能力,为用户提供防火墙、反病毒、反垃圾信息、备份和恢复、远程访问等安全服务。它通过月订阅费的计价形式提供给用户的。


如果要实现定制化的FWaaS,一般而言需要修改两个组件:L3Agent和FWaaS驱动。因为一般商用防火墙都带有路由功能,所以L3Agent需要将原有的IPTABLES NAT功能替换掉。另外,还要重新实现FWaaS驱动,以适配商用防火墙的访问控制接口。
下面以vArmor FWaaS为例,更换FWaaS驱动,方法为修改配置文件/etc/Neutron/fwaas_driver.ini

[fwaas]
enabled = True
driver = Neutron.services.firewall.drivers.varmour.varmour_fwaas.vArmourFwaasDriver

在实现上,可以是每个虚拟防火墙对应一个router,这样将命名空间和IPTABLES链都放在该虚拟防火墙中实现即可。其整体实现较为简捷,但需要注意L3 Agent和FWaaS驱动应与标准FWaaS API和虚拟防火墙vFW API适配。

2.3 CSA SDP软件定义边界

CSA: Cloud Security Alliance, 云安全联盟
SDP: Software Defined Perimeter, 软件定义边界

CSA是云计算安全方面非常著名的组织,它的《云安全指南》、云计算十二大威胁和各大云相关的工作组开展的工作,在云计算安全方面都非常有影响力。
SDP是一个能够为OSI七层协议栈提供安全防护的网络安全架构,实现资产隐藏,并在允许连接到隐藏资产之前使用单个数据包通过单独的控制和数据平面建立信任连接。使用SDP实现的零信任网络使组织能够更好防御新变种攻击方法,以及改善企业所面临攻击面日益复杂和扩大的安全困境。

在这里插入图片描述

当主体访问客体之前,需要通过一个初始化代理访问客体的代理,这两个代理均连接到一个控制器上,只有当控制器允许并下发策略后,两者才可通信,所以任意主客体的访问权限都在全局的控制器中决定。值得注意的是,CSA SDP虽然存在节点和控制器的角色,但使用的是CSA定义的加密TCP协议。
所有用户在访问任何资源之前,都需要经过安全控制平台上的访问控制APP做身份认证,这符合软件定义边界的思想。只是Initiating SDP Host和Accepting SDP Host均为SDN交换机,而SDP Controller是SDN控制器、安全控制平台和访问控制APP所结合的控制器平台。部署在认证服务器上的访问控制APP综合考虑访问用户的角色、历史信誉和其他因素,决定该用户终端的连接是否可建立,或经过何种安全防护设备,并根据上下文环境自适应地在多个网络和安全设备上建立访问控制规则。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/855756.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Pytorch】一文向您详细介绍 model.eval() 的作用和用法

【Pytorch】一文向您详细介绍 model.eval() 的作用和用法 下滑查看解决方法 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕…

数据结构之探索“队列”的奥秘

找往期文章包括但不限于本期文章中不懂的知识点: 个人主页:我要学编程(ಥ_ಥ)-CSDN博客 所属专栏:数据结构(Java版) 目录 队列有关概念 队列的使用 队列模拟实现 循环队列的模拟实现 622. 设计循环队列 双端队…

C++ 84 之 文件读写

#include <iostream> #include <cstring> #include <string> using namespace std; #include <fstream> // 文件流的头文件int main() {// 写入: 文件内容// (文件位置&#xff0c; 如果这个不存在&#xff0c; 就新建一个)// 写法1&#xff1a; of…

深度学习项目十六:根据训练好的权重文件推理图片--YOLO系列

文章目录 根据训练好的权重文件推理图片--YOLO系列一、自己构建YOLOv5推理代码1.1 对数据集进行模型训练1.2 对数据集进行模型推理检测1.3 自己编写推理函数1.3.1 针对单张进行推理1.3.2 针对文件夹下的图片进行推理二、自己构建YOLOv8推理代码2.1 对数据集进行模型训练2.2 对数…

安装pytorch环境

安装&#xff1a;Anaconda3 通过命令行查显卡nvidia-smi 打开Anacanda prompt 新建 conda create -n pytorch python3.6 在Previous PyTorch Versions | PyTorch选择1.70&#xff0c;安装成功&#xff0c;但torch.cuda.is_available 返回false conda install pytorch1.7.0…

报表工具数据源的取数处理方式大对比

根据报表的需求&#xff0c;很多报表中的指标数据需要进行预处理&#xff0c;以满足快速抽取和展示的需要。对于帆软报表类似的产品&#xff0c;一般通过建立视图、合并数据表&#xff0c;形成直接应用于模板设计的数据集&#xff0c;报表直接和数据集进行交互、关联。当用户发…

Antd - 上传图片 裁剪图片

目录 本地上传方法【input type"file"】&#xff1a;upload组件【antd】默认接口上传&#xff1a;自定义接口上传&#xff1a;【取消默认上传接口】antd的upload组件beforeUpload还有个比较坑的地方 upload结合裁剪1、antd官方裁剪组件&#xff1a;![在这里插入图片描…

Vue - 第3天

文章目录 一、Vue生命周期二、Vue生命周期钩子三、工程化开发和脚手架1. 开发Vue的两种方式2. 脚手架Vue CLI基本介绍&#xff1a;好处&#xff1a;使用步骤&#xff1a; 四、项目目录介绍和运行流程1. 项目目录介绍2. 运行流程 五、组件化开发六、根组件 App.vue1. 根组件介绍…

python学习笔记-08

面向对象基础(OOP)-上 1. 面向对象概述 面向过程&#xff1a;根据业务逻辑从上到下写代码 函数式&#xff1a;将某功能代码封装到函数中&#xff0c;日后便无需重复编写&#xff0c;仅调用函数即可 面向对象(object oriented programming)&#xff1a;将数据与函数绑定到一起…

微信小程序毕业设计-电影院订票选座系统项目开发实战(附源码+论文)

大家好&#xff01;我是程序猿老A&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;微信小程序毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计…

【JS重点14】内置构造函数

目录 一:Object构造函数 1 创建对象说明 2 关于Object的三个常用静态方法 Object.keys() Object.values() Object.assign() 二:Array构造函数 1 数组对象的常见实例方法 2 详解reduce实例方法 语法规则&#xff1a; 运行细节&#xff1a; 案例&#xff1a; 3 map()…

【C++高阶】高效搜索的秘密:深入解析搜索二叉树

&#x1f4dd;个人主页&#x1f339;&#xff1a;Eternity._ ⏩收录专栏⏪&#xff1a;C “ 登神长阶 ” &#x1f921;往期回顾&#x1f921;&#xff1a;C多态 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; ❀二叉搜索树 &#x1f4d2;1. 二叉搜索树&…

一键解压,无限可能——BetterZip,您的Mac必备神器!

BetterZip for Mac 是一款高效、智能且安全的解压缩软件&#xff0c;专为Mac用户设计。它提供了直观易用的界面&#xff0c;使用户能够轻松应对各种压缩和解压缩需求。 这款软件不仅支持多种压缩格式&#xff0c;如ZIP、RAR、7Z等&#xff0c;还具备快速解压和压缩文件的能力。…

qt 5.6 qmake手册

qt 5.6 qmake手册 &#xff08;笔者翻译的qmake手册&#xff0c;多数是机翻&#xff0c;欢迎评论区纠错修正&#xff09; Qmake工具有助于简化跨不同平台开发项目的构建过程。它自动生成Makefile&#xff0c;因此创建每个Makefile只需要几行信息。您可以将qmake用于任何软件项目…

32.双击列表启动目标游戏

上一个内容&#xff1a;31.加载配置文件中的游戏到辅助列表 以 31.加载配置文件中的游戏到辅助列表 它的代码为基础进行修改 效果图&#xff1a; 添加列表双击事件 实现代码&#xff1a; LPNMITEMACTIVATE pNMItemActivate reinterpret_cast<LPNMITEMACTIVATE>(pNMHDR…

考研数学强化,880+660正确打开方式

1800题基础做完了&#xff1f;做的怎么样&#xff01; 之所以问你做的怎么样&#xff0c;是因为1800题做的好坏&#xff0c;直接决定了你要不要开始做880题和660题。 有的同学1800题做的很好&#xff0c;做完1800题之后开始做880660没毛病 但是有的同学就是纯纯的为了做题而…

python使用哪种数据库

MySQL 是一个关系型数据库管理系统&#xff0c;由瑞典MySQL AB 公司开发&#xff0c;目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一&#xff0c;在 WEB 应用方面&#xff0c;MySQL是最好的 RDBMS (Relational Database Management System&#xff0c;关…

阿里云SSL免费证书部署(nginx)

1.先在阿里云领取免费证书 创建证书 下载证书 得到nginx证书和密钥的压缩包 2.配置nginx 将两个文件放进nginx的opt目录下 先检查有没有ngx_http_ssl_module模块 ngixn -V 如果有进入下一步&#xff0c;没有继续 1.找到你nginx的文件 2.进入添加模块 ./configure --with-h…

git的Cherry pick

Cherry pick Git Cherry Pick详解 https://blog.csdn.net/jam_yin/article/details/131594716 目标: 将开发分支A中提交的部分内容合并到B分支(可能是测试分支) 步骤: vscode安装 点击下图标进入graph

最新版本IntelliJ IDEA安装与“坤活”使用

最新版本IntelliJ IDEA安装与“科学”使用 IntelliJ IDEA安装与坤活下载安装坤活idea1.将下面两个压缩文件解压到安装位置&#xff0c;注意路径不要包含中文空格等特殊符号2.双击 install-all-users.vbs &#xff0c;然后点击确定&#xff0c;等到出现 Done的弹窗3. 打开idea复…