54
社区成员
发帖
与我相关
我的任务
分享一、防火墙的配置,包括对数据包的配置和限定IP地址的访问。
二、运用Snort进行入侵检测。
三、分析蜜网网关的防火墙和IDS/IPS配置规则。
实验环境
| 虚拟机 | IP |
|---|---|
| Kali2023 (A) | 192.168.200.3 |
| SEED (B) | 192.168.200.7 |
| WinXP (C) | 192.168.200.6 |
| Honey (D) | 192.168.200.8 |
任务要求:配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙,完成如下功能,并进行测试:
(1)过滤ICMP数据包,使得主机不接收Ping包;
(2)只允许特定IP地址(如局域网中的Linux攻击机192.168.200.3),访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址(如Windows攻击机192. 168.200.4)无法访问。
(1)过滤ICMP数据包,使得主机不接收Ping包
首先在主机B上,首先使用命令iptables -V,如果显示出版本号表示已经安装,如果没有,运行apt-get install iptables。
运行命令iptables -L,查看防火墙的配置情况。
可见,主机B没有任何的防火墙措施。
在Kali 攻击机中ping一下主机B,能够正常ping通。
接着使用命令sudo iptables -A INPUT -p icmp -j DROP添加规则,再次使用sudo iptables -L查看当前防火墙配置信息,添加成功。
在主机A上,使用命令ping 192.168.200.7,发现不通。
在主机B上,使用命令iptables -F删除自定义规则,在主机A上,再次使用命令ping 192.168.200.7,发现ping通了。
(2)使用iptables限制IP地址访问端口
开启主机B的telnet服务:service openbsd-inetd start
分别测试主机B和主机C是否可以进行telnet登录主机A。
telnet 192.168.200.7(其中用户名:seed,密码:dees)
在主机B使用 sudo iptables -P INPUT DROP指令拒绝一切的数据包流入(修改的是默认规则-P)。
此时发现两台机器都无法进行telnet访问。
在主机B上使用指令 sudo iptables -A INPUT -p tcp -s 192.168.200.3 -j ACCEPT开启主机A对主机B的tcp服务。
这时发现主机A是可以正常访问telnet服务的,但是主机C是无法访问的。
最后执行iptables -F删除自定义规则,iptables -P INPUT ACCEPT把没有规定的数据包都接收,恢复之前的状态。
使用Snort对给定pcap文件进行入侵检测,并对检测出的攻击进行说明。在BT4 Linux攻击机或Windows Attacker攻击机上使用Snort,对给定的pcap文件进行入侵检测,获得报警日志。
Snort运行命令提示如下:
①从离线的pcap文件读取网络日志数据源。
②在snort.conf中配置明文输出报警日志文件。
③指定报警日志log目录(或缺省log目录=/var/log/snort)。
使用之前实验的listen.pcap,利用指令snort -r /home/lxh/down/listen.pcap -c /etc/snort/snort.conf -K ascii,对listen.pacp进行入侵检测。
查看输出里检测出的数据包,可以看到大部分数据流为tcp会话,少部分为ARP包报警数据包有10条,均被日志记录,所有数据包都裁决允许。
此时snort会在默认目录生成一个日志文件,进入报警日志目录cd /var/log/snort, 查看日志文件,记录了报警数据10条的入侵检测信息,可以发现本次攻击是使用nmap发起的。攻击主机的IP地址是172.31.4.178,网络扫描的目标IP地址是172.31.4.188。
分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。
使用vim /etc/init.d/rc.firewall查看防火墙的文件,可看到create_chains创建了黑名单、白名单、防护名单。
白名单:可以通过的ip
黑名单:不能通过的ip
防护名单:部分服务可以通过的ip
创建了很多协议数据包的处理规则链。
还有默认规则、本地规则、管理规则。
防火墙开启后根据先前规则链及定义的规则函数过滤数据。
通过iptables -t filter -L | less来查看规则列表,可以看到默认的规则入INPUT、FORWARD、OUTPUT都已经被关闭了。
使用vim /etc/rc.d/init.d/snortd查看文件,可以看到默认使用默认目录下的snort.conf规则,默认监听网卡为eth0,配置文件为snort.conf。
执行命令vim /etc/init.d/hw-snort_inline打开snort_inline的脚本文件,可以看到到实际执行的参数。
-D表示Daemon模式,-c表示读取config文件,-Q表示使用QUEUE模式,-l表示输出log文件的目录,-t表示改变程序执行时所参考的根目录位置。
通过指令“chkconfig --list | grep [服务]”来查询当前服务是不是开启的。
chkconfig命令主要用于检查,设置系统的各种服务。若0-6全部为off,则不自动启动。
可以看到防火墙和IPS(snort_inline)是跟随系统启动的,并且开机自动配置刚才的脚本文件,IDS不会自动启动。
使用vim /etc/honeywall.conf打开honeywall配置文件,来看snort的rule是否自动更新(在文件270+行),默认为不更新。
使用vim /etc/oinkmaster.conf打开该文件,发现了snort.conf文件,可以推断这里使用工具Oinkmaster进行了snort的自动升级。
问题1:安装snort失败
问题1解决方案:通过查找资料,解决安装出现的bug
问题2:主机A和主机C都不能利用telnet登录主机B
问题2解决方案:利用service openbsd-inetd start 开启主机B的telnet服务
本次实践主要学习防火墙、IDS、IPS的运行机制、原理以及配置规则等内容。通过防火墙和入侵检测,可以获取攻击者的攻击行为。防火墙和入侵检测有助于防御者采取针对性的防御措施,以最小的成本应对最大程度的威胁。蜜网网关拥有较为完善的防御机制,通过使用没有任何防御措施的蜜罐主机,诱导攻击者进入“圈套”。防御者通过观察攻击者对蜜罐主机的攻击,可以总结出攻击者的攻击手段和方法。