20242938 2024-2025-2 《网络攻防实践》第五周作业

实践内容

一、防火墙配置(IP地址仅供参考,以实际为准)
任务要求:配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙,完成如下功能,并进行测试:
(1)过滤ICMP数据包,使得主机不接收Ping包;
(2)只允许特定IP地址(如局域网中的Linux攻击机192.168.200.3),访问主机的某一网络服务(如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配置规则,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。

实践过程

准备工作

首先测试连通性,本次实验使用到如下设备:

镜像名称 镜像类型 IP地址
Kali_linux_attacker Liunx攻击机 192.168.200.4
seed_ubuntu_attacker Linux攻击机/靶机 192.168.200.5
WinXP_attacker Windows攻击机 192.168.200.3




都能ping通,没问题

一、防火墙配置

(1)过滤ICMP数据包,使得主机不接收Ping包

检查一下iptables装了没,是装了的

输入sudo iptables -L,检查防火墙信息

在每条链(INPUT/FORWARD/OUTPUT)下方没有显示具体规则,表示当前没有配置任何自定义规则
输入sudo iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

  1. -A INPUT

    • -A 表示 追加(Append) 规则到指定链(chain)的末尾。
    • INPUT 链处理所有进入本机的数据包(入站流量)。
  2. -p icmp

    • -p 指定协议(protocol),这里是 ICMP 协议(用于 Ping 和网络诊断)。
  3. --icmp-type echo-request

    • 进一步匹配 ICMP 类型为 echo-request(即 Ping 请求包)。
    • 当其他机器对你的主机执行 ping 命令时,发出的就是这种包。
  4. -j DROP

    • -j 指定动作(jump),这里是 丢弃(DROP) 匹配的数据包。
    • 直接丢弃,不回复任何信息(对方会看到超时无响应)。

攻击机测试一下可不可以ping的通:
windows这边显示请求超时

kali这边等了好几分钟也没动静,应该是ping不通了。命令好使的!

(2)只允许特定IP地址,访问主机的某一网络服务

输入sudo iptables -I INPUT -p icmp -s 192.168.200.4 --icmp-type echo-request -j ACCEPT
使得kali攻击机可以访问,而其他的ip地址不能访问

kali这边ping通了

XP这边还是不行,命令好使的!

二、动手实践:Snort

检查一下snort是否已经安装,安装了。

输入sudo snort -r '/home/kali/Desktop/listen.pcap' -c /etc/snort/snort.conf -l /var/log/snort/
-r:读取PCAP文件。-c:指定配置文件。-l:日志输出目录。

去日志输出目录一看什么都没有,deepseek说通常是由于规则未匹配到任何攻击流量日志输出配置问题导致的
我们需要更改一下snort的配置文件,使得其可以生成日志文件。输入sudo nano /etc/snort/snort.lua
找到alert_fast={}并修改为:alert_fast = { file = true, limit = 64 },保存退出。
再输入snort -c /etc/snort/snort.lua -r '/home/kali/Desktop/listen.pcap' -l /var/log/snort/
会在/var/log/snort/目录下生成日志文件,日志内容如图所示:

(三)分析配置规则

打开Honeywall输入vim /etc/init.d/rc.firewall往下翻可以看到防火墙相关信息:

create_chains 函数定义了程序中的核心规则,包括:
BlackList:存储源/目的地址的黑名单,用于屏蔽恶意流量。
WhiteList:存储源/目的地址的白名单,确保特定流量的正常通过。
FenceList:存储受保护的源/目的地址,用于安全防护策略。
xxxHandler:用于不同协议的 policy 规则处理,确保针对各类流量的精确控制。

输入iptables -L查看防火墙信息



1. INPUT 链(入站流量)

  • 默认策略:DROP,表示默认情况下所有入站流量都被丢弃,除非有明确的规则允许它通过。
  • 允许从 192.168.200.0/25 进入 SSH(端口 22)和 HTTPS(端口 443)
  • 允许已建立和相关的连接(RELATED, ESTABLISHED),确保合法的会话可以继续。

2. FORWARD 链(转发流量)

  • 默认策略:DROP,意味着默认情况下不允许任何数据包被转发。
  • 允许特定目标 IP 192.168.200.127 的流量,可能是蜜网中一个关键的诱饵主机。
  • 日志记录(LOG 规则)
    • 记录新建的 TCP、UDP 和 ICMP 连接,目的是监视可能的攻击行为。
  • DROP UDP 到 roo-test.localdomain,可能用于阻止某些广播或特定主机的流量。

3. OUTPUT 链(出站流量)

  • 默认策略:DROP,限制蜜网主机向外部发送数据,避免蜜网被攻击者利用。
  • 允许 SSH、SMTP(端口 25)、DNS、HTTP、HTTPS 等常见协议的出站流量
  • 允许 RELATED, ESTABLISHED 连接继续进行,确保已经建立的合法会话不被阻断。
  1. 蜜网的监控重点 主要集中在:
    • 记录新建的 TCP/UDP/ICMP 连接,分析攻击者行为。
    • 保护蜜网内部的 192.168.200.127 主机。
    • 控制蜜网主机的出站连接,避免被攻击者用于进一步渗透其他系统。

输入vim /etc/init.d/snortd

当$BINARY_LOG设置为"1"时,添加-b参数启用二进制日志,默认使用/etc/snort/snort.conf配置文件,默认监听eth0接口。

默认日志目录为/var/log/snort,默认系统日志位置为/var/log/messages,默认统计间隔为5秒。

输入chkconfig --list | grep [服务]

输入vim /etc/init.d/hw-snort_inline

蜜网网关通过 防火墙(流量重定向、黑白名单、伪装)和 IDS/IPS(攻击检测、日志分析、自动响应)协同工作,实现攻击数据捕获和控制。它不仅能引诱、监测和记录攻击,还能根据攻击情况进行策略调整,为安全研究和攻防演练提供有价值的数据支撑。

学习中遇到的问题及解决

  1. 在做第二个实验时,无法生成日志文件,原因是snort3所使用的配置文件和之前的版本不一样,修改相应配置文件的内容后得到解决。
  2. 通过输入命令行得到的信息纷繁复杂,可以进一步完善命令,或者更深刻的理解呈现信息的意义。
posted @ 2025-04-02 22:13  别来无恙。。  阅读(31)  评论(0)    收藏  举报