1.实践内容
1.1实践内容总结
本周主要围绕 主机防火墙策略 与 网络入侵检测系统(NIDS) 两个核心模块展开,学习并实践了以下关键技术:
-
iptables 包过滤机制:理解 Linux 内核 netfilter 框架下的表、链、规则结构,掌握基于协议、端口、源地址的访问控制方法。
-
Snort 入侵检测:学习 Snort 3.x 的基本命令行用法,理解基于规则的流量分析与告警生成流程。
-
蜜网防御体系:通过分析 Honeywall 网关脚本,了解黑白名单联动机制与纵深防御思想。
1.2 知识点总结
-
iptables 防火墙规则管理
使用 iptables -L 查看规则,通过 -A INPUT -p icmp -j DROP 实现禁止本机接收 Ping 请求的 ICMP 包过滤。 -
基于 IP 的服务访问控制
利用 -s 指定源 IP 并配合 -j ACCEPT 与 -j DROP 的顺序,实现仅允许特定主机访问本机 TCP 80 端口的 HTTP 服务。 -
Snort 入侵检测系统的使用
通过 snort -c 加载配置文件并指定 -r 读取 PCAP 数据包,配合 -A alert_fast 生成告警日志,识别 Nmap XMAS 扫描等攻击行为。 -
Snort 数据包统计信息分析
运行 Snort 后查看统计输出,可获取协议分布(IPv4、TCP、UDP、ARP)及处理包总数,用于评估网络流量特征。 -
蜜网防火墙启动脚本分析
通过查看 /etc/init.d/rc.firewall 与 hw-snort_inline 等脚本,理解蜜网中黑白名单规则的定义及 Snort 内联模式的启动流程。
2.实践过程
2.1 防火墙设置
本实验用到的虚拟机及IP地址:
seed:192.168.200.2
winXP:192.168.200.3
kali:192.168.200.4
- 过滤ICMP数据包,使得主机不接收Ping包
在kali中输入命令iptables -L查询规则:
![image]()
由此可以看出没有添加任何规则。 - 使用seed和winXP来ping kali:
![image]()
![image]()
由上图可见都可以ping通。
在kali中添加规则:iptables -A INPUT -p icmp -j DROP
![image]()
再次输入iptables -L查询规则是否成功添加
![image]()
可以看到添加成功,丢弃icmp包。
用seed ping kali:
![image]()
可以看到无法ping通,说明规则添加成功,过滤了icmp包。 - 只允许特定IP地址,访问主机的某一网络服务,而其他的IP地址无法访问
在kali中输入python3 -m http.server 80,启用HTTP服务:
![image]()
在seed和winxp中打开浏览器输入http:192.168.200.4
![image]()
![image]()
可以看到seed和winXP都可以登录
在kali中输入命令:
iptables -A INPUT -p tcp --dport 80 -s 192.168.200.2 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
加入规则,指定只有seed可以访问80端口
![image]()
可以看到seed可以访问,而winxp不能访问了
![image]()
![image]()
2.2 动手实践:Snort
snort-V查看Snort版本:

输入 snort -c /etc/snort/snort.lua -r /home/kali/listen.pcap -l /home/xixi1234/桌面 -A alert_fast 进行入侵检测
可以查看到日志文件——受到了Nmap XMAS攻击

查看统计信息:



处理了135580个数据包,大部分是ipv4和tcp,一小部分为udp和arp。

2.3 分析配置规则
在honeywall中查看防火墙配置规则:
输入命令vim /etc/init.d/rc.firewall查看:
创建黑白名单的条件:

处理规则:

黑名单的规则:

白名单的规则:

使用iptables -L|more查看具体的防火墙规则:

vim /etc/init.d/snortd查看snort的脚本文件:

vim /etc/init.d/hw-snort_inline查看蜜网启动的过程:

通过上述操作可以知道:
蜜网网关通过 iptables 防火墙与 Snort 内联入侵检测系统协同工作,实现攻击数据捕获与强访问控制。
防火墙默认拒绝所有流量,仅对管理网段开放必要端口。通过自定义黑名单、白名单和隔离列表链,对进出蜜罐的流量实施精细控制:黑名单直接阻断已知恶意 IP,白名单放行可信访问,隔离列表(FenceList)则专门拦截蜜罐向外发起的连接,防止攻击者将蜜罐用作跳板攻击第三方。
所有转发流量在防火墙处被记录日志,完成第一层元数据捕获;随后数据包进入以内联模式运行的 Snort,接受深度载荷检测。Snort 既能记录完整攻击特征供取证,又可主动丢弃恶意数据包,确保攻击活动被严密监控的同时,攻击流量绝不外溢。两者联动实现了“让攻击者充分暴露,但严格限制其行动范围”的蜜网核心设计目标。
3.学习中遇到的问题及解决
- 问题1:输入 snort -c /etc/snort/snort.lua -r /home/kali/listen.pcap -l /home/xixi1234/桌面 -A alert_fast 进行入侵检测不能生成日志文件
- 问题1解决方案:vim /etc/snort/snort.lua 在如下图位置,添加enable_builtin_rules = true,再使用snort -c /etc/snort/snort.lua -r /home/kali/listen.pcap -l /home/xixi1234/桌面 -A alert_fast即可生成日志文件
![18d385e38d508ed2362bac4914cee7d]()
4.实践总结
4.1实践总结
本次实验围绕网络安全防御展开,重点实践了iptables防火墙策略与Snort入侵检测系统的应用。在防火墙环节,通过添加规则成功过滤ICMP数据包,阻止所有主机对Kali的ping请求;进一步利用-s源地址限制结合端口控制,实现仅允许特定IP访问Web服务,验证了基于包过滤的访问控制有效性。Snort实验中,通过配置snort.lua启用内置规则,对listen.pcap流量文件进行分析,检测到Nmap XMAS扫描攻击并生成告警日志,同时输出统计信息显示数据包协议分布,加深了对入侵检测工作流程的理解。最后分析蜜网网关中的防火墙与Snort脚本,明确了黑白名单的iptables规则结构与联动机制。本次实践强化了防火墙策略定制与入侵检测分析能力,为构建主动防御体系积累了经验。
4.2实践心得与体会
通过本次实践,我深刻体会到防火墙策略与入侵检测系统在网络安全中的核心作用。亲手配置iptables规则,从禁用Ping到细粒度服务访问控制,理解了“默认拒绝”原则的实际意义。Snort分析攻击流量时,看到明文日志中XMAS扫描记录,直观感受到主动防御的重要性。此外,阅读蜜网脚本更让我明白安全工具联动机制并非孤立的规则堆砌,而是环环相扣的纵深防线。今后我将更加注重理论与实践结合,提升安全运维的严谨性与敏感性。













