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

1.实践内容

在本次实践中,首先在所搭建的虚拟网络攻防环境中配置Linux操作系统平台上的iptables以及在Windows操作系统平台上的个人防火墙,并完成了如下两个功能:
(1)过滤ICMP数据包,使得主机不接收PING包
(2)只允许特定IP地址访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址无法访问
之后又通过动手实践Snort对给定pcap文件进行入侵检测并进行攻击分析,并通过Snort获得了报警日志;
在实践的最后,分析了虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,并分析了蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。

2.实践过程

2.1 防火墙配置

2.1.1 在Linux操作系统平台上过滤ICMP数据包,使得主机不接收PING包

以下分别是kali和seedubuntu的IP地址信息:

打开seed Ubuntu的终端,并使用sudo iptables -F和sudo iptables -L命令先清空并查看防火墙的规则信息:

之后在seed Ubuntu上使用如下命令过滤所接收到的ICMP数据包:

配置完成后使用kali虚拟机PING seed Ubuntu,发现不能ping通:

在此过程中使用wireshark捕获的数据包如下,发现kali向seed Ubuntu发送了很多ICMP数据包,但都无法ping通,被之前所配置的防火墙规则所拦下:

2.1.2 在Linux操作系统平台上只允许特定IP地址访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址无法访问

首先,所使用的被远程登录主机为Linux操作系统,IP为192.168.21.130
两个攻击机分别为seed Ubuntu和WINXPAttacker,IP地址分别为192.168.21.9和192.168.21.2
首先测试两台攻击机对目标主机的连通性及telnet登录测试,测试结果如下:

可以看出均为正常状态,可以连通。
接下来在目标主机上配置如下规则:
使用的命令如下:
sudo iptables -P INPUT DROP
sudo iptables -A INPUT -p tcp -s 192.168.21.9 --dport 23 -j ACCEPT

配置完成之后先在seed Ubuntu上进行ping测试,发现不能ping通,但可以telnet登录成功,结果如下:

登录过程中捕获的数据包如下:

之后在WINXPAttacker上对目标主机做telnet测试,发现无法登录:

2.1.3 在Windows操作系统平台上过滤ICMP数据包,使得主机不接收PING包

本次实验选择的目标主机为本物理主机,攻击机为kali虚拟机,两者的IP地址分别为:

依次打开控制面板->系统和安全->防火墙->高级设置->入站规则->新建规则->自定义:

在新建的规则中设置组织ICMP数据包,设置完成之后启动该规则:

之后使用kali虚拟机ping目标主机,无法ping通:

使用wireshark所捕获到的数据包如下:

2.1.4 在Windows操作系统平台上只允许特定IP地址访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址无法访问

此次所使用的被远程登录主机为Windows操作系统,IP为192.168.21.2,如下图所示:

之后启动目标主机的telnet服务:

两个攻击机分别为seed Ubuntu和kali,IP地址分别为192.168.21.9和192.168.21.7
首先测试两台攻击机对目标主机的telnet登录测试,测试结果如下:

均可以telnet登录成功。
接下来在本地安全设置->IP安全策略里创建新的安全策略,具体过程如下图所示:

创建好安全策略之后启动该安全策略:

之后分别测试seed Ubuntu和kali使用telnet能否登录目标主机:
seed Ubuntu可以成功登录,而kali却不可以登录,说明上述安全策略配置成功,结果如下图所示:

2.2 动手实践:Snort

使用Snort对给定pcap文件进行入侵检测,并对检测出的攻击进行说明。在BT4 Linux攻击机或Windows Attacker攻击机上使用Snort,对给定的pcap文件进行入侵检测,获得报警日志。
首先要安装Snort,安装好之后使用snort -c /etc/snort/snort.conf -r /listen.pcap -K ascii命令读取网络日志数据源,进行入侵检测
可以看到TCP数据包占了绝大多数,如下图所示:

之后使用如下命令查看所获得的报警日志:

可以看到此次入侵是使用nmap工具发起的,其中还包括发起者和目标主机的IP地址信息:

2.3 分析配置规则

(1)数据控制
数据捕获是密网的一个重要目的,包括三个层次,分别是防火墙的日志记录、eth1上的嗅探器记录的网络流多和Seek捕获的系统活动;记录的内容主要包括:数据包通过时间、包协议类型、进出的网络接口、源地址、目的地址、源端口、目的端口、包长度等。
  Roo的数据控制包含两方面,一是防火墙Iptables对连出(Outbound)的连接数的控制,另一个是网络信息防御系统Snort_inline对连出异常数据的限制,还增加了黑名单、白名单、防护名单的功能。防火墙对源地址或者目的地址属于黑名单的主机,丢弃所有包。对于属于白名单的主机,接受且不记录。对于属于防护名单内的主机,禁止访问某些不希望被访问到的主机。
首先打开密网网关,输入vim /etc/init.d/rc.firewall查看防火墙的文件。
  可以看到roo在开机启动的过程中对iptables初始话进行的操作。首先说shell文件没有一个明确的进入点,排除掉函数定义段其他部分是顺序执行的,所以我们要倒着来看,先看最后一个函数。我们不难看出,首先代码的在820行进入程序,然后进入start函数,这个函数长度尽管十分长,但是逻辑却异常清晰。
首先是create_chains函数,定义了下述程序中使用的规则。BlackList、WhiteList、FenceList和XXXHandler。它们分别用来存储源地址和目的地址黑名单,源地址和目的地址的白名单,源地址和目的地址的防护名单,以及供下述policy使用的各种协议对应的Handler链。
接下来通过default_policy、localhost_policy和management_policy创建了不同情况下的三种代理转发模式。
接下来进入start程序的正文,通过读取预定义的白名单HwFWWHITE、黑名单HwFWBLACK和防护名单HwFWFENCE,添加相关的规则.
最后通过读取类似HwHPOT_PRIV_IP_FOR_NAT和HwHPOT_PUBLIC_IP等文件来导入其他的定义参数。

首先使用命令vim /etc/init.d/rc.firewall查看roo在开机启动的过程中iptables的初始化操作:


(2)IPTables的实际规则列表
使用iptables -L进行查看,命令行往上翻页可以使用Shift + PgUp:

(3)snort实际执行参数与snort_inline的实际执行参数
通过vim /etc/init.d/snortd可以打开Snort脚本文件,可以分别看到一些参数的选项,包括实际运行时候的参数。学习一些snort的指令后进行分析,譬如在指定网卡接口后,如果没有其他的参数,将按照默认参数运行。如默认不开启-A模式,使用默认目录的config文件,默认使用eth0、使用二进制模式保存log文件等。

翻找上文找到定义的相关参数,基本上变量名就是变量所代表的含义,会不会shell编程没什么影响。基本来说就是定义了执行操作的用户、用户组、二进制log文件位置、配置文件和默认网卡等等。

使用命令vim /etc/init.d/hw-snort_inline可以看到Snort_inline运行时参数。-D表示Daemon模式,-c表示读取config文件,-Q表示使用QUEUE模式,-l表示输出log文件的目录,-t表示改变程序执行时所参考的根目录位置

(4)防火墙、NIDS、NIPS启动方式
使用chkconfig --list | grep [服务]查看服务情况,如果从0~6全是off,那就不自动启动。可以看到防火墙和NIPS(snort_inline)是自动启动的,NIDS要手动启动。

(5)snort规则的升级方式
使用命令vim /etc/honeywall.conf打开配置文件,找到update variables,可以看到其值为no,不自动更新,如下图所示:

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

  • 问题1:最初无法通过telnet服务登录WINXPAttacker虚拟机
  • 问题1解决方案:该虚拟机的telnet服务不是自动启动,需要在服务配置里手动启动telnet服务,启动之后就可以登录了。

4.实践总结

通过本次实践,我对Linux以及Windows上的防火墙以及安全策略的配置有了初步的了解,并且也成功使用Snort对离线pcap文件进行入侵检测并生成报警日志,最后分析了虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,并说明了蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。通过上述这些实践,我对网络安全及风险与攻击以及检测有了一个更深入了解。

参考资料

iptables详解

posted @ 2022-04-15 22:32  ~嘉然今天吃什么  阅读(140)  评论(0编辑  收藏  举报