20252805 2025-2026-2 《网络攻防实践》第5次作业 实践五 网络安全防范技术
1.实践内容
本次实践包含三个核心任务:
一、防火墙规则配置:在Linux系统上配置防火墙,实现禁止ICMP协议Ping包接收,并仅允许指定IP通过telnet访问本机,其他地址访问将被拒绝,从而验证基于IP的访问控制与协议过滤功能。
二、Snort入侵检测实践:利用Snort对提供的pcap攻击流量文件进行离线分析,通过配置snort.conf输出明文报警日志至指定目录,检测其中包含的扫描或攻击行为,并依据报警信息阐释攻击类型与特征。
三、蜜网网关规则分析:研究蜜网网关中防火墙与IDS/IPS的联动配置规则,剖析其如何结合防火墙的访问限制与入侵检测系统的深度分析,实现对外部攻击流量的诱捕、记录与受控隔离,满足攻击数据捕获和网络安全控制的双重需求。
2.实验过程
2.1 本次实验使用设备
| 虚拟机 | IP |
|---|---|
| WinXPattacker | 192.168.200.2 |
| BT5R3-GNOME-VM-32 | 192.168.200.4 |
| kali2022 | 192.168.200.6 |
| Honeywall | 192.168.200.125 |
2.2 防火墙配置
(2.2使用虚拟机kali2022、WinXPattacker和BT5R3-GNOME-VM-32)
2.2.1 过滤ICMP数据包,使得主机不接收Ping包
在kali2022上输入指令,查看当前Linux系统的防火墙规则
sudo iptables -L -n -v

在WinXPattacker上pingkali2022
ping 192.168.200.6
根据下图,可以ping通

在kali2022上输入指令
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
可以向防火墙添加一条规则,用于阻止本机接收Ping请求

此时kali2022能正常ping通WinXPattacker(192.168.200.2)

但是WinXPattackerping不通kali2022(192.168.200.6)

在kali2022上输入
sudo iptables -L INPUT -n -v
会以数字格式详细列出当前filter表中INPUT链的所有规则,并显示每条规则已被触发的数据包数量与字节总量
下图说明,kali2022之前添加的禁止Ping规则已生效,已经有4次来自外部的Ping请求被防火墙拦截并丢弃

在kali2022上输入
sudo iptables -F INPUT
清空kali2022所有INPUT规则
此时再输入指令
sudo iptables -L -n -v
发现规则已经清空

2.2.2 只允许特定IP地址访问主机某一网络服务
分别在WinXPattacker和BT5R3-GNOME-VM-32上输入指令
telnet 192.168.200.6 22
如下面两图所示,WinXPattacker(192.168.200.2)能成功连接上kali2022


如下图所示,BT5R3-GNOME-VM-32(192.168.200.4)能成功连接上kali2022

然后在kali2022上输入指令
sudo iptables -A INPUT -p tcp -s 192.168.200.2 -j ACCEPT
sudo iptables -A INPUT -p tcp -j DROP
实现仅允许特定IP地址(192.168.200.2)通过TCP协议访问本机任何端口,而拒绝其他所有IP的TCP连接
(iptables规则是按顺序从上到下匹配的,注意指令顺序)
之后可以通过指令sudo iptables -L INPUT -n -v查看规则

此时在BT5R3-GNOME-VM-32(192.168.200.4)上输入指令telnet 192.168.200.6 22,已无法连接kali2022

实验2.2结束后,在kali2022上输入
sudo iptables -F INPUT
清空kali2022所有INPUT规则
2.3 动手实践:Snort
(2.3使用虚拟机kali2022)
任务要求使用Snort对给定pcap文件进行入侵检测,并对检测出的攻击进行说明
Snort之前实验已经安装,不再演示。输入指令
sudo apt install -y snort
就行
然后在虚拟机上输入指令(/home/jaden/桌面/listen.pcap换成你自己虚拟机上listen.pcap存储的路径)
sudo snort -r /home/jaden/桌面/listen.pcap -c /etc/snort/snort.lua -A alert_fast -l /var/log/snort
指令让Snort读取桌面上的listen.pcap文件,使用/etc/snort/snort.lua中的规则配置进行入侵检测分析,将生成的告警信息以快速格式保存到/var/log/snort/alert文件中
下图是输出的部分内容

将输出的内容丢入AI分析,提取到重要数据
stream_tcp:
sessions: 67657
syns: 67657
syn_acks: 83
rsts: 67549
fins: 72
分析得出,67657个SYN请求中,只有83个得到了SYN-ACK响应,响应率仅约0.12%,SYN数量远大于SYN-ACK;绝大多数连接尝试以RST结束,表明目标端口未开放或服务端主动拒绝连接;因此这种模式高度符合TCP SYN端口扫描的特征:即攻击者向大量端口发送SYN包探测开放性,对未开放的端口收到RST或无响应
2.4 分析配置规则
(2.4使用虚拟机Honeywall)
首先在蜜网上输入指令su -提权
然后输入指令,查看蜜网网关的防火墙文件内容(敲空格键翻页)
more /etc/init.d/rc.firewall
(仅列出防火墙文件内容的部分截图)


输入指令
sudo iptables -L INPUT -n
sudo iptables -L OUTPUT -n | head -10
sudo iptables -L FORWARD -n | head -10
分别查询蜜网虚拟机INPUT、OUTPUT和FORWARD链的防火墙规则。由于OUTPUT和FORWARD链的规则太多,只显示前10条
如图,INPUT链允许所有流量进入

如图,OUTPUT链允许所有流量发出

如图,FORWARD链记录并放行二层转发流量,从eth0进来的新建连接(TCP/UDP/ICMP)全部被允许转发

输入指令,查看蜜网网关上的Snort IDS服务启动脚本
vim /etc/init.d/snortd

输入指令,查看蜜网网关中Snort IPS的服务启动脚本
vim /etc/init.d/hw-snort_inline

AI分析图中内容:
| 参数 | 含义 | 在蜜网网关中的意义 |
|---|---|---|
| -c | 指定配置文件 | 指向 IPS 专用的规则文件(如 snort_inline.conf),其中规则动作多为 drop 或 reject |
| -d | 记录数据包详细载荷 | 用于深度取证,在蜜网数据捕获中可能开启以记录攻击 payload |
| -D | 守护进程模式 | 保证 Snort-Inline 作为后台服务持续运行 |
| -l | 指定日志输出目录 | 将告警和日志按日期分类存放,便于审计管理 |
| -Q | 启用 QUEUE 模式 | IPS 的核心标识,表示 Snort 将从 iptables 的 NFQUEUE 队列中获取数据包,判决后可丢弃恶意流量 |
| -t | chroot 隔离目录 | 提升安全性,限制 Snort 进程对文件系统的访问范围 |
输入指令,查看蜜网网关的核心配置文件
vim /etc/honeywall.conf

输入指令,检查Snort进程是否正在运行以及查看其详细运行参数
ps aux | grep snort

根据上图,Snort IPS(入侵防御系统)通过-Q参数接收由防火墙导入NFQUEUE的转发流量,一旦命中IPS阻断规则,数据包将直接被丢弃,从而防止攻击者利用蜜罐作为跳板对外发起攻击;Snort IDS(入侵检测系统)不直接干预实时流量,而是专注于处理由Sebek收集的攻击者行为数据或后台存储的pcap文件,通过匹配IDS规则生成告警日志,供安全人员事后溯源分析。
3.学习中遇到的问题及解决
- 问题1:
实验2.2.2中,我在kali2022(192.168.200.6)中输入以下指令
sudo iptables -A INPUT -p tcp -j DROP
sudo iptables -A INPUT -p tcp -s 192.168.200.2 -j ACCEPT
结果WinXPattacker(192.168.200.2)无法连接上kali2022
- 问题1解决方案:
因为iptables规则是按顺序从上到下匹配的,指令顺序会影响匹配结果
所以只需要调换两个指令的位置
sudo iptables -A INPUT -p tcp -s 192.168.200.2 -j ACCEPT
sudo iptables -A INPUT -p tcp -j DROP
就能解决问题
4.学习感想和体会
通过本次实验,我对网络安全防护有了更立体的认知。在防火墙配置中,亲手编写命令精准控制ICMP与服务访问,让我深刻体会到“最小权限原则”在边界防御中的核心价值,纠正了对端口与协议匹配的模糊理解。Snort入侵检测实践则揭示了流量背后的攻击痕迹,从离线pcap中提取报警日志,直观感受到特征匹配引擎对扫描与渗透行为的敏锐识别能力。而对蜜网网关规则的分析,则打通了防火墙与IDS/IPS的联动逻辑——限制访问以控制风险,深度检测以捕获数据,这种“诱捕+审计”的闭环设计正是主动防御的精髓。三项实验从单点技术到体系思维,强化了我从攻防视角审视网络安全问题的能力
浙公网安备 33010602011771号