20199327 2019-2020-2 《网络攻防实践》第六周作业

理论学习

1. 安全模型

安全信息金三角CIA:机密性、完整性、可用性(可控性,不可否认性);

传统的安全评估和防范方法是通过对网络进行风险分析,制定相应的安全策略,然后采取一种或多种安全技术作为防护措施的,这种安全模型与流程在主要针对固定,静态的威胁和环境弱点,但忽略了网络安全的重要特性,对网络安全所面临的威胁和系统脆弱性没有做充分的估计,新的安全问题的出现需要新的安全技术和手段来解决,因此没有绝对,一成不变的安全,安全是一个相对的,动态的,不断完善的过程,需要适应变化的环境并能做出相应的调整以确保安全防护。基于这种考虑,信息安全领域进一步提出了一系列动态可适应网络安全模型。

动态可适应网络安全模型基于闭环控制理论,典型模型是PDR(Protection、Detection、Response)模型以及在其基础上提出的P2DR(Ploicy、protection、detection、Response)模型等

PDR安全模型本质基础:P>D+R,提出安全性可量化和可计算,如果信息系统的防御机制能够抵御入侵事件P,能够超过检测机制发现入侵的时间D和响应机制有效应对入侵时间R之和,那么这个信息系统就是安全的。

PDR安全模型与安全不等式:

P2DR安全模型:

主要的检测技术:入侵检测和漏洞评估。

响应措施主要包括:应急处理、备份处理、灾难恢复(灾备。。可用性保证?)

2. 网络安全防范技术与系统

2.1 防火墙

防火墙属于一种网络上的访问控制机制,通过在不同的网络安全域之间建立起安全控制点,对通过的网络传输数据进行检查,根据具体的安全需求和策略设置决定是否允许网络访问通过防火墙,达到保护特定网络安全域免受非法访问和破坏的安全目标。

防火墙技术(依据工作的网络协议栈层次)可以分为包过滤、电路级网关和应用层代理技术。

防火墙功能:控制在计算机网络中不同信任程度网络域之间传送的数据流。

  • (1)检查控制进出网络的网络流量;

  • (2)防止脆弱或不安全的协议和服务;

  • (3)防止内部网络信息的外泄;

  • (4)对网络存取和访问进行监控审计;

  • (5)防火墙可以强化网络安全策略并集成其他安全防御机制;

防火墙缺点:对流经它的网络数据进行检查和控制,故部署成不同网络安全域的唯一通道;不具备主动检测区分网络攻击数据与合法数据的能力;

  • (1)来自网络内部的安全威胁;

  • (2)通过非法外联的网络攻击;

  • (3)计算机病毒传播;

  • (4)由于技术瓶颈问题目前还无法有效防范的安全威胁:针对开放服务安全漏洞的渗透攻击;针对网络客户端程序的渗透攻击;基于隐蔽通道进行通信的特洛伊木马或僵尸网络。

2.2 防火墙技术

包过滤技术:在路由功能基础上进行扩展,通过对网络层和传输层包头信息的检查,根据用户定义的安全策略规则集,确定是否应该转发该数据包,将一些不符合安全策略的数据包阻挡在网络的边界处。

优缺点:

  • (1)实现简单;无需维护网络连接状态因而非常高效;

  • (2)检测内容少,只能对单个数据包进行检查,不能根据上下文环境进行综合的评判;

基于状态监测的包过滤技术(动态包过滤技术):维护所有通过防火墙的网络连接记录,并依此确定数据包是否属于一个新建的连接,或是已建连接的一部分,或是一个非法数据包。

更进:具有更强大的安全功能,规格设置更为简单,保留包过滤对用户透明的特性。可依据上下文环境进行相关的检查和过滤,但跟踪与维护对网络传输性能影响较大;

包过滤技术(应用层)

代理技术功能:代理技术是一种重要的计算机安全防护功能,允许客户端通过它与另一个网络服务进行非直接的连接。

  • (1)网络内部用户不直接与外部服务器通信,隐藏内部网络信息的功能;

  • (2)客户与服务器之间的所有通信技术必须通过代理进行中转,可理解应用层数据内容格式,因此可以对应用层数据进行严格的检查;

  • (3)采用存储转发机制,容易实现在线审计;

  • (4)提供用户级身份认证机制;

代理技术缺点:

  • (1)不同应用层服务,都需要相应的代理服务,对用户不透明,需自己配置;

  • (2)应用代理的解析和处理内容多,速度慢;

  • (3)单设代理服务器,代价高;

  • (4)通常无法支持非公开协议。

电路级代理技术(传输层)

NAT代理技术(网络层)--网络地址转换:方便与安全

2.3 Linux开源防火墙:netfilter/iptables

netfilter/iptables组合是目前Linux开源操作系统中普遍使用的防火墙技术解决方案,其中netfilter是Linux内核中实现的防火墙功能模块,iptables是应用态的防火墙管理工具。

netfliter/iptables包含3个最基本的规则表,分别为用于包过滤处理的filter表、用于网络地址转换处理的nat表,以及用于特殊目的数据包修改的mangle表。

在每张规则表中包含一些已缺省定义的规则链,以及可由用户自定义的规则链。


在设置和执行网络访问控制时,防火墙两种策略:

  • (1)设置缺省的通行策略为允许(ACCEPT),然后定义禁止的网络流量与行为;

  • (2)设置缺省的通行策略为禁止(DROP),然后定义允许的网络流量与行为;

2.4 其他网络防御技术

  • (1)VPN,虚拟专用网,主要采用隧道技术、加解密技术、密钥管理技术和使用者与设备身份认证技术;

IPsec协议是互联层安全协议,是为保障IP通信而提供的一系列协议族,针对数据在通过公共网络时的数据完整性、安全性和合法性等问题设计了一整套隧道、加密、认证方案。

SSL是套接层协议,工作在传输层之上,保障在互联网上基于Web通信的安全而提供的协议

  • (2)内网安全管理;

  • (3)内容安全管理SCN;

  • (4)同意威胁管理UTM。

3. 网络检测技术与系统

入侵者分类:

围绕误用检测和异常检测分类,评估入侵检测技术和系统的两个重要参数是检测率和误报率。

入侵检测可分为基于主机的HIDS和基于网络的NIDS。HIDS一般用来监视主机信息,NIDS以其监听到的网络数据包作为分析数据源

-入侵检测系统的部署分类如下图

入侵防御系统IPS是在入侵检测系统基础上发展出来的。与入侵检测普遍采用旁路监听方式只对入侵行为进行检测与报警不同,入侵防御采用直接在网络边界位置内联连接的方式,并在检测到入侵行为后,直接对所关联的攻击网络连接进行阻断处理。

4. 网络安全事件响应技术

网络安全事件响应技术是P2DR模型中相应环节的关键技术手段。

网络安全事件响应技术关键技术:计算机取证、攻击溯源和归因、备份恢复与灾难恢复。

理论实践

实践一

KALI 192.168.200.3

SEED 192.168.200.13

META 192.168.200.5

KALI和SEED当做攻击机,LINUX META当做靶机。网络环境是NAT。实验已经确保虚拟机互相ping通,依此为例,不一一贴图了。

过滤ICMP数据包,使得主机不接收Ping包。

实验原理:给靶机的iptables添加丢弃所有ICMP包的包过滤规则,使得攻击机无法正常ping通靶机。

1:在KALI上输入如下命令

iptables -A INPUT -p ICMP -j DROP //-A代表增加规则,-p代表指定协议,-j代表对该规则执行的操作

2:执行完上面的命令后,试着让SEEDpingkali,ping不通了

一个攻击机可以访问靶机的某个服务,另一个却访问不了。以telnet服务为例:

实验原理:给靶机设置包过滤规则,让KALI有权访问靶机的telnet,SEED无法访问。

1:首先确保kali和seed可以正常telnet靶机。

2:在linux meta上设置不接收任何包的规则。命令如下。此时两个攻击机去telnet靶机发现一直处于trying状态。

iptables -P INPUT DROP //-P代表设置缺省目标操作

3:在linux meta上设置只接受kali的telnet请求策略。如下图
iptables -A INPUT -s 192.168.200.3 -p tcp -j ACCEPT //-s指代源地址

可以看到kali可以正常telnet靶机了

4:清楚之前设置的规则

iptables -F //F代表flush,清除规则

iptables -P INPUT ACCEPT

实践二

1.在kali上用snort对listen.pcap文件进行入侵检测。输入如下命令

snort -r listen.pcap -c /etc/snort/snort.conf -K ascii //-r代表读取,-c代表指定规则文件 -K代表指定输出log的编码格式为ascii,默认是binary

2.可以看到检测到的数据包信息,有TCP,ARP,主要是TCP

3.vim /var/log/snort/alert 可以查看到报警日志文件。文件里显示了攻击是nmap发起的

实践三

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

具体分析配置规则与启动项文件包括:

防火墙 (netfilter+IPTables):/etc/init.d/rc.firewall

入侵检测系统 (Snort0:/etc/init.d/hflow-snort与/etc/snort/snort.conf;

入侵防御系统 (Snort_inline):/etc/init.d/hflow-snort_inline与/etc/snort_inline/snort_inline.conf;

上述脚本是如何实现蜜网网关的数据捕获和数据控制机制?
数据捕获:防火墙的记录日志,Snort的网络流
数据控制:
查看rc.firewall文件,跳转到create_chain这一行,可以看到有个方法,这里面定义了一些数据控制的逻辑。

!

获取IPTables的实际规则列表、Snort和Snort_inline的实际执行参数
输入iptables (-t filter) -L可以看到实际规则列表,如下图。可以看到有许多规则。

通过 vim /etc/init.d/snortd 打开Snort脚本文件,可以看到监听网卡和存储配置文件的位置。

通过vim /etc/init.d/hw-snort_inline 打开snort_inline的脚本文件,可以看到到实际执行的参数。

蜜网网关开机之后,防火墙、NIDS、NIPS是如何启动的?
使用chkconfig -list命令来对linux上运行的服务进行查询,可以发现NIDS的0~6都是off,说明是需要手动启动的,而防火墙和NIPS不全是off,是跟随系统启动的。-D表示Daemon模式,-c表示读取config文件,-Q表示使用QUEUE模式,-l表示输出log文件的目录,-t表示改变程序执行时所参考的根目录位置。

Bonus:蜜网网关中的Snort规则是如何自动升级的?
snort规则通过Oinkmaster进行升级。它在/etc目录下,可以直接查看。

在这发现对snort.conf有定义,应该就是通过这个升级的

问题

1.snort的安装,换完源后也不增吗顺利,好歹配置好了,能进行实践了;

2.实践三中自动升级任务参考孙启龙同学的博客没有实践出来。。。

3.实践三刚上手时感觉一头雾水,参考了其他同学的博客才有的思路,并注意中英文中的下划线。

总结

通过前期的理论学习与后面的动手实践,相互联系,相互印证,相互理解,也对snort有了一些了解,对防火墙或者防范技术有了理论框架。

参考

Linux换源的相关知识;
如何配置snort的相关博客;
snort的简单使用的相关知识;
孙启龙博客;
冯文浩博客;
付元元博客;

posted @ 2020-04-08 23:01  肖子玉20199327  阅读(362)  评论(0编辑  收藏  举报