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

1.实践内容

  1. 防火墙配置(iptables)
  • 掌握防火墙规则配置方法,过滤特定协议(ICMP)数据包,实现禁Ping功能
  • 学习基于IP地址的访问控制规则配置,仅允许指定IP访问特定服务(HTTP)
  • 熟悉网络服务端口与协议对应关系,理解白名单策略实现原理
  1. Snort入侵检测实践
  • 掌握Snort离线检测命令使用,从pcap文件读取数据、配置报警日志输出及指定日志目录
  • 理解Snort规则语法及配置文件的修改方法,分析报警日志中的攻击类型
  1. 蜜网网关技术分析
  • 理解防火墙与IDS/IPS协同工作原理,掌握蜜网如何通过防火墙规则
  • 理解利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求

2.实践过程

2.1 防火墙配置

**2.1.1 过滤ICMP数据包,使得主机不接收Ping*包

实验所用的虚拟机ip,kali为192.168.19.130,Seed为192.168.19.128,WinXP为192.168.19.131(实验四中已给出,这里不再赘述)

在seed中,先查看当前规则条目,使用命令iptables -L

1. 首先在seed上通过iptables -L查看规则,发现都是默认规则。

3267dec870a91f9fb85db8660d6102cf

2. 通过指令iptables -A INPUT -p icmp -j DROP指令使得主机不接受icmp的数据包。

e3ef7165be3450aeeddc46689c81d906

3. 此时通过Kali pingseed,发现ping不通(之前我先ping了一下seed 可以ping得通)

3f29cd7cddfd7d0ef30e9dcc1260fd50

在seed中可以查看规则,发现多了一条icmp针对任何位置(anywhere)不允许访问的规则。

d56dcd91c520a0ea75670b3cef910324

4. 最后使用iptables -F删除自定义规则。至此过滤ICMP数据包实践完成

cde1c3aced3ebbcae8e131ca23d0827a

2.1.2 只允许特定IP地址访问主机的某一网络服务,而其他的IP地址无法访问

在这里我重新配置了一下网络,我网络又出现问题了,按照实验一的方法,重新配置一遍了。

kali192.168.200.3 Seed ip192.168.200.2 Win2k ip192.168.200.4

这里我开启Apache来验证实验,使用命令service apache2 start,打开简易的http服务

772774d0b174c9f067c845f315a0d15f

在Win2k浏览器中输入http://192.168.200.3/

c8ea2d9a534d7072cb29a66d71718f4d

在seed浏览器中输入http://192.168.200.3/

478440cd1546c161db43d6bf3ee0b10d

开启后seed和Winxp都能访问kali

再使用命令只让WinXP访问kali,对应ip为192.168.200.4

iptables -I INPUT -p tcp --dport 80 -j DROP` `iptables -I INPUT -p tcp -s 192.168.200.4 --dport 80 -j ACCEPT

1d527c5774c2c2db8b72aa3cb8b1cdcb

刷新后发现只有Win2k能访问Apache

94a15d299b53178347b82d0d174205e0

刷新后发现只有seed不能访问Apache

351ec4c3779d3b9337f1f8c30571f555

**2.2 动手实践:Snort

Kali之前的实验安装过snort了,使用命令snort -c /etc/snort/snort.lua -r ./listen.pcap -l /var/log/snort -A fast

5565c9c3d71055dc6155f7e06b7774a5

9b9b7aed620f16a9871e6424418433c9

b1ef3e992e7ae6d448a097c6b0993324

查看输出的报警文件cat /var/log/snort/alert_fast.txt 查看报警日志,可以看到是172.31.4.178对172.31.4.188发起

可以发现是Nmap发起的扫描。

70c534c2b6dfb519126999b5bf24a6db

2.3分析配置规则

打开蜜罐honeywall,提权后输入指令vim /etc/init.d/rc.firewall

810d51774d8ff9620b58ea0d17d3ef22

再用iptables -L查看规则列表

93dbd0a868a38a09537a5393ff508913

再用命令vim /etc/init.d/snortd可以看到监听网卡和存储配置文件的路径

0f0cb9f18a16fbddc1cdcd9ea818ffca

da06ca4e5e82220fced3bfab478835ab

使用vim /etc/init.d/hw-snort_inline可以看到Snort_inline运行时的各种参数

4a147a092e53bb8acc5343208d41ed18

使用chkconfig --list|grep snort可以查询服务,这里可以看到snortd 0-6都是off关闭,但是hw-snort_inline是部分开启的(2、3、4、5开启)

31f93a36c556a6b7fc1e074f64987ccd

3.学习中遇到的问题及解决

问题1:kali又又又连不上网了!!!!

解决方案:重新配置网络也不行,重启,换网都不行,简直崩溃,最后重新安装一下kali 设置一下桥接模式(用于连上网做后续实验)终于解决这个问题了。

问题2:snort输出不了报警文件

解决方案:报警文件需要进去配置,vim snort.lua后按下面修改配置参数即可解决

cat /var/log/snort/alert_fast.txt(deepseek挺有帮助)

de0588c5e68113b1bf01829d53aa328d

9a57a92502919cfcc55cfb51799044ac

问题3:原来的listen.pcap损坏???

解决方案:用指令 wget https://wiki.wireshark.org/SampleCaptures/ -O /etc/snort/listen.pcap 或者是其他的listen.pcap文件也行,在本实验中我用的还是老师在学习通上提供的listen.pcap。

下载过后是这个样子,后来在做实验的时候记得改名 listen.pcap !!!

7ea9a7d466c1530d35b7924beae26300

4.实践总结

这次的实验对我个人来说感觉到难,原因不在于实验本身,而是网络的配置跟命令的使用等,再开始的时候一切顺利,当kali连不上网,telent也出问题的时候,简直崩溃,本来早就完成的任务拖到了现在,收货是要多看,多问,多找,学会用deepseek等人工智能来解决现有的问题,此次的实验也让我实践了iptables相关命令,实现防火墙的部分效果,更加深入理解了安全规则和具体命令实现,理解了蜜网网关如何捕获攻击,我的动手实践能力提升了,让我在面对问题的时候要有耐心!!!慢慢去分析结果。

posted @ 2025-04-02 08:07  washiyoone  阅读(51)  评论(0)    收藏  举报