20242942 2024-2025-2 《网络攻防实践》实验五
1.实践内容
- 防火墙配置(iptables)
- 掌握防火墙规则配置方法,过滤特定协议(ICMP)数据包,实现禁Ping功能
- 学习基于IP地址的访问控制规则配置,仅允许指定IP访问特定服务(HTTP)
- 熟悉网络服务端口与协议对应关系,理解白名单策略实现原理
- Snort入侵检测实践
- 掌握Snort离线检测命令使用,从pcap文件读取数据、配置报警日志输出及指定日志目录
- 理解Snort规则语法及配置文件的修改方法,分析报警日志中的攻击类型
- 蜜网网关技术分析
- 理解防火墙与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
查看规则,发现都是默认规则。
2. 通过指令iptables -A INPUT -p icmp -j DROP
指令使得主机不接受icmp的数据包。
3. 此时通过Kali ping
seed,发现ping
不通(之前我先ping了一下seed 可以ping得通)
在seed中可以查看规则,发现多了一条icmp针对任何位置(anywhere)不允许访问的规则。
4. 最后使用iptables -F
删除自定义规则。至此过滤ICMP数据包实践完成
2.1.2 只允许特定IP地址访问主机的某一网络服务,而其他的IP地址无法访问
在这里我重新配置了一下网络,我网络又出现问题了,按照实验一的方法,重新配置一遍了。
kali192.168.200.3 Seed ip192.168.200.2 Win2k ip192.168.200.4
这里我开启Apache来验证实验,使用命令service apache2 start
,打开简易的http服务
在Win2k浏览器中输入http://192.168.200.3/
在seed浏览器中输入http://192.168.200.3/
开启后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
刷新后发现只有Win2k能访问Apache
刷新后发现只有seed不能访问Apache
**2.2 动手实践:Snort
Kali之前的实验安装过snort了,使用命令snort -c /etc/snort/snort.lua -r ./listen.pcap -l /var/log/snort -A fast
查看输出的报警文件cat /var/log/snort/alert_fast.txt 查看报警日志,可以看到是172.31.4.178对172.31.4.188发起
可以发现是Nmap发起的扫描。
2.3分析配置规则
打开蜜罐honeywall,提权后输入指令vim /etc/init.d/rc.firewall
再用iptables -L
查看规则列表
再用命令vim /etc/init.d/snortd
可以看到监听网卡和存储配置文件的路径
使用vim /etc/init.d/hw-snort_inline
可以看到Snort_inline运行时的各种参数
使用chkconfig --list|grep snort
可以查询服务,这里可以看到snortd 0-6都是off关闭,但是hw-snort_inline是部分开启的(2、3、4、5开启)
3.学习中遇到的问题及解决
问题1:kali又又又连不上网了!!!!
解决方案:重新配置网络也不行,重启,换网都不行,简直崩溃,最后重新安装一下kali 设置一下桥接模式(用于连上网做后续实验)终于解决这个问题了。
问题2:snort输出不了报警文件
解决方案:报警文件需要进去配置,vim snort.lua后按下面修改配置参数即可解决
cat /var/log/snort/alert_fast.txt(deepseek挺有帮助)
问题3:原来的listen.pcap损坏???
解决方案:用指令 wget https://wiki.wireshark.org/SampleCaptures/ -O /etc/snort/listen.pcap 或者是其他的listen.pcap文件也行,在本实验中我用的还是老师在学习通上提供的listen.pcap。
下载过后是这个样子,后来在做实验的时候记得改名 listen.pcap !!!
4.实践总结
这次的实验对我个人来说感觉到难,原因不在于实验本身,而是网络的配置跟命令的使用等,再开始的时候一切顺利,当kali连不上网,telent也出问题的时候,简直崩溃,本来早就完成的任务拖到了现在,收货是要多看,多问,多找,学会用deepseek等人工智能来解决现有的问题,此次的实验也让我实践了iptables相关命令,实现防火墙的部分效果,更加深入理解了安全规则和具体命令实现,理解了蜜网网关如何捕获攻击,我的动手实践能力提升了,让我在面对问题的时候要有耐心!!!慢慢去分析结果。