20211908 孟向前 2021-2022-2 《网络攻防实践》第五周作业

实践五 网络安全防范技术
1.实践内容
1、防火墙技术的关键特性:
1、由于防火墙只能对流经它的网络数据进行检查和控制,因此必须将防火墙部署在不同网络安全域之间(比如外部公共互联网和企业内部网络)的唯一通道上;
2、防火墙并不具备主动检测区分网络攻击数据与合法数据的能力,只是实施预先定义的网络安全访问策略的一种技木,因此只有网络安全管理员根据安全需求合理地设计安全策略规则,才能充分发挥防火墙的功能,保护网络安全;
3、防火墙也存在一些缺陷和弱点,如无法防护来自网络内部的攻击等,因此防火墙并非是“一劳永逸”的“安全最终解决方案”。
2、防火墙技术
·包过滤技术
包过滤技术是最早提出和应用的防火墙技术,于1988年由 DEC公司的工程师开发。包过滤技术在路由功能基础上进行扩展,通过对网络层和传输层包头信息的检查,根据用户定义的安全策略规则集,确定是否应该转发该数据包,将一些不符合安全策略的数据包阻挡在网络的边界处。包过滤技术的示意图如下所示。

·基于状态检测的包过滤技术
1989-1990年,AT&T贝尔实验室在包过滤技术基础上,进一步开发出了基于状态检测的包过滤技术,相比于传统包过滤技术,这种技术也称为动态包过滤。动态包过滤技术维护所有通过防火墙的网络连接记录,并依此确定数据包是否属于一个新建的连接,或是已建连接的一部分,或是一个非法数据包。尽管动态包过滤技术仍然使用一组静态规则进行安全策略匹配,但除了检查每个独立的数据包之外,还会试图跟踪数据包在网络连接上的上下文关系,并以网络连接状态作为一个附加的匹配标准,以确定是否允许和拒绝通信,即在网络连接层次上匹配和实施防火墙规则。基于状态检测的包过滤技术的示意图如图6-4所示。

·代理技术
代理(Proxy)技术是一种重要的计算机安全防护功能,允许客户端通过它与另一个网
络服务进行非直接的连接,也称“网络代理”。代理技术有利于保障网络安全,防止网络攻击,是一类与包过滤技术完全不同的防火墙技术。提供代理服务的计算机或其他类型的网络节点称为代理服务器(Proxy Server)。代理技术具体过程为:客户端首先与代理服务器创建连接,接着发出一个对另外的目标服务器的文件或其他资源的连接请求,代理服务器通过与目标服务器连接或从缓存中取得请求的资源,并返回给客户端。根据工作的网络协议栈层次的不同,代理技术包括应用层代理、电路级代理和 NAT代理等。

2.实践过程
一、防火墙配置
任务要求:配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙,完成如下功能,并进行测试:
(1)过滤ICMP数据包,使得主机不接收Ping包;
配置:
同一网段内的WindXpAttacker(192.168.200.2)、SEED Ubuntu(192.168.200.3)、Kali(192.168.200.4)、。

1、首先在kali上ping SEED VM虚拟机,看看能不能ping通。

2、在SEED Ubuntu上执行sudo iptables -L查看默认规则。

3、在iptables -A INPUT -p icmp -j DROP,:-A是追加一条规则,INPUT表示数据包入口(规则),-p用于匹配协议,-j用于指定如何处理使SEED VM不接受ICMP数据报文。

4、重新在SEED上查看规则,发现新建的一条规则。

5、打开Kali,在Kali上ping 192.168.200.3,发现ping不通

6、在SEED VM上输入 iptables -F 删除自定义规则。

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

1、在Kali和Winxpattcacker上均使用telnet登录SEED。

2、在SEED VM中输入iptables -P INPUT DROP丢弃一切输入的数据包,连接均断开,再输入使用指令iptables -A INPUT -p tcp -s 192.168.200.4 -j ACCEPT,只开启192.168.200.4对本机的tcp服务,并用iptables -L查看规则。发现kali可以telnet登陆,但是Winxpattacker不能telnet。

3、在SEED VM中输入iptables -F和iptables -P INPUT ACCEPT恢复初始状态。

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

1、在kali上运行snort -r /home/kali/listen.pcap -c /etc/snort/snort.conf -K ascii,-K ascii是为了使日志文件的编码为ASCII,通过可以图中看到TCP类型数据包占了大多数。

2、snort会在默认目录 /var/log/snort 生成一个日志文件,cd/var/log/snort 查看日志文件 vim snort.alert.fast,本次攻击是用nmap发起的。攻击目标IP地址是 172.31.4.178,网络扫描的目标IP地址是 172.31.4.188 ,还可以看到端口号等等。

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

上述脚本是如何实现蜜网的数据控制和数据捕获的:
1、在蜜网网关中输入su -进行提权,输入vim /etc/init.d/rc.firewall,查看防火墙文件。

2、可以看到黑名单(BlackList)、白名单(WhiteList)和保护名单(FenceList)的规则链。

获取IPTables的实际规则列表、Snort和Snort_inline的实际执行参数:
1、查看roo的防火墙规则 cd /etc/init.d,输入./iptables status查看规则列表,

2、输入vim /etc/init.d/snortd,查看snort包含实际运行的参数的脚本文件,如网卡为eth0。

3、执行命令 vim /etc/init.d/hw-snort_inline 打开snort_inline包含实际执行的参数的脚本文件。

蜜网网关开机之后,防火墙、NIDS、NIPS是如何启动的:
输入chkconfig --list即可查看哪些是自启动的,如果从0到6全是off,那就不自启动。
chkconfig --list | grep iptables,chkconfig --list | grep snort。

防火墙和NIPS不全是off,是自统启动的,NIDS的0-6都是off,是需要手动启动的。

蜜网网关中的Snort规则是如何自动升级的:
输入vim /etc/honeywall.conf,查看升级规则默认为不更新。

3.学习中遇到的问题及解决
在只允许特定IP地址访问主机的某一网络服务,而其他的IP地址无法访问这一实验中,第一次实验没成功,后来发现是忘记先输入命令iptables -P INPUT DROP,使虚拟机丢弃一切输入的数据包,连接均断开,然后进行下一步。
解决:实验开始先输入命令iptables -P INPUT DROP,问题解决。
4.学习感想和体会
本次实验对防火墙的相关内容有了更进一步的理解,熟悉了iptables和snort等相关命令操作,还需要多加练习。
参考文献
网络攻防技术与实践 -诸葛建伟

posted on 2022-04-14 20:24  仰望星空dream  阅读(112)  评论(0编辑  收藏  举报