网络安全防范技术
1 实践内容
1.1 安全防范
为了保障"信息安全金三角"的CIA属性、即机密性、完整性、可用性,信息安全领域提出了一系列安全模型。其中动态可适应网络安全模型基于闭环控制理论,典型的有PDR和P^2DR模型。
1.1.1 PDR模型
信息系统的防御机制能抵抗入侵的时间P,能超过检测机制发现的入侵的时间D和响应机制有效应对入侵的时间R之和。
1.1.2 P^2DR模型
网络安全=根据风险分析制定安全策略(policy)+执行安全防护策略(Procation)+实时监测(Detection)+实时响应(Response)。其中安全策略是核心。
图1.1 P^2DR模型
1.2 防火墙
1.2.1概述
防火墙是目前最成熟的网络防御技术之一,属于一种网络上的访问控制机制,通过在不同网络域之间建立起安全控制点,对通过的网络传输数据进行检查,根据具体的安全需求决定是否允许网络访问通过防火墙,达到特定网络安全域免受非法访问和破坏的目标。
防火墙功能有检查进出网络的流量、防止脆弱或不安全的协议和服务、防止内部网络信息外泄、对网络存取和访问进行监控审计、可强化网络安全策略和集成其他网络安全防御机制。
防火墙对于来自网络安全内部的攻击、通过非法外联的网络攻击和计算机病毒传播防御有限。
1.2.2 防火墙技术和产品
包过滤技术是通过网络层和传输层的包头信息检查,根据用户定义的安全策略规则集,确定是否应该转发该数据包,将一些不符合安全策略的数据包阻挡在网络边界处。
基于状态检测的包过滤技术维护所有通过防火墙的网络连接记录,并依此确定数据包是否属于一个新的连接、或是已连接的一部分,或是一个非法数据包。由于根据数据包的上下文进行检查和过滤,数据的合法性得到了更有效的保证,但对网络传输的性能影响较大。
图1.2 基于状态检测的包过滤技术
代理技术为客户端首先与代理服务器建立连接,接着发出一个对外部目标服务器的的文件或请求,代理服务器通过与目标服务器连接或从缓存中取得资源,并返回给客户端。网络用户便不直接与外部服务器通信。具体分为应用层代理技术、电路级代理技术和NAT代理技术。
防火墙产品集成包过滤的路由器、基于通用操作系统的防火墙软件产品、基于安全操作系统的防火墙、硬件防火墙设备。
1.3 入侵检测技术
1.3.1 概述
入侵检测技术定义是对入侵行为的检测与发现。两个重要参数是检测率和误报率。信息收集是入侵检测技术的基础。收到信息后最核心的任务是信息分析,两种基本的分析技术是梧误用检测和异常检测。
入侵检测系统的部署位置如图1.3所示:
图1.3 入侵检测系统的部署位置
1.3.2 入侵检测系统:snort
snort采用标准的捕获数据包的函数库libpcap,具有数据包嗅探、数据包记录和分析、入侵检测功能。软件基本构架如图1.4所示
图1.4 snort软件基本构架
在snort运行时,首先,将捕获的数据包经过解码器填入到链路层协议的包结构体之中,以便对高层协议解码;然后送入各种各样的预处理插件中,对数据进行检查和操作;随后检测引擎对每个包的信息进行快速模式匹配检测;对之前各个部件产生的报警/日志信息,调出相应的输出插件进行发送和记录。检测引擎与插件是snort入侵的主体模块,包含规则库解析、多模式匹配和规则插件检查三部分。
2 实践过程
2.1 防火墙配置
配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙,完成如下功能,并进行测试。
2.1.1 过滤ICMP数据包,使得主机不接收Ping包
(1)Linux操作系统平台上的iptables
首先,输入指令"iptables -L"查看所有规则,确认是默认的。
图2.1 所有规则
然后,用攻击机(192.168.200.4)ping靶机(192.168.200.129)。发现可以ping通。
图2.2 ping通
输入指令"iptables -A INPUT -p icmp -j DROP"使得主机不接收ICMP包。
其中各参数的意思是:
-A INPUT:将input规则添加到链尾;
-p icmp:指定icmp协议;
-j DROP:指定对应数据包进行丢弃。
然后再次查看规则:
图2.3 再次查看所有规则
可以看出第一行已经变成"anywhere"。
此时用用攻击机(192.168.200.4)ping靶机(192.168.200.129),发现已经不能ping通。
图2.4 ping失败
使用wireshark抓包,可以看到发出了很多icmp数据包。
图2.5 wireshark抓包
成功后,使用iptables -F清除所有规则。此时,用攻击机(192.168.200.4)ping靶机(192.168.200.129)成功ping通。
图2.6 再次ping通
(2)Windows操作系统平台上的个人防火墙
启动WinXPattacker,密码为"mima1234"。用kali ping WinXPattacker(192.168.200.8),可以ping通。
图2.7 ping成功
打开"控制面板"的"Windows防火墙"。
图2.8 控制面板的防火墙
在"高级"→"ICMP设置"中,把"允许传入回显请求"勾掉。
图2.9 勾掉允许传入回显请求
此时看到kali就ping不通windowsXP了。
图2.10 无法ping通
实验完毕,再调回设置,发现可以重新ping通。
图2.11 再次ping通
2.1.2 只允许特定IP地址访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址无法访问。
本节实验的各主机的IP地址如下:
A:192.168.200.4
B:192.168.200.6
C:192.168.200.7
首先给A安装FTP服务,输入指令"apt-get install vsftpd"。再输入"service vsftpd start"开启FTP服务。
图2.12 开启FTP服务
然后用B和C访问A的ftp服务均成功。
图2.13 B成功连接FTP
图2.14 C成功连接FTP
对A进行设置,输入指令"iptables -P INPUT DROP"拒绝一切数据流入。再输入指令"iptables -A INPUT -p tcp -s 192.168.200.6 -j ACCEPT"只允许B(192.168.200.6)访问主机。
设置好后,用B和C访问A,可见只有B可以成功访问。
图2.15 B再次成功连接FTP
图2.16 C连接FTP失败
输入"iptables -F"和"iptables -P INPUT ACCEPT"恢复之前的状态。
2.2 动手实践:Snort
使用Snort对给定pcap文件(第4章中的解码网络扫描任一个pcap文件,之前的实践已经提供了,请在云班课中下载)进行入侵检测,并对检测出的攻击进行说明。在BT4 Linux攻击机或Windows Attacker攻击机上使用Snort,对给定的pcap文件进行入侵检测,获得报警日志。
输入指令"snort -c /etc/snort/snort.conf -r /home/kali/Desktop/listen.pcap -K ascii"从离线的pcap文件读取网络日志数据源。
图2.17 读取网络日志数据
通过分析结果可以看出TCP包占绝大多数。
snort会在默认目录"/var/log/snort"生成一个日志文件,输入指令"cd/var/log/snort"查看日志文件。可以看出本次攻击是用nmap发起的。攻击机IP地址是172.31.4.178,靶机IP地址是172.31.4.188,还可以看到端口号等等。
图2.18 相关信息
2.3 分析配置规则
分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。
具体分析配置规则与启动项文件包括:
防火墙(netfilter+IPTables):/etc/init.d/rc.firewall:
入侵检测系统(Snort):/etc/init.d/hflow-snort 与/etc/snort/snort.conf:
入侵防御系统(Snort_inlinc):/etc/init.d/hflow-snort_inline 与/etc/snort_inline/snort. inline.conf
2.3.1 数据捕获
数据捕获是密网的一个重要目的,包括三个层次,分别是防火墙的日志记录、eth0上的嗅探器记录的网络流多和Seek捕获的系统活动;记录的内容主要包括:数据包通过时间、包协议类型、进出的网络接口、源地址、目的地址、源端口、目的端口、包长度等。
蜜罐网关通过三种方式捕获数据:防火墙日志、网络通讯、系统活动。防火墙能够记录所有的进入和外出本网络的连接。所有进出防火墙的日志信息记录在/var /log /messages 文件中。但防火墙能记录的数据是有限的,主要是报头信息,如攻击的时间、源和目的IP地址以及源和目的端口,对于入侵者的击键行为、数据包的载荷等无能为力。
打开密网网关,输入vim /etc/init.d/rc.firewall查看防火墙的文件。看到create_chains函数中新建了许多规则链,包括黑名单、白名单、防护名单等
图2.19 防火墙文件
2.3.2 控制需求
Roo的数据控制包含两方面,一是防火墙Iptables对连出(Outbound)的连接数的控制,另一个是网络信息防御系统Snort_inline对连出异常数据的限制,还增加了黑名单、白名单、防护名单的功能。防火墙对源地址或者目的地址属于黑名单的主机,丢弃所有包。对于属于白名单的主机,接受且不记录。对于属于防护名单内的主机,禁止访问某些不希望被访问到的主机。
在蜜罐中,使用iptables -t filter -L命令来查看规则列表。可以看出,默认的规则例如OUTPUT、INPUT、FORWARD都已经被关闭了
图2.20 蜜罐规则列表
3.学习中遇到的问题及解决
3.1 kali的FTP服务
Kali默认没有安装FTP服务。需要先安装后再使用。
3.2 windows允许传入回显请求关
ICMP设置中允许传入回显请求前面的复选框是灰色的,默认勾选,无法取消勾选。需要关掉例外选项,允许传入回显请求前面的复选框就可以关掉了。
4 感想和体会
通过本次实验,我学习到了各种网络安全防范技术的基本原理和方法。熟悉使用Windows的防火墙和linux的iptables的配置。对ICMP数据包有了进一步的认识。学习了使用Snort对给定pcap文件进行分析,找出各种信息。对蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求也有进一步的认识。
相关文章:
网络安全防范技术
1 实践内容 1.1 安全防范 为了保障"信息安全金三角"的CIA属性、即机密性、完整性、可用性,信息安全领域提出了一系列安全模型。其中动态可适应网络安全模型基于闭环控制理论,典型的有PDR和P^2DR模型。 1.1.1 PDR模型 信息系统的防御机制能抵抗…...
Java - JSR223规范解读_在JVM上实现多语言支持
文章目录 1. 概述2. 核心目标3. 支持的脚本语言4. 主要接口5. 脚本引擎的使用执行JavaScript脚本执行groovy脚本1. Groovy简介2. Groovy脚本示例3. 如何在Java中集成 Groovy4. 集成注意事项 6. 与Java集成7. 常见应用场景8. 优缺点9. 总结 1. 概述 JSR223(Java Spe…...
win10系统部署RAGFLOW+Ollama教程
本篇主要基于linux服务器部署ragflowollama,其他操作系统稍有差异但是大体一样。 一、先决条件 CPU ≥ 4核; RAM ≥ 16 GB; 磁盘 ≥ 50 GB; Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1。 如果尚未在本地计算机ÿ…...
基于Python制作一个简易UI界面
基于Python制作一个简易UI界面 目录 基于Python制作一个简易UI界面1 原理简介2 编写程序3 程序测试 1 原理简介 这里用到了Python自带的UI库tkinter。 tkinter 是 Python 的标准 GUI(图形用户界面)库,用于创建和管理图形界面。它提供了一个简…...
鲁菜大师程伟华到访金宫川派味业
共工新闻社11月29日电(范琦)上周,中国鲁菜大师、首批中国烹饪大师名厨程伟华到访金宫川派味业总部基地。这位从厨51年、坚持传承鲁菜的行业大师人物,深入了解了金宫川派的品牌文化,参观了金宫自动生产车间,…...
Linux设置jar包开机自启动
本文详细描述了如何在Linux服务器上创建并配置jar包的自启动脚本,包括编辑/etc/init.d/jar_auto.sh以设置环境变量,将jar包添加到rc.local以开机启动,以及提升脚本文件权限确保自动执行。 1、准备工作 Linux中Java的路径 项目jar包绝对路径 2…...
IoTDB 常见问题 QA 第一期
开始!关于 IoTDB 的 Q&A 我们将定期汇总社区讨论频繁的问题,并展开进行详细回答,通过积累常见问题“小百科”,方便大家使用 IoTDB。 Q1:WAL 堆积导致写入失败 问题及现象 集群报错: The write is rejec…...
【linux学习指南】linux捕捉信号
文章目录 📝前言🌠 信号捕捉的流程🌉 sigaction 🌠穿插话题-操作系统是怎么运⾏的🌉 硬件中断🌉时钟中断 🚩总结 📝前言 🌠 信号捕捉的流程 如果信号的处理动作是⽤⼾⾃定…...
git如何快速拉取已经提交的mr进行验证
参考:https://stackoverflow.com/questions/44992512/how-to-checkout-merge-request-locally-and-create-new-local-branch Pull merge request to new branch git fetch origin merge-requests/REQUESTID/head:BRANCHNAME i.e git fetch origin merge-requests/…...
【阿来来gis规划师工具箱说明书】h07四分标注
背景 在做arcmap的四分标注前,已经做好了二行三行的标注,以及在pro中做好了四分标注。这个四分标注做了好些版本,都达不到想要的效果。最终使用了静态标注的形式来做。 制作思路 新建两个承接标注文字的文本字段,考虑一般标注超…...
【大数据学习 | 面经】HDFS的三副本机制和编码机制
1. hdfs的三副本机制 hdfs的三副本机制是其核心特性之一,旨在确保数据的高可用性和容错性。通过将每个文件的数据块复制三个副本,并分散存储在不同的DateNode上,hdfs能够在节点故障的时候提供数据冗余和持续访问的能力。 三副本机制的工作原…...
lua-cjson 例子
apt install -y lua-cjson 安装 编辑 tmp.lua cjson require "cjson" p 666 d "23.42" payload{"d":[{"pres":..(p)..,"temp":"..(d).."}]} print("payload " .. payload) j cjson.decode(payloa…...
java面向对象知识点: 封装,构造,重载
目录 封装 封装知识点 private(私有) public(公共) 二、getter和setter方法 getter方法(访问器方法) setter方法(修改器方法) 三、封装类的设计原则 单一职责原则 高内聚性 一…...
go的math/rand随机数生成器
伪随机数生成器,默认情况下随机数种子是固定的, **注意:**固定的随机数种子每次生成的随机数都是相同的随机数序列 一、基础用法 math/rand 包提供了随机数生成的方法。常用的函数包括: rand.Int():返回一个伪随机…...
JiaJia-CP-1,2,3的WP(2)
一.JiaJia-CP-2 一看题目,聊天软件,用的什么聊天软件直接userassist看运行过什么程序 vol -f JiaJia_Co.raw --profileWin7SP1x64 userassist 发现Telegram.exe(小飞机) 可能性很大啊(真是个摸鱼大神) 除此之外,filescan也能看到࿰…...
3DMAX星空图像生成器插件使用方法详解
3DMAX星空图像生成器插件,一键生成星空或夜空的二维图像。它可用于创建天空盒子或空间场景,或作为2D艺术的天空背景。 【主要特点】 -单击即可创建星空图像或夜空。 -星数、亮度、大小、形状等参数。 -支持任何图像大小(方形)。…...
ROS2 系列学习教程(总目录)
ROS2Learning ROS1 系列学习教程(总目录) 一、ROS2 简介 1.1 ROS2简介及学习资源汇总 二、ROS2 基础 2.1 ROS2安装详细教程(以Humble为例) 2.2 ROS2 构建系统 colcon 介绍、安装与使用 2.3 ROS2 与 ROS1 编码方式对比 ROS2 与 ROS1 编码方式对比&am…...
[GKCTF 2021]签到
[GKCTF 2021]签到 wireshark跟踪http流,基本编解码,倒叙,栅栏密码 找到cat /f14g 把包里返回的字符串先hex解码,再base64解码,看到一个时间是倒叙,不含flag 继续往下面翻,可以看到cat%2Ff14g%7…...
Kubernetes——part11 云原生中间件上云部署 Rocketmqkafkazookeeper
Rocketmq rocketmq角色 RocketMQ由四部分构成:Producer、Consumer、Broker和NameServer 启动顺序:NameServer->Broker 为了消除单点故障,增加可靠性或增大吞吐量,可以在多台机器上部署多个nameserver和broker,并…...
ip租期到了
当IP租约到期后,会发生以下过程: 租约到期通知:在租约到期之前,DHCP客户端通常会尝试续租其IP地址。如果客户端仍然活跃并且希望继续使用相同的IP地址,它会向DHCP服务器发送一个DHCP请求(DHCPREQUEST&#…...
鸿蒙系统(harmony)支持Android应用的双框架技术架构分析
鸿蒙系统(HarmonyOS)支持 Android 应用的双框架技术架构 是为了在鸿蒙操作系统上实现对 Android 应用的兼容与支持,特别是在多设备生态下,确保不同类型的 Android 应用能够无缝运行在鸿蒙设备上。这种双框架架构使鸿蒙能够兼顾自身的原生应用生态和 Android 的广泛应用生态…...
面积等效原理
面积等效原理 电力电子技术中的面积等效原理主要应用在PWM(Pulse Width Modulation,脉冲宽度调制)控制技术中。 定义 面积等效原理:当冲量(即窄脉冲的面积)相等而形状不同的窄脉冲加在具有惯性的环节上时…...
【测试工具JMeter篇】JMeter性能测试入门级教程(四):JMeter中BeanShell内置方法使用
一、什么是BeanShell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法;BeanShell是一种松散类型的脚本语言(这点和JS类似);BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精简…...
大小写转换
描述 将下面的字符串中的大小写进行转换。 输入描述 输入一行仅包含字母的字符串(字符串长度 ≤100)。 输出描述 将其中的大写转换为小写,小写转换为大写。 abcD ABCd #include<iostream> #include<string> using namespace std; int main() { …...
手机镜头组如此突出,考虑恢复以前设计
现在手头看重照相。结果导致的问题就是,在背部要突出很高,以容纳镜头组件。这种设计真的好吗?并不见得。真实照片: VIVO X200系列镜头组照片-CSDN博客 考虑到现在镜头的情形,我建议恢复以前的设计,就是把镜…...
浅谈人工智能之基于容器云进行图生视频大模型搭建
浅谈人工智能之基于容器云进行图生视频大模型搭建 根据之前我们所讲过的内容: 文生图 文生视频 我们继续讲解图生视频大模型搭建。 引言 随着深度学习技术的不断发展,图生视频(image-to-video)大模型成为了计算机视觉和自然语言…...
大型复杂项目管理怎么结合传统与敏捷
大型复杂项目管理需要综合运用传统的瀑布模型与敏捷方法,两者各具优势,可以在不同的项目阶段和需求下发挥最大效能。首先,在项目的初期阶段,传统方法的详细规划和需求分析能够帮助确保项目方向正确、资源充足;敏捷方法…...
家校通小程序实战教程04教师管理
目录 1 创建数据源2 搭建管理后台3 搭建查询条件4 功能测试总结 我们上一篇介绍了如何将学生加入班级,学生加入之后就需要教师加入了。教师分为任课老师和班主任,班主任相当于一个班级的管理员,日常可以发布各种任务,发布接龙&…...
UI控件使用说明
文章目录 一、控件的公共属性二、常用控件的私有属性三、控件的显示与隐藏 一、控件的公共属性 struct element {u32 highlight: 1; //高亮标志u32 state: 3; //内核记录控件的状态u32 ref: 5; //内核计数值u32 prj: 3; //工程序号u32 hide_action: 1; //HIDE_WI…...
树莓派2安装jupyterlab以便更好的编程体验
树莓派2 是一款很老的开发板了,但是它还能继续战斗。为了更好的编程体验,准备安装jupyterlab 安装jupyterlab 使用命令: pip install jupyterlab 该过程非常漫长,因为树莓派2是很老的板子,它需要安装一些arm7版本的…...
工作性价比计算器/seo全站优化全案例
写在前面 由于这一次先更新Spring【最核心】的知识点:AOP和IOC 在面试的时候,我没怎么被问过MyBatis / Hibernate / Struts2这样的框架,而Spring就经常被问到。 本次PDF共有【142】页,涉及到的内容有: IOC和AOP的全面…...
网站后台如何更改/竞价托管如何托管
自从猿来入此发布实战开发教程以来,我们截至目前一共发布了22个Java实战项目开发教程,从最基础的Java控制台实战项目到数据库封装教程再到swing的单机项目教程、servlet的web实战教程、ssm框架的实战教程直到现在的springboot项目的实战教程,…...
wordpress教程之/网站关键词排名seo
来源|脑极体编辑|海怪今年春节,很多人无法回家。一个就地过年的春节,让无法归乡的人们多了一丝难以排解的乡愁,也多了很多自由自在的时间。趁着闲暇,不如搞点有趣的事情,比如去开发宇宙。最近&a…...
自己做的电影网站犯法吗/seo排名赚
System.Diagnostics.Debug.WriteLine(String);转载于:https://www.cnblogs.com/songtzu/archive/2012/07/26/2609678.html...
深圳网站建设外包公司/接单平台app
该项目为区块 案例详情 图形更直观显示相关数据内容,并能简洁美观和清晰的显示数值进行快速判断,从而提升更好的用户体验。 区块链数字资产开发的一款产品,服务于国内外区块链资产投资者的一个理财平台。 从原用系统中提取主要配色属CMYK印…...
做党政板报的网站/中国科技新闻网
八上第11周-直线型轨迹引言:数学是研究数与形的科学,而GeoGebra的代数区与绘图区正好对应着数与形。如何通过作图探究数学问题,并加深对数学的理解,是我和我的学生们正在努力的方向。学习目标: 1.操作技能掌握&#x…...