20253916 2025-2026-2 《网络攻防实践》实践5报告
1.实践内容
本周核心围绕网络边界防护与入侵检测体系展开系统性学习,完成了从理论到实操的闭环落地。理论层面,重点梳理了 Linux 系统 iptables 防火墙的工作原理、四表五链的匹配逻辑、访问控制规则的配置规范;学习了 Snort 入侵检测系统的核心架构、特征匹配检测机制、离线日志分析与报警配置方法;同时深入了解了蜜网网关的部署架构,以及防火墙与 IDS/IPS 协同实现攻击数据捕获、攻击行为管控的核心原理。
实操层面,以攻防环境为基础,完成了三大核心任务:一是通过 iptables 实现主机层面的流量过滤与精细化访问控制;二是使用 Snort 对已有网络扫描 pcap 文件进行离线入侵检测,完成攻击行为识别与日志分析;三是拆解蜜网网关的配置规则,理清防火墙与 IDS/IPS 在蜜网体系中的协同工作逻辑。
- Linux iptables 防火墙配置与测试
(1)过滤 ICMP 数据包,屏蔽 Ping 包响应
(2)基于源 IP 的服务访问控制 - Snort 离线入侵检测实践
- 蜜网网关防火墙与 IDS/IPS 规则分析
(1)防火墙配置规则的核心作用
防火墙是蜜网网关实现流量管控的核心基础:
入站方向:默认允许外部攻击机向蜜罐发起的所有入站连接,不拦截正常的攻击探测与渗透行为,确保攻击者可顺利进入蜜网环境,同时记录所有入站连接的完整日志,完成攻击行为的初步捕获。
出站方向:配置极严格的访问控制规则,核心限制蜜罐主动向外发起的连接,包括限制 TCP 并发连接数、ICMP 数据包发送频率、禁止向外发起高危端口的反向连接,同时拦截蜜罐向局域网非蜜网网段发起的所有流量。
(2)IDS/IPS 配置规则的核心作用
蜜网网关内置 Snort 系统,同时实现 IDS 入侵检测与 IPS 入侵防御双重功能,与防火墙形成互补:
数据捕获层面:开启全流量镜像与日志记录功能,对经过网关的所有网络流量进行完整的数据包留存,包括应用层的攻击载荷内容,相比防火墙的连接日志,可实现攻击行为的全链路、全内容回溯,为后续的攻击手法分析、取证溯源提供完整数据支撑。
攻击检测层面:加载完整的攻击特征规则库,对流量进行实时深度检测,精准识别端口扫描、缓冲区溢出、Web 攻击、恶意代码传播等各类攻击行为,触发分级报警并生成详细的攻击日志,补充了防火墙仅能基于 IP / 端口做粗粒度管控的不足。
攻击拦截层面:开启 IPS inline 模式,对检测到的高危攻击行为进行实时拦截,例如蜜罐向外发起的反向 Shell 连接、攻击者向蜜罐发送的恶意溢出载荷、大规模的漏洞利用扫描等,直接在内核层丢弃恶意数据包,在不影响攻击者正常渗透的前提下,规避蜜网被攻陷后产生的安全风险。
(3)两者协同的核心逻辑
2.实践过程
2.1防火墙配置
配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙,完成如下功能,并进行测试:
(1)过滤ICMP数据包,使得主机不接收Ping包
- 使用iptables -L查看seed所有规则,确认是默认的:
![image]()
此时,用kali(192.168.200.4)ping seed(192.168.200.3),没有问题:

- 使用命令iptables -A INPUT -p icmp -j DROP使得主机不接收ICMP包

此时用kali再次ping seed ,可见已经不能成功了:

而wireshark证明发出了很多icmp数据包:

成功后,使用iptables -F 清除所有规则。
(2)只允许特定IP地址,访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址无法访问。
选用http服务进行试验,使用命令:service apache2 start使kali可以响应 HTTP 请求,其他主机可以通过 http://此主机IP,访问此主机上/var/www/html/目录里的网页文件等。

在SEEDUbuntu9-Aug-2010和WinXPattacker上使用命令: http://192.168.32.6 ,发现可访问。


在kali上使用命令:iptables -I INPUT -p tcp --dport 80 -j DROP,直接关闭80端口(HTTP网页服务),禁止外部访问。

SEEDUbuntu9-Aug-2010和WinXPattacker发现均不可访问。

在kali上使用命令:iptables -I INPUT -p tcp -s 192.168.32.3 --dport 80 -j ACCEPT,仅允许WinXPattacker主机访问。再使用命令:iptables -L发现规则已更改。

在WinXPattacker上使用 http://192.168.32.6 ,发现其又可正常访问。

iptables -F,清空规则。
2.2 动手实践:Snort
使用Snort对给定pcap文件(listen.pcap文件)进行入侵检测,并对检测出的攻击进行说明。在BT4 Linux攻击机或 Windows Attacker攻击机上使用Snort,对给定的pcap文件进行入侵检测,获得报警日志。
首先编辑本地规则文件:sudo nano /etc/snort/rules/local.rules
在文件中加入如下规则:
alert tcp any any -> any any (msg:"TCP Scan Detected"; sid:1000001; rev:1;)
alert icmp any any -> any any (msg:"ICMP Packet Detected"; sid:1000002; rev:1;)
其中,第一条规则用于检测 TCP 数据包,第二条规则用于检测 ICMP 数据包。由于本次实验使用的 pcap 文件中主要包含大量 TCP 扫描流量,因此实际触发报警的主要是第一条规则。
配置好本地规则后,使用以下命令让 Snort 对 listen.pcap 进行离线入侵检测:

配置好本地规则后,使用以下命令让 Snort 对 listen.pcap 进行离线入侵检测:
sudo snort -r /home/kali/Desktop/listen.pcap -c /etc/snort/snort.lua -R /etc/snort/rules/local.rules -A alert_fast -l /var/log/snort

Snort 会对 pcap 文件中的网络数据包逐条进行分析,并根据规则匹配情况输出检测结果。

检测完成后,在日志目录中查看生成的报警日志文件:

从报警日志和检测统计结果可以看出,Snort 对 listen.pcap 中的异常流量做出了有效识别。日志中多次出现 “TCP Scan Detected” 报警,说明数据包中存在大量 TCP 探测行为。
2.3 分析配置规则
- 打开蜜网,输入:vim /etc/init.d/rc.firewall

黑名单、白名单、防护名单:
BlackList黑名单链用于拦截恶意流量,WhiteList白名单链用于放行可信流量,FenceList围栏链用于限制蜜罐外联访问

tcpHandler(TCP协议处理链):控制TCP流量速率。
udpHandler(UDP协议处理链):限制UDP流量频率。
icmpHandler(ICMP协议处理链):管理ICMP流量。
otherHandler(其他协议处理链):管控非标准协议流量。

- 输入iptables -L可以查看实际规则列表,看到默认的规则OUTPUT、INPUT、FORWARD都已经被关闭了:

-
输入vim /etc/init.d/snortd,查看snort的脚本文件,可以看到实际运行时候的参数:
![image]()
-
输入vim /etc/init.d/hw-snort_inline打开snort_inline的脚本文件,可以获取Snort_inline实际执行参数:

-
输入chkconfig --list | grep[服务]来查询当前服务是不是开启的,可以看到防火墙和NIPS(snort_inline)是跟随系统启动的,NIDS是需要手动启动的:
![image]()
-
输入vim /etc/honeywall.conf,打开honeywall配置文件,可以看到snort默认为不自动更新:
![image]()
3.学习中遇到的问题及解决
- 问题1:snort扫描后日志无法保存
- 问题1解决方案:修改 /etc/snort/snort.lua
打开文件:sudo nano /etc/snort/snort.lua
找到 alert_fast,如果是注释的,
-- alert_fast = { }
改成:
alert_fast ={file = true}
-
问题2:从离线的pcap文件读取网络日志数据源时出现错误如下:
![image]()
-
问题2解决方案:使用snort命令读取数据源时需要root权限,所以要使用sudo su命令,切换成root用户。
4.实践总结
本次实验完成了全部预设任务,总结如下:
防火墙配置任务:成功完成 iptables 两条核心规则的配置与验证,一是实现了 ICMP Ping 包的有效过滤,主机对外部 Ping 请求无任何响应;二是实现了基于源 IP 的服务访问控制,仅指定 IP 可访问目标服务,其余 IP 均被拦截,同时解决了规则顺序错误导致的配置失效问题,完整掌握了 iptables 的匹配逻辑与基础配置方法。
Snort 入侵检测任务:成功完成 Snort 环境配置与离线 pcap 文件的入侵检测,正确配置了日志输出规则,成功生成明文报警日志,精准识别出 pcap 文件中的 ICMP 存活扫描、TCP SYN 端口扫描等攻击行为,完整还原了攻击者的网络侦察流程,掌握了 Snort 的基础使用方法与入侵检测的核心原理。
蜜网网关规则分析任务:完成了蜜网网关防火墙与 IDS/IPS 配置规则的深度拆解,理清了透明网桥模式下蜜网网关的部署逻辑,明确了防火墙双向差异化管控、IDS/IPS 全量捕获与实时拦截的核心作用,理解了两者协同实现攻击捕获与管控的完整机制,建立了主动防御的核心思维。
本次实验也暴露了自身的不足:对 iptables 的状态检测、端口转发等高级规则掌握不足;仅使用了 Snort 的默认规则库,未掌握自定义攻击检测规则的编写方法;对蜜网网关的高级逃逸防护、攻击诱捕等进阶配置的理解仍不够深入,后续需针对性补充学习。






浙公网安备 33010602011771号