20251913 2025-2026-2 《网络攻防实践》 第5次作业
1.实践内容
(1)防火墙
防火墙是位于内部网络与外部网络之间,依据预设安全策略监控和控制网络流量的网络安全系统。它作为网络安全的第一道防线,旨在保护内部网络免受外部威胁,防止未经授权的访问。
分类如下:
| 类型 | 常见形态 | 特点与适用场景 |
|---|---|---|
| 包过滤防火墙 | 旧路由器、系统自带防火墙 | 检查数据包“头部”(IP、端口),效率高但安全性较低。 |
| 状态检测防火墙 | 主流路由器、企业防火墙 | 跟踪整个连接状态,是目前最常见、最基础的防火墙。 |
| 应用层防火墙 | Web应用防火墙 | 能深入检查数据内容,识别应用层攻击,如SQL注入、恶意脚本。 |
| 下一代防火墙 | 中高端企业安全设备 | 集成了入侵防御、应用识别等高级功能,是当前企业的主流选择。 |
| 云防火墙 | 云服务商提供的安全服务 | 保护云上的虚拟网络和资产,灵活弹性。 |
主要功能:
- 访问控制:只允许符合规则(如特定IP地址、端口、协议)的流量通过,阻止未经授权的访问,比如防止外部黑客扫描你电脑的漏洞。
- 隔离网络区域:将公司内网、对外服务的服务器区(DMZ,即隔离区)等不同安全等级的区域隔开。即使网页服务器被攻破,也难以直接入侵公司内网。
- 网络地址转换:让家里或公司多台设备共享一个公网IP地址上网,同时对外隐藏内部设备的真实IP,增加一层安全。
- 记录与报警:记录所有尝试通过的连接,帮助管理员分析异常行为或攻击迹象。
(2)Snort
Snort采用模块化架构,支持插件扩展功能,部署时可分层为传感器层、服务器层和管理员控制台层。其检测流程包含数据包捕获、解码、预处理、规则匹配及响应处理等环节,触发响应方式包括报警、记录日志或阻断数据包等。
Snort有三种工作模式:嗅探器、数据包记录器、网络入侵检测系统。嗅探器模式仅仅是从网络上读取数据包并作为连续不断的流显示在终端上。数据包记录器模式把数据包记录到硬盘上。网络入侵检测模式是最复杂的,而且是可配置的。我们可以让snort分析网络数据流以匹配用户定义的一些规则,并根据检测结果采取一定的动作。
(3)蜜网网关配置规则分析
分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,IDS/IPS 配置主要是对入侵检测 / 防御系统进行规则、策略与工作模式设置,使其能识别并处理网络攻击。
IDS:用于低交互蜜罐或攻击观察阶段;
IPS:用于高交互蜜罐前,阻断明显恶意载荷。
2.实践过程
2.1 防火墙配置
实验用到的虚拟机IP地址如下:
| 虚拟机名称 | IP |
|---|---|
| KALI | 192.168.200.4 |
| SEEDUbuntu | 192.168.200.5 |
| MetaSploitable | 192.168.200.6 |
1、过滤ICMP数据包
通过iptables -L查看SEED虚拟机的规则

可以看到kali能ping通seed

添加规则iptables -A INPUT -p icmp -j DROP,之后通过iptables -L查看SEED虚拟机的规则,可以观察到已经添加了丢弃ICMP包的规则

此时再ping,发现已无法ping通

通过命令iptables -F删除自定义规则

此时再ping,可以ping通

2、只允许特定IP地址访问主机的某一网络服务,而其他的IP地址无法访问
在KALI中通过命令可以远程访问META的ftp服务

在SEED通过命令ftp 192.168.200.6可以远程访问META的ftp服务

2.2 动手实践:Snort
对已有的listen.pcap进行入侵检测,生成简洁的报警日志并输出到指定文件夹下,输入以下指令sudo sh -c 'snort -r listen.pcap -l /var/log/snort -A fast >> /var/log/snort/alert.log' :

执行snort -A fast -c /etc/snort/snort.lua -R <(echo 'alert tcp any any -> any any (msg:"Nmap Scan Detected"; sid:1000001; rev:1;)') -r listen.pcap -l /var/log/snort,可以判定本次攻击是使用nmap发起的

可以看到 Snort 已经成功产生了 135,518 条告警



观察输出的统计信息可以看到99%的协议都是TCP,只有少量UDP和ARP协议

2.3 分析配置规则
通过下面的命令来查看蜜网网关的防火墙配置规则
vim /etc/init.d/rc.firewall,
能够查看到创建黑名单、白名单的条件

这里是一些处理规则

这里是黑名单中的内容会被DROP

这里是白名单中的内容会被ACCEPT

通过命令vim /etc/init.d/snortd可以查看snort的脚本文件

通过命令vim /etc/init.d/hw-snort_inline可以查看该脚本为蜜网启动snort的过程

3.学习中遇到的问题及解决
- 问题1:无法生成报警日志
- 问题1解决方案:Kali 默认安装的是 Snort 3,其参数 -A alert_fast 与旧版 Snort 2.x 的 -A fast 不兼容,且 Snort 3 的规则语法发生了较大变化。更换为 Snort 2.x 兼容的参数:将 -A alert_fast 改为 -A fast。通过 sudo sh -c 使整个命令以 root 身份执行,确保对 /var/log/snort 目录的写权限。最终有效命令
sudo sh -c 'snort -r listen.pcap -l /var/log/snort -A fast >> /var/log/snort/alert.log' - 问题2:蜜罐网关输入
vim /etc/init.d/rc.firewall后是空白的 - 问题2解决方案:先输入
su -,再输入指令就可以运行了。
4. 学习感想和体会
通过本次实践,我深刻理解了网络安全中边界防御与入侵检测的协同作用。使用 Snort 分析真实网络扫描的 pcap 文件,则让我直观感受到基于特征的检测能力——那些原本抽象的端口扫描在报警日志中变得清晰可辨。通过对蜜网网关配置的查询和学习,也让我蜜网网关进行入侵检测的过程有了更深的理解。这次实践让我意识到,安全不是单一工具的完美,而是防御、检测、响应、捕获环环相扣的体系化工程。

浙公网安备 33010602011771号