20251909 2025-2026-2 《网络攻防实践》实验五

1.实践内容

一、防火墙配置
任务要求:配置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地址访问主机;
  • 静态包过滤与报文状态检测;

(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地址无法访问)
ubuntu靶机ip:192.168.200.123

kali正常通过telnet协议访问ubuntu

winattacker正常通过telnet协议访问ubuntu

接下来我们对ubuntu防火墙进行配置,

1.在Meta Linux中键入:sudo iptables -A INPUT -p tcp -s 192.168.200.4 -j ACCEPT。使Meta Linux能够接受kali虚拟机对其的tcp端口访问
2.在Meta Linux中键入:sudo iptables -A INPUT -j DROP。使Meta Linux能够拒绝所有所有主机访问。(1 2语句顺序不可颠倒 因为iptables明确自上而下执行!!!):
image

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

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

实验2 使用Snort进行入侵检测分析

对已有的listen.cap进行入侵检测,命令为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指定报警日志的输出目录)

image
可以看到检测到的数据包信息;
有UDP、TCP、ARP等,其中主要是TCP

统计项 数值 解读
总处理包数 135580 完整分析了 pcap 文件中的全部 135580 个数据包,无遗漏
丢弃包数 45(占比 0.033%) 仅 45 个包因格式问题被丢弃,分析完整性极高
协议占比 TCP 占 99.950%,IPv4 占 99.985% 流量以 IPv4 TCP 为主,几乎无 UDP / 其他协议流量,符合针对 TCP 服务(如 FTP)的攻击特征
ARP 包数 20 对应第一张图中的arp_spoof告警,说明同时存在 ARP 欺骗攻击行为

image
image
image
下图,Nmap XMAS 扫描:通过设置 FIN、URG、PSH 三个标志位,探测目标端口是否开放(开放端口会无响应,关闭端口会返回 RST 包),是典型的端口扫描技术
image
image

image
image

综上,可以看到入侵检测信息,本次攻击是使用nmap发起的。攻击主机的IP地址是172.31.4.178,网络扫描的目标IP地址是172.31.4.188。

实验3 分析蜜罐防火墙配置规则

分析防火墙

查看蜜网网关的防火墙文件内容
在蜜罐中,输入vim /etc/init.d/rc.firewall,后看到如下图片
image
进入编辑模式,下面可以看见蜜罐网关的防火墙基础规则
image

参数 / 配置项 解释
$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,从出站方向限制风险范围,提升蜜网环境的安全性
image

此外 防火墙代码中的各个函数大义如下

BlackList:存储源地址和目的地址黑名单
WhiteList:源地址和目的地址的白名单
FenceList:源地址和目的地址的防护名单
xxxHandler:供下述policy使用的各种协议对应的Handler链

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

iptables查看

image

链名 默认策略 核心规则作用
INPUT DROP 仅放行同网段 SSH/HTTPS 管理访问,放行已建立连接,拒绝其他所有入站流量
FORWARD DROP 放行广播流量,对 eth0 入站新连接分类打日志后放行,实现蜜罐流量审计与转发

我们再来看出站规则:OUTPUT配置,采用默认拒绝(DROP)的高安全策略
image

获取Snort实际执行参数

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

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

image

更新方式

在honeywall终端输入vim /etc/honeywall.conf以查看snort的规则是否自动更新
image

用户模式与启动细则

本centos系统中,0~6分别表示关机、单用户模式、无网络连接的多用户命令行模式、有网络连接的多用户命令行模式、不可用、带图形界面的多用户模式、重新启动
可以看出iptables在无网络连接的多用户命令行模式下开始启动,
image

再键入:chkconfig --list | grep snort
image
信息如下:

服务名 各运行级别状态 说明
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.学习中遇到的问题及解决

一、问题:无法导出生成的日志文件
问题解决:
询问豆包后,对lua配置文件做如下修改即可输出日志文件!
image

4.实践体会

在防火墙配置任务中,我掌握了如何利用iptables或个人防火墙实现对网络流量的精细控制,例如过滤ICMP数据包和限制特定IP地址对服务的访问,这让我明白了防火墙在网络安全中的基础防护作用。另外,通过分析蜜网网关的防火墙配置规则,我进一步理解了如何结合这些技术来捕获攻击数据并控制攻击行为。
这次实践不仅提升了我的技术能力,也让我更加意识到网络安全防护的复杂性和必要性。

posted @ 2026-04-15 19:25  施为乐  阅读(27)  评论(0)    收藏  举报