20211903 2021-2022-2 《网络攻防实践》实践五报告

1.实践内容

本次实践主要学习了iptables(防火墙)和snort(入侵检测系统)的基本原理和内容,通过对它们的配置和分析对iptables和snort的实际操作加以理解。

一、防火墙配置
任务要求:配置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文件进行入侵检测,获得报警日志。
Snort运行命令提示如下:
①从离线的pcap文件读取网络日志数据源
②在snort.conf中配置明文输出报警日志文件
③指定报警日志log目录(或缺省log目录=/var/log/snort)
三、分析配置规则
分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。
1.上述脚本是如何实现蜜网网关的数据捕获和数据控制机制?
2.获取IPTables的实际规则列表、Snort和Snort_inline的实际执行参数。
3.蜜网网关开机之后,防火墙、NIDS、NIPS是如何启动的?
4。Bonus:蜜网网关中的Snort规则是如何自动升级的?

2.实践过程

一、防火墙配置
任务要求:配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙,完成如下功能,并进行测试:
(1)过滤ICMP数据包,使得主机不接收Ping包;

虚拟机 IP地址 MAC地址
kali 192.168.111.129 00:0c:29:13:9d:0f
MetaSploitable 192.168.111.128 00:0c:29:fc:b2:c3
seed_ubuntu 192.168.111.130 00:0c:29:cf:17:b9
WinXPattacker 192.168.111.131 00:0c:29:92:da:b0

kali防火墙配置:
用winxp攻击机ping kali 攻击机。

在kali攻击机的终端中输入 iptables -A INPUT -p ICMP -j DROP 命令,通过iptables命令添加对所有ICMP包的过滤原则。

重新在winXP攻击机中ping kali机,发现无法ping通,即为过滤ICMP数据包成功。

(2)只允许特定IP地址(如局域网中的Linux攻击机192.168.200.3),访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址(如Windows攻击机192. 168.200.4)无法访问

先检测kali攻击机和seed攻击机是否可以telnet通MetaSploitable靶机,如图所示,都可以连通。


使用指令iptables -P INPUT DROP,使攻击机无法telnet通MetaSploitable靶机,。

两个靶机再次telnetMetaSploitable靶机,发现两台攻击机都无法telnet通靶机,都显示trying。


输入指令iptables -A INPUT -s 192.168.111.129 -p tcp -j ACCEPT,仅允许kali攻击机的请求。

输入指令后再用kali攻击机对MetaSploitable靶机进行telnet后,发现可以连通,但是seed攻击机仍不可以。


最后通过iptables -P INPUT ACCEPT指令将之前的指令清楚,重新允许其他机器发送请求。

WinXP攻击机防火墙配置:
先用kali机和seed_ubuntu机ping WinXP攻击机,发现都可以ping通。


将Windows防火墙中高级选项卡中的ICMP设置中的允许传入回显请求取消勾选。

再用kali机重新ping WinXP攻击机发现已经不回显,即已不接受ping包。

先用kali机和seed_ubuntu机Telnet WinXP攻击机,发现都可以telnet通。


在管理工具中,打开本地安全策略,并右键IP安全策略,创建IP安全策略。

为此IP安全策略命名为WinXP-kali-ban telnet,并为其添加安全规则。








将该条安全策略指派,即运行。

发现Kali虚拟机已经无法telnet通WinXP虚拟机,但是seed虚拟机还可以telnet通。


所以已实现对某特定IP的某特定服务的禁止访问。
其次是实现其余所有IP的禁止访问,即将筛选器属性中的源IP地址改为任意IP地址,可发现seed虚拟机和kali虚拟机都telnet不通了。



允许kali虚拟机访问服务的IP筛选器设置与禁止访问的几乎完全一致,在筛选器操作选项一栏选择许可即可。

重新telnet kali虚拟机,可发现telnet通WinXP虚拟机,所以此实验完成。

二、动手实践:Snort
使用Snort对给定pcap文件(第4章中的解码网络扫描任一个pcap文件,之前的实践已经提供了,请在云班课中下载)进行入侵检测,并对检测出的攻击进行说明。在BT4 Linux攻击机或Windows Attacker攻击机上使用Snort,对给定的pcap文件进行入侵检测,获得报警日志。
Snort运行命令提示如下:
①从离线的pcap文件读取网络日志数据源
②在snort.conf中配置明文输出报警日志文件
③指定报警日志log目录(或缺省log目录=/var/log/snort)

在kali攻击机中使用指令snort -r /home/kali/Desktop/listen.pcap -c /etc/snort/snort.conf -K ascii ,即可对pcap文件中的网络日志数据源进行读取。

在返回的分析中可以看到,该日志文件共包括135580个数据报,主要为TCP数据报,有135512个。

使用vim /var/log/snort/snort.alert.fast指令找到var/log/snort目录下的日志文件,并用vim将其打开。

在文件中可以看到攻击方式为namp攻击,且攻击主机ip为172.31.4.178,靶机ip为172.31.4.188。

三、分析配置规则

分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。

  1. 上述脚本是如何实现蜜网网关的数据捕获和数据控制机制?
  2. 获取IPTables的实际规则列表、Snort和Snort_inline的实际执行参数。
  3. 蜜网网关开机之后,防火墙、NIDS、NIPS是如何启动的?
  4. Bonus:蜜网网关中的Snort规则是如何自动升级的?

在honeywall虚拟机密网网关中打开rc.firewall防火墙文件,进入honeywall虚拟机后输入su -指令,进入root模式,并输入vim /etc/init.d/rc.firewall指令进行查看防火墙文件。

在root模式下输入指令iptables -t filter -L,列出filter表的所有规则。

在root模式下输入指令vim /etc/init.d/snortd,查看snort的脚本文件。如可观察文件内容得默认监听网卡为eth0。

在root模式下输入指令vim /etc/init.d/hw-snort_inline,打开snort_inline的脚本文件。可观察内容得Snort_inline运行时各项实施参数,各参数定义为:-D表示Daemon模式,-c表示读取config文件,-Q表示使用QUEUE模式,-l表示输出log文件的目录,-t表示改变程序执行时所参考的根目录位置。

通过chkconfig --list | grep iptables和chkconfig --list | grep snort指令获得三个服务得启动状态,由图片可得,防火墙和NIPS(hw-snort_inline)为随系统自动启动的,NIDS(snortd)为非系统自动启动,需手动启动的。

输入指令sudo vim /etc/honeywall.conf查看防火墙的配置文件,并在内容内查找到update variables部分,内容显示不是自动更新的,将no改为yes可实现自动更新。

3.学习中遇到的问题及解决

  • 问题1:在输入iptables -P INPUT DROP等指令时,显示找不到文件。
  • 问题1解决方案:input和drop等关键字未大写,改正后即可运行。
  • 问题2:在WinXP攻击机中的snort缺少部分文件
  • 问题2解决方案:使用kali攻击机中的snort即可解决。
  • 问题3:在var/log/snort目录下的alert文件是空白的,没有报警日志。
  • 问题3解决方案:查看snort.alert.fast后发现报警日志在此文件内,查看此文件即可。
  • 问题4:honeywall虚拟机中打开文件为空白。
  • 问题4解决方案:配置root权限后即可打开查看文件。

4.实践总结

本次实践主要学习了了解了密网网关中的IPtables和snort的一些基本应用,通过对各个配置文件的操作,让我对密网网关底层的操作逻辑有了一定理解。
在此次实践的操作中,操作难度虽然不高,但是基本都是基于底层配置文件的操作,可以在一定程度上加深我对linux系统的操作理解,也提醒我应该再拓展一下linux系统的学习。

posted @ 2022-04-11 21:09  lollipop0204  阅读(169)  评论(0编辑  收藏  举报