基于Ryu 防火墙的检测和解决异常入侵的流量
创始人
2024-01-29 20:10:08

基于Ryu 防火墙的检测和解决异常入侵的流量

  • 基于Ryu 防火墙的检测和解决异常入侵的流量
    • 防火墙规则
    • 实验仿真环节:
      • 1.下载代码到本地
      • 2.安装相关依赖库
      • 3.设置openflow1.3
      • 4.启动控制器
        • 异常检测:
        • 异常解决:
        • 规则合并:
      • 防火墙规则树:
    • 结论

申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址 全文共计4577字,阅读大概需要3分钟
欢迎关注我的个人公众号:不懂开发的程序猿

基于Ryu 防火墙的检测和解决异常入侵的流量

防火墙规则

规则被定义为一组标准和当数据包匹配标准时要执行的操作。Ryu防火墙规则的标准包括:元素 VLAN、优先级、输入交换机端口、以太网源、以太网目标、以太网帧类型、IP 源、IP 目标、IPv6 源、IPv6 目标、IP 协议、源端口和目标端口。这些也是OpenFlow Switch Specification 中定义的匹配字段。

防火墙规则是定义网络流量的安全策略。任何错误的规则都会让不需要的流量通过或阻止所需的流量,从而危及系统安全。

两个规则之间的关系是它们匹配的一组数据包之间的关系。假设一个规则匹配A数据包,另一个匹配B数据包。如下几种形式:

在这里插入图片描述

(1)不相交:规则中至少有一个标准具有完全不相交的值

(2)完全匹配:规则中的每个条件都完全匹配

(3)包含匹配:一个规则和另一个规则至少有一个标准是彼此的子集,并且对于属性的其余部分,一个等于另一个

(4)相关:两个规则不相交且不包含彼此匹配

两个规则之间可能存在的异常

  • 1.阴影异常:一个规则被另一个规则阴影,如果另一个规则在策略中的规则之前,另一个可以匹配规则匹配的所有数据包并且它们有不同的动作
  • 2.相关性异常:两条规则有不同的动作,一个规则匹配一些匹配另一个的数据包,反之亦然
  • 3.冗余异常:冗余规则对相同的数据包执行与另一个规则相同的操作

Algorithm TreeInsert该算法解决异常如下:

  • 阴影异常:当规则完全匹配时,保留拒绝动作的那个。当规则包含匹配时,使用拒绝操作重新排序规则。
  • 相关异常:将规则分解为不相交的部分并将它们插入列表中。在相关规则的共同部分中,保留拒绝操作的部分。
  • 冗余异常:删除冗余规则。

实验仿真环节:

1.下载代码到本地

git clone https://github.com/ernie55ernie/Anomaly-Firewall-Rule-Detection-And-Resolution.git

在这里插入图片描述

2.安装相关依赖库

cd Anomaly-Firewall-Rule-Detection-And-Resolution/pip install -r requirements.txt

在这里插入图片描述

3.设置openflow1.3

新开终端:

sudo ovs-vsctl set Bridge protocols=OpenFlow13

在这里插入图片描述

4.启动控制器

新开终端:

sudo ryu-manager rest_firewall.py

在这里插入图片描述

防火墙规则格式:

优先级<方向、源IP、源端口、目的IP、目的端口、动作>

运行示例代码:python anomaly_resolver.py

在这里插入图片描述

异常检测:

python main.py --path rules/example_rules_1 –detect

伪代码(r s代表了防火墙不同规则):

old rules list ← read rules from config filenew rules list ← empty listfor all r ∈ old rules list doInsert(r, new rules list)for all r ∈ new rules list **do**for all s ∈ new rules list after r **do**if r ⊂ s **then**if r.action = s.action **then**Remove r from new rules listbreak

在这里插入图片描述

异常解决:

python main.py --path rules/example_rules_1 –resolve

伪代码(r s代表了防火墙不同规则):

if new rules list is empty theninsert r into new rules listelseinserted ← falsefor all s ∈ new rules list doif r and s are not disjoint theninserted ← Resolve(r, s)if inserted = true thenbreakif inserted = false thenInsert r into new rules list












在这里插入图片描述

规则合并:

python main.py --path rules/example_rules_2 –merge

伪代码(r s代表了防火墙不同规则):

1. if r = s then
2. if r.action 	= s.action then
3. set s.action to REJECT and report anomaly
4. else
5. report removal of r
6. return true
7. if r ⊂ s then
8. insert r before s into new rules list and report reordering
9. return true
10. if s ⊂ r then
11. return false
12. Remove s from new rules list
13. Find set of attributes a = {x|r.x 	= s.x}
14. for all ai ∈ a do
15. Split(r, s, ai)
16. if r.action 	= s.action then
17. s.action ← REJECT
18. Insert(s, new rules list)
19. return true
20. 
21. 
22. 
23. 
24. 
25. 

在这里插入图片描述

防火墙规则树:

在这里插入图片描述

结论

从防火墙策略规则中解决异常流量对于网络安全至关重要,因为异常可能会引入不必要且难以发现的安全漏洞。因此,本文提出了一个自动化的过程来检测和解决这种异常。

–end–

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
函授本科是什么 自考本科还是函... 很多小伙伴在选择学历提升方式的时候,可能会感到很迷茫,不知道报考自考本科还是函授本科,两者有什么区别...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
安徒生童话有哪些 安徒生童话的... 从德国汉堡港乘轮船渡波罗的海抵丹麦王国,就到了安徒生的祖邦。安徒生(1805-1875)以童话作品闻...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...