- 学号 2025-2026-2 《网络攻防实践》实践X报告
- 1.实践内容
- 2.实践过程
- 2 实验过程
- 实验1 配置Linux操作系统平台上的iptables
- 过滤ICMP数据包
- 对ubuntu靶机进行防火墙配置
- 实验2 使用Snort进行入侵检测分析
- 实验3 分析蜜罐防火墙配置规则
- 分析防火墙
- iptables查看
- 获取Snort实际执行参数
- 更新方式
- 用户模式与启动细则
- 实验1 配置Linux操作系统平台上的iptables
- 3.学习中遇到的问题及解决
- 4.实践体会
学号 2025-2026-2 《网络攻防实践》实践X报告
1.实践内容
一、防火墙配置(IP地址仅供参考,以实际为准)
任务要求:配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙,完成如下功能,并进行测试:
(1)过滤ICMP数据包,使得主机不接收Ping包;
(2)只允许特定IP地址,访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址(如Windows攻击机192. 168.200.4)无法访问
二、动手实践:Snort
使用Snort对给定pcap文件(第4章中的解码网络扫描任一个pcap文件,之前的实践已经提供了,请在学习通中下载)进行入侵检测,并对检测出的攻击进行说明。在BT4 Linux攻击机或Windows Attacker攻击机上使用Snort,对给定的pcap文件进行入侵检测,获得报警日志。
Snort运行命令提示如下:
①从离线的pcap文件读取网络日志数据源
②在snort.conf中配置明文输出报警日志文件
③指定报警日志log目录(或缺省log目录=/var/log/snort)
三、分析配置规则
分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。
2.实践过程
实验1
2.1实验要求及目的
(1)配置Linux操作系统平台上的iptables
-
iptables规则列表的显示;
-
过滤ICMP数据包;
-
特定IP地址访问主机;
-
静态包过滤与报文状态检测;
-
SNAT与DNAT机制的实现。
(2)使用Snort进行入侵检测分析 -
对给定pcap文件进行入侵检测,并对检测出的攻击进行说明;
-
对给定的pcap文件进行入侵检测,获得报警日志。
(3)分析配置规则 -
分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则;
-
说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求。
2 实验过程
实验1 配置Linux操作系统平台上的iptables
过滤ICMP数据包
实验环境

| 项目 | 内容 |
|---|---|
| 攻击机 IP | 192.168.200.4 |
| 靶机 IP | 192.168.200. 3 |
| 攻击机网关 | 192.168.200.1 |
首先在查看当前防火墙配置信息在kali中先输入sudo iptables -L查看规则列表

可以看出,此时未添加任何规则
然后使用ubuntu去ping一下kali,出现如下图说明可以ping通

接下来添加规则,输入sudo iptables -A INPUT -p icmp -j DROP( -A 在指定链的末尾添加(append)一条新的规则,#DROP 直接丢弃数据包,不给任何回应信息。),再使用sudo iptables -L查看规则表

可以看到规则添加成功,此时再用ubuntu去ping下kali,kali过滤了ICMP数据包,使主机不接受Ping包:发现已经ping不通了

对ubuntu靶机进行防火墙配置
(只允许特定IP地址,访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址无法访问)
kali正常通过telnet协议访问ubuntu

winattacker正常通过telnet协议访问ubuntu

接下来我们对ubuntu防火墙进行配置,在Meta Linux中键入:sudo iptables -A INPUT -p tcp -s 192.168.200.4 -j ACCEPT。使Meta Linux能够接受kali虚拟机对其的tcp端口访问:



我们可以看到此时winxp已经无法对ubuntu靶机进行telnet远程连接

再看此时 kali依旧可以正常访问靶机,实验成功!(包括telnet和ftp协议)


实验2 使用Snort进行入侵检测分析
对已有的listen.cap进行入侵检测,可以看到检测到的数据包信息;
有UDP、TCP、ARP等,其中主要是TCP命令为 sudo snort -r /etc/snort/listen.pcap -c /etc/snort/snort.lua -A alert_fast -l /var/log/snort (其中-c 表示选择snort配置文件、-r表示从pcap格式文件中读取数据包、-A设置输出模式为alert_fast生成简洁的报警日志,-l指定报警日志的输出目录)







进入报警日志目录,查看日志文件cd /var/log/snort,vim alert,可以看到入侵检测信息,本次攻击是使用nmap发起的。攻击主机的IP地址是172.31.4.178,网络扫描的目标IP地址是172.31.4.188。
实验3 分析蜜罐防火墙配置规则
分析防火墙
查看蜜网网关的防火墙文件内容
在蜜罐中,输入vim /etc/init.d/rc.firewall,后看到如下图片

进入编辑模式,下面可以看见蜜罐网关的防火墙基础规则

| 参数 / 配置项 | 解释 |
|---|---|
| $HwLAN_IFACE | 蜜罐网络对应的物理网卡 |
| $HONEYPOT_PRIV_IP_FOR_NAT | 控制蜜罐内网 IP 是否做 NAT 转换 |
| DHCP OUT REQUEST: | DHCP 请求的日志标记,用于审计 |
| 255.255.255.255 | DHCP 广播地址,用于获取 IP |
| sport 68 / dport 67 | DHCP 客户端 / 服务端端口,保障蜜罐获取 IP |
我们选择create_chains函数作分析
由下图知当开启对应功能开关(如黑名单、白名单、隔离名单)且配置文件存在时,会分别创建BlackList、WhiteList、FenceList三条自定义链,实现模块化的流量管控。
其中FenceList链专门用于隔离蜜罐不应访问的外部 IP,从出站方向限制风险范围,提升蜜网环境的安全性

此外 防火墙代码中的各个函数大义如下
BlackList:存储源地址和目的地址黑名单
WhiteList:源地址和目的地址的白名单
FenceList:源地址和目的地址的防护名单
xxxHandler:供下述policy使用的各种协议对应的Handler链

上图参数可知:当HwFWBLACK变量指定的黑名单文件存在,且HwBWLIST_ENABLE开关设为yes时,系统会先在FORWARD转发链中挂载BlackList自定义链,同时记录加载日志,随后读取黑名单文件中所有非注释的 IP 地址,为每个 IP 添加双向拦截规则(源 IP 为该地址、目的 IP 为该地址的流量全部DROP丢弃),最后在BlackList链末尾添加RETURN规则,让未被拦截的流量回到原调用链继续处理,实现对黑名单 IP 的完全隔离,且拦截过程不额外记录日志。
iptables查看

| 链名 | 默认策略 | 核心规则作用 |
|---|---|---|
| INPUT | DROP | 仅放行同网段 SSH/HTTPS 管理访问,放行已建立连接,拒绝其他所有入站流量 |
| FORWARD | DROP | 放行广播流量,对 eth0 入站新连接分类打日志后放行,实现蜜罐流量审计与转发 |
我们再来看出站规则:OUTPUT配置,采用默认拒绝(DROP)的高安全策略

获取Snort实际执行参数
在终端输入指令,vim /etc/rc.d/init.d/snortd,以查看Snort实际执行参数,可以看到默认使用默认目录下的snort.conf规则,默认监听网卡为eth0,配置文件的位置在/etc/snort/snort.conf。

Snort_inline实际执行参数
打开snort_inline的脚本文件,查看实际执行参数,输入指令vim /etc/init.d/hw-snort_inline,如下图所示,其中-D表示Daemon模式,-c表示读取config文件,-Q表示使用QUEUE模式,-l表示输出log文件的目录,-t表示改变程序执行时所参考的根目录位置。

更新方式
本centos系统中,0~6分别表示关机、单用户模式、无网络连接的多用户命令行模式、有网络连接的多用户命令行模式、不可用、带图形界面的多用户模式、重新启动。
在honeywall终端输入vim /etc/honeywall.conf以查看snort的规则是否自动更新

用户模式与启动细则
可以看出iptables在无网络连接的多用户命令行模式下开始启动,

再键入:chkconfig --list | grep snort

信息如下:
| 服务名 | 各运行级别状态 | 说明 |
|---|---|---|
| hw-snort_inline | 0:off 1:off 2:on 3:on 4:on 5:on 6:off | 蜜网专用的 Snort 内联模式服务:在 2、3、4、5 多用户运行级别(含图形化)默认开机自启,0/1/6 级别关闭,适配蜜网网关的入侵防御场景 |
| snortd | 全级别 off | 标准 Snort 守护进程服务:所有运行级别均关闭自启,未配置开机启动 |
3.学习中遇到的问题及解决
无
4.实践体会
在防火墙配置任务中,我掌握了如何利用iptables或个人防火墙实现对网络流量的精细控制,例如过滤ICMP数据包和限制特定IP地址对服务的访问,这让我明白了防火墙在网络安全中的基础防护作用。另外,通过分析蜜网网关的防火墙配置规则,我进一步理解了如何结合这些技术来捕获攻击数据并控制攻击行为。
这次实践不仅提升了我的技术能力,也让我更加意识到网络安全防护的复杂性和必要性。
