20232937文兆宇 2023-2024-2 《网络攻防实践》实践五报告
1.实践内容
一、防火墙配置,过滤ICMP数据包,使得主机不接收Ping包;只允许特定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文件进行入侵检测,获得报警日志。从离线的pcap文件读取网络日志数据源,在snort.conf中配置明文输出报警日志文件,指定报警日志log目录(或缺省log目录=/var/log/snort)
三、分析配置规则
分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。
2.实践过程
2.1防火墙配置
2.1.1过滤ICMP数据包,使得主机不接收Ping包
关系:ping命令发送数据使用的是ICMP协议。执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
攻击机:kali(192.168.200.3)
靶机:winxpattacker(192.168.200.4)
这里在不开启防火墙的情况下,攻击机和靶机之间是可以相互ping通的
在kali里输入命令,禁止ICMP数据包
iptables -A INPUT -p icmp --icmp-type echo-request -j REJECT
重新执行ping命令,这里可以看见攻击机可以ping通靶机,但是靶机无法ping通攻击机。
2.1.2只允许特定IP地址访问主机的某一网络服务,而其他的IP地址无法访问
引入第二个靶机seedubuntu(192.168.200.1)
在kali上开启阿帕奇服务
service apache2 start
用两个靶机都访问此服务,均可以访问成功
配置iptable表,使winxp可以访问成功,但是ubuntu不能访问成功
下面命令是丢弃所有的80端口包,除了192.168.200.4的80端口包,这样就可以是实现xp的单独访问
iptables -I INPUT -p tcp --dport 80 -j DROP
iptables -I INPUT -p tcp -s 192.168.200.4 --dport 80 -j ACCEPT
对于ubuntu需要清除一下历史记录。
再次访问网站,发现已近不能访问成功了。
2.2动手实践Snort
2.2.1从离线的pcap文件读取网络日志数据源
输入命令
sudo snort -c /etc/snort/snort.conf -r listen.pcap -K ascii
分析结果:
10条报警记录
会话结果和TCP包:
2.2.2在snort.conf中配置明文输出报警日志文件
编辑snort.conf配置文件 在etc/snort下
这里注释掉output这行,然后添加一行
#output alert_unified2: filename snort.alert, limit 128, nostamp
output alert_csv: /var/log/snort/alerts.csv default
2.2.3指定报警日志log目录(或缺省log目录=/var/log/snort)
报警日志在 /var/log/snort下 在这里可以查看扫描的结果
比如查看172.31.4.178下的内容
这里可以发现是snmp的扫描结果
其它的还可以查看告警日志如下:
2.3分析配置规则
打开roo靶机
先提权 pass:honey
su -
查看防火墙文件
vim /etc/init.d/rc.firewall
可以看到黑名单(BlackList)、白名单(WhiteList)和保护名单(FenceList)的规则链。
输入iptables -L查看规则列表
iptables -L
查看snort包含实际运行的参数的脚本文件
vim /etc/init.d/snortd
查看snort_inline包含实际执行的参数的脚本文件
vim /etc/init.d/hw-snort_inline
查看Snort规则是如何自动升级
vim /etc/honeywall.conf
查看防火墙、NIDS、NIPS是如何启动
chkconfig --list | grep iptable,chkconfig --list | grep snort
3.学习中遇到的问题及解决
- 问题1:seed靶机链接不上网络
- 问题1解决方案:重新配置该虚拟机的ip地址,并重启,可以成功连接到网络
4.实践总结
通过这次实验,我学习到了防火墙是如何配置的,这让我在内网环境中可以更灵活的配置网络,还学习到了snort工具的使用,它可以帮助我分析一些流量文件,进行入侵检测,并且关于snort的配置和查询log日志也更加的了解,对于分析配置规则,我下学习了蜜网网关的防火墙和ids配置规则,让我受益匪浅,在以后的学习生活中,我会更具努力学习,利用这些内容让世界更安全。