一、实践内容
(1)配置Linux操作系统平台上的iptables,完成过滤ICMP数据包和特定IP地址访问主机等功能;
(2)使用Snort对pcap文件进行入侵检测,获得并分析报警日志;
(3)了解分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则。
二、实践过程
2.1 防火墙的配置
2.1.1 在Linux中使用iptables配置防火墙
(1)iptables指令的使用
在Linux靶机中,用sudo su切换到root,运行命令iptables -L,查看防火墙的配置情况。
可见,Linux靶机没有任何的防火墙措施。
在Kali Linux攻击机中ping一下这个靶机,能够正常ping通。
在Linux靶机中添加过滤icmp数据包的规则。
iptables -I INPUT -p icmp -j REJECT
再次查看防火墙的配置。
可以看到多出了一条规则。
用Kali Linux攻击机再次尝试ping一下Linux靶机,发现不能ping通了。
但是Telnet可通。
在Linux靶机中运行命令iptables -D INPUT 1,删除这条规则。再次查看防火墙的配置,发现没有这条规则了。
删除后重新Ping通了。
(2)使用iptables限制IP地址访问端口
在Kali Linux攻击机和WinXP攻击机的浏览器中访问192.168.200.123:80,发现它们都能访问。
在Linux靶机中运行指令:iptables -I INPUT -p tcp --dport 80 -j REJECT
在Kali Linux和WinXP攻击机中刷新该网页,发现不能连通。
在Linux靶机中运行命令:iptables -I INPUT -s 192.168.200.3 -p tcp --dport 80 -j ACCEPT,让WinXP攻击机能够访问Linux靶机的HTTP。
发现WinXP攻击机能够正常访问,而Kali Linux攻击机不能正常访问。
2.2 动手实践:Snort
本实验需要用到实践三中的listen.pcap文件。在listen.pcap所在的文件夹下打开终端输入并运行指令sudo snort -r listen.pcap -c /etc/snort/snort.conf -K ascii -A full 。
① -c:表示选择snort配置文件
② -r:表示从pcap格式的文件中读取数据包
③ -K:ascii是用来指定输出日志文件的为ASCII编码
过一段时间后,snort按照snort.conf的配置检测完成,检测得到如下图所示的数据包。
此时snort会在默认目录生成一个日志文件,进入报警日志目录cd /var/log/snort, 查看日志文件vim alert,报警数据包有10条,均被日志记录,所有数据包都裁决允许。
2.3 分析蜜网网关的配置规则
通常数据控制包括两个方面,一个是防火墙对数据的控制,还有一个是IPS对异常数据的限制。
具体分析配置规则与启动项文件包括:
防火墙(nefilter+IlPTables) : /etc/init.d/rc.firewall
入侵检测系统(Snort) : /etc/init.d/hflow_snort 与/etc/snort/snort.conf
入侵防御系统(Snort_ inline) : /etc/init./hflow-snort. inline 与/etc/snot._inline/snort_inline.conf。
看一下其防火墙的文件vim /etc/init.d/rc.firewall。
大致看一下文件,比如创建了三个链,分别是黑名单、白名单、防护名单(FenceList)。
关于数据捕获,无论是源ip/端口,目的ip/端口还是进行连接的协议,都能够通过记录日志的形式来捕获网络连接信息。
通过指令“iptables -t filter -L”来查看规则列表。通过shift键+Fn键+上下键来翻页。可以看到一些规则如OUTPUT、INPUT、FORWARD都已经被关闭了。
执行命令“vim /etc/init.d/snortd”,snortd是snort启动的脚本文件,snort.conf是具体预警的规则设定,分析下图,默认使用snort.conf规则,默认监听网卡为eth0,默认存储日志路径为/var/log/snort等等。
执行命令“vim /etc/init.d/hw-snort_inline”打开snort_inline脚本
这里能够看到一些默认信息
通过指令“chkconfig --list | grep [服务]”来查询当前服务是不是开启的。
chkconfig命令若0-6全部为off,则不自动启动。
在/etc目录下使用命令“vim honeywall.conf”打开honeywall配置文件,这个里面可以看到子网掩码等等信息。
3.学习中遇到的问题及解决
问题:kali网络连接不上,ping不通其他机器。
解决方案:将虚拟网络编辑器恢复默认设置,重新配置一遍网络。
4.实践总结
本次实验中,我学会使用Windows的防火墙和linux的iptables的配置。对ICMP数据包有了进一步的认识。 通过防火墙和入侵检测,可以获取攻击者的攻击行为。防火墙和入侵检测有助于防御者采取针对性的防御措施,以最小的成本应对最大程度的威胁。此外,我掌握了蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。蜜网网关拥有较为完善的防御机制,通过使用没有任何防御措施的蜜罐主机,诱导攻击者进入“圈套”。防御者通过观察攻击者对蜜罐主机的攻击,可以总结出攻击者的攻击手段和方法。