20232820 2023-2024-2 《网络攻防实践》实践五报告
1.实践内容
一、防火墙配置(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文件进行入侵检测,获得报警日志。
三、分析配置规则
分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。
2.实践过程
1、防火墙配置
名称 | IP |
---|---|
kali | 192.168.200.7 |
seed lab | 192.168.200.2 |
Metasploitable_ubuntu | 192.168.200.123 |
在虚拟机Ubuntu(192.168.200.2)中ping Kali Linux(192.168.200.7),此时可以ping通
(1)过滤ICMP数据包,使得主机不接收Ping包
在Kali中输入命令 iptables -L,查看默认规则
在Kali中执行 iptables -A INPUT -p icmp -j DROP 命令,使主机不接收ICMP包
再次通过iptables -L,查看规则,发现多了icmp针对任何位置不允许访问的规则
此时回到Ubuntu中尝试ping Kali,发现无法ping通
在Kali中执行命令 iptables -D INPUT -p icmp -j DROP,除去刚才的过滤规则
通过命令 iptables -L 查看规则,发现已经删除
此时再回到Ubuntu中,可以ping通Kali
(2)只允许特定IP地址,访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址无法访问
查看metasploitable的ip地址,为192.168.200.123。
此时,kali和windows两台虚拟机都能用telnet命令访问metasploitable
在metasploitable中输入iptables -P INPUT DROP来禁止所有输入数据包
无法访问metasploitable
回到metasploitable通过命令iptables -A INPUT -p tcp -s 192.168.200.7 -j ACCEPT来开启kali虚拟机tcp服务,可以使用iptables -L查看
此时kali虚拟机能够使用telnet命令进行访问而windows虚拟机无法访问
2.动手实践 Snort
在seedlab中使用命令 snort -r /home/seed/Downloads/listen.pcap -c /etc/snort/snort.conf -K ascii 对之前实验中的listen.pacp进行入侵检测 (-c 表示选择snort配置文件,-r 表示从pcap格式的文件中读取数据包,-K ascii 用于指定输出日志文件为ASCII编码查看被检测到的数据包中,可以看到大部分为TCP会话
报警数据 Alerts为10条
数据流统计如图
此时snort在默认目录生成一个日志文件,进入报警日志目录 cd /var/log/snort
vim alert查看日志文件。可以发现源ip为172.31.4.178,目的ip为172.31.4.188等相关信息。
3.分析配置规则Snort
查看防火墙配置的命令 vim /etc/init.d/rc.firewall
可以看到黑名单、白名单和防护名单三个链(对于黑名单的主机:丢弃所有包,对于白名单的主机:接受并不记录,对于防护名单的主机:禁止其访问某些不希望被访问到的主机)
使用命令iptables -t filter -L | more来查看规则列表。
使用命令vim /etc/init.d/snortd打开Snort脚本文件,看到它是默认使用默认目录下的snort规则,监听网卡为eth0,默认储存路径为/var/log/snort
使用命令vim /etc/init.d/hw-snort_inline ,打开snort_inline的脚本文件查看实际执行参数
各参数定义为:
-c表示读取config文件
-D表示Daemon模式
-Q表示使用QUEUE模式
-l表示输出log文件的目录
-t表示改变程序执行时所参考的根目录位置
使用命令chkconfig --list | grep iptables和chkconfig --list | grep snort可以看到查询的服务是否开启,0~6分别表示关机、单用户模式、无网络连接的多用户命令行模式、有网络连接的多用户命令行模式、不可用、带图形界面的多用户模式、重新启动
使用命令vim /etc/honeywall.conf打开honeywall配置文件
3.学习中遇到的问题及解决
- 问题:在metasploitable中无法通过iptables命令断开服务。
- 问题解决方案:通过进入root模式解决问题。
4.实践总结
在本次实验过程中,学习了Windows和Linux操作系统下防火墙的相关配置方法,包括如何设置防火墙规则、开放或关闭端口等操作。同时,还深入了解了snort入侵检测系统的原理和使用方法,学会了如何分析snort检测到的网络流量和安全事件,进一步提升了对网络安全的认识和应对能力。