当前位置: 首页 > news >正文

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

目录
  • 学号 2025-2026-2 《网络攻防实践》实践X报告
    • 1.实践内容
    • 2.实践过程
    • 2 实验过程
      • 实验1 配置Linux操作系统平台上的iptables
        • 过滤ICMP数据包
        • 对ubuntu靶机进行防火墙配置
      • 实验2 使用Snort进行入侵检测分析
      • 实验3 分析蜜罐防火墙配置规则
        • 分析防火墙
        • iptables查看
        • 获取Snort实际执行参数
        • 更新方式
        • 用户模式与启动细则
    • 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指定报警日志的输出目录)

image
image
image
image
image
image
image

进入报警日志目录,查看日志文件cd /var/log/snort,vim alert,可以看到入侵检测信息,本次攻击是使用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

更新方式

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

用户模式与启动细则

可以看出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.学习中遇到的问题及解决

4.实践体会

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

http://www.jsqmd.com/news/646318/

相关文章:

  • XCOM 2模组管理终极指南:5个技巧让你轻松管理上百个模组
  • 终极HiveWE魔兽争霸III地图编辑器:如何快速创建专业级游戏地图
  • P15810 [JOI 2013 Final] 冒泡排序 / Bubble Sort
  • 大模型监控告警体系落地难?揭秘头部AI平台已验证的8层防御架构(含视觉-语音-文本联合异常评分模型)
  • 【全球仅12家机构获准接入】:2026奇点大会3D视觉大模型API白名单机制详解及企业级调用权限申请全路径
  • Dify使用大模型的时候,如何可以节省token
  • OpenCV 4.5.1+ 加载 ONNX 模型实战:从 PyTorch 导出到 C++/Python 推理全流程
  • Python玩转4G模组:EC600 QuecPython从AT指令到Socket编程的进化之路
  • 2026浙江成考机构实力排行榜:Top5深度测评,帮你避开选机构的“坑” - 商业科技观察
  • 从零到一:在uni-app中构建低功耗蓝牙设备通信全流程(微信小程序通用)
  • 别再硬算相位差了!用COMSOL 6.2的‘参数化扫描’玩转超声相控阵动态聚焦
  • 别再只看简历和学校了!那些靠刷题进来的“AI高手”,入职后有多难用
  • 告别虚拟机:用WSL2+Docker高效交叉编译OpenCV for 龙芯久久派(附完整镜像)
  • 用MATLAB/Simulink手把手教你实现一个简单的容错控制器(附LMI工具箱求解代码)
  • LeetCode 167. Two Sum II - Input Array Is Sorted 题解
  • 部分设计用例(了解),编写测试用例方法
  • 多模态鲁棒性不达标?立即启用这6种轻量级即插即用模块(附PyTorch 2.3兼容代码)
  • 成人智能体测仪市场剖析:2026 - 2032年复合年均增长率(CAGR)为6.0%
  • 告别手动调参!用AutoAugment自动搜索数据增强策略,让你的PyTorch模型精度再涨几个点
  • MWORKS.Sysplorer代码生成实战:永磁同步电机控制算法从模型到嵌入式部署
  • 不止于最短路径:Dijkstra那些被写进教科书却鲜为人知的概念(Stack、Semaphore、Deadlock)
  • 避开SpringSecurity多表登录的3个大坑:我的MyBatis-Plus整合血泪史
  • 智慧养老|基于springboot + vue智慧养老管理系统(源码+数据库+文档)
  • 代码分支管理规范
  • ESP-CSI:三步让普通路由器变身智能传感器的终极指南
  • 树莓派 4B 摄像头驱动优化与 Yocto 集成实战指南
  • JAVA-SSM学习6 MyBatisPlus-整合SpringBoot
  • Beyond Compare 5 永久激活终极指南:免费获取完整授权密钥的完整教程
  • LeetCode 217. Contains Duplicate 题解
  • 多模态大模型临床验证真相(仅限2024Q2最新NCCN/ESMO双指南采纳数据)