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

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

1.实践内容

1.1 安全模型

  • 安全是一个相对的、动态的、不断完善的过程,需要适应变化的环境并能做出相应的调整以确保安全防护。基于这种考虑,信息安全领域进一步提出了一系列动态可适应网络安全的模型,典型模型是PDR(Protection、Detection、Response)模型以及在其基础上提出的P2DR(Policy、Protection、Detection、Response)模型等。
  • PDR安全模型与安全不等式

    其中:Pt为信息系统的防御机制能够抵御入侵的时间,Dt为能够超过检测机制发现入侵的时间,Rt为响应机制有效应对入侵的时间
  • P2DR安全模型

    这个模型中,网络安全=根据风险分析制定安全策略(Policy)+执行安全防护策略(Protection)+实时检测(Detection)+实时响应(Response),其中:
    安全策略是模型的核心,所有的防护、检测、响应都是依据安全策略实施的,安全策略为安全管理提供管理方向和支持手段。
    防护机制就是采用一切手段保护信息系统的机密性、完整性、可用性、真实性和不可抵赖性。应该根据不同等级的系统安全要求来完善系统的安全功能、安全机制。通常采用传统的静态安全技术及方法来实现,主要有防火墙、加密、身份认证和访问控制等方法。
    检测机制是动态响应和加强防护的依据,是强制落实安全策略的工具。通过不断地检测和监控网络和系统,发现新的威胁和弱点,并通过循环反馈来及时作出有效地响应。网络的安全风险是实时存在的,检测的对象主要针对系统自身的脆弱性及外部威胁,利用检测工具了解和评估系统的安全状态。主要的检测技术包括入侵检测和漏洞评估等。
    响应机制就是在检测到安全漏洞和入侵事件之后及时做出正确的响应,从而把系统调整到安全状态,对于危及安全的时间、行为、过程,及时做出处理,杜绝危害进一步扩大,使系统能够提供正常的服务。响应措施主要包括应急处理、备份处理、灾难恢复等。

1.2 网络安全防范技术与系统

  网络安全防范技术对应P2DR中的“防护”环节,设立在被保护主机与外部网络中间。

1.2.1 防火墙技术概述

  • 防火墙的概念:防火墙指的是置于不同的网络安全域之间,对网络流量或访问行为实施访问控制的安全组件或设备

  • 防火墙的特点:首先,防火墙只能对流经它的网络数据进行检查和控制,因此必须将防火墙部署在不同网络安全域之间(比如外部公共互联网和企业内部网络)的唯一通道上;其次,防火墙不具备主动检测区分网络攻击数据与合法数据的能力,只是实施预先定义的网络安全访问策略的一种技术;最后,防火墙也存在一些缺陷和弱点,如无法防护来自网络内部的攻击等。

  • 防火墙的功能
    (1)检查控制进出网络的网络流量
    (2)防止脆弱或不安全的协议和服务
    (3)防止内部网络信息的外泄
    (4)对网络存取和访问进行监控审计
    (5)防火墙可以强化网络安全策略并集成其他安全防御机制

  • 防火墙的不足
    作为网络边界防护机制而先天无法防范的安全威胁包括如下
    (1)来自网络内部的安全威胁
    防火墙通常是位于内、外网连接处网络边界的安全防护设备,只能对内、外网之间的网络流量进行检查和控制,而对于来自内部网络的安全威胁,则无法进行监视和控制。
    (2)通过非法外联的网络攻击
    防火墙无法阻止内部人员通过拨号等方式私自接入外部网络,也无法监视和控制这条非法增加的外联链路上的网络攻击行为。
    (3)计算机病毒传播
    对于采用磁盘、U盘等非网络形式进行传播的计算机病毒,防火墙无法进行有效防范;但对于采用网络传播方式的蠕虫、邮件病毒等恶意代码形态,在防火墙中可以集成反病毒引擎扫描、网络行为检测、应用层代理检测等技术,对这些恶意代码进行检测和防范。
    由于技术瓶颈问题目前还无法有效防范的安全威胁包括如下
    (1)针对开放服务安全漏洞的渗透攻击
    (2)针对网络客户端程序的渗透攻击
    (3)基于隐蔽通道进行通信的特洛伊木马或僵尸网络

1.2.2 防火墙技术和产品

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

    包过滤技术的优势在于实现简单,由于无须维护网络连接状态因而非常高效,不会对网络通信造成性能影响,但由于检查内容较少,且只是对单个数据包进行检查,而不能综合该数据包在网络连接上的上下文环境,因此总体而言,包过滤技术的安全功能比较有限,对管理员正确制定规则的要求较高,由于包过滤技术无状态,所以不可能引入身份认证机制等。
    基于状态监测的包过滤技术
    也称为动态包过滤,动态包过滤技术维护所有通过防火墙的网络连接记录,并依此确定数据包是否属于一个新建的连接,或是已建连接的一部分,或是一个非法数据包。尽管动态包过滤技术仍然使用一组静态规则进行安全策略匹配,但除了检查每个独立的数据包之外,还会试图跟踪数据包在网络连接上的上下文关系,并以网络连接状态作为一个附加的匹配标准,以确定是否允许和拒绝通信,即在网络连接层次上匹配和实施防火墙规则。

    相比较于传统的静态包过滤,基于状态检测的包过滤技术具有更强大的安全功能,而且规则的设置也更为简单,同时也保留了包过滤对用户透明的特性。与此同时,由于根据数据包的上下文进行相关的检查和过滤,数据的合法性得到了更有效的保障。但是状态检测包过滤需要跟踪和维护所有网络连接的状态,因此其实现复杂度较高、对网络传输性能影响较大,并可能受到拒绝服务攻击的影响。
    代理技术
    具体过程:客户端首先与代理服务器创建连接,接着发出一个对另外的目标服务器的文件或其他资源的连接请求,代理服务器通过与目标服务器连接或从缓存中取得请求的资源,并返回给客户端。
    分类:根据工作的网络协议栈层次的不同,包括应用层代理(应用层)、电路级代理(传输层)和NAT代理等。

  • 防火墙产品:集成包过滤功能的路由器,基于通用操作系统的防火墙软件产品,基于安全操作系统的防火墙、硬件防火墙设备。

  • 防火墙部署方法:在实际运用防火墙技术保护内部网络安全性时,既可以单独应用一种防火墙技术,也可以综合利用不同类型的防火墙技术,来达到更好的安全保护效果。
    包过滤路由器:将带有包过滤防火墙功能的路由器作为内部网络和外部网络之间唯一的连接点,路由器在完成其数据包路由转发基本功能的同时,将依据网络管理员配置的访问控制列表,对数据包进行过滤。

    双宿主堡垒主机:使用应用代理网关作为双宿主堡垒主机,代替了包过滤路由器。双宿主堡垒主机模式对外屏蔽了内部网络的信息,并可通过应用代理服务器中实现的访问控制机制提供用户级的身份认证和行为审计,此外还可通过对数据内容的严格检查提供了强大的安全特性。

    屏蔽主机:实际上是包过滤防火墙和应用代理技术的集成部署,由包过滤防火墙进行网络层的访问控制,由堡垒主机进行应用安全控制,保证了网络层和应用层的双重安全。但如果对外开放的服务器被攻破,内部网络也将暴露给攻击者。

    屏蔽子网:是在屏蔽主机模式的基础上进行改进的防火墙部署模式。它与屏蔽主机模式的区别在于在应用代理及对外服务器所构成网段和内部主机之间安装了第二个包过滤防火墙。应用代理及对外服务器所处的网段也被称为DMZ(非军事区)。

1.2.3 Linux开源防火墙:netfilter/iptables

  • netfilter/iptables开源防火墙工作原理
    在netfilter/iptables防火墙系统中,netfilter组件位于Linux的内核空间中,实现了静态包过滤和状态报文检查(即动态包过滤)基本防火墙功能,此外也支持一个灵活可扩展的框架,支持NAT网络地址转换等其他额外功能,并提供了多层API接口以支持第三方扩展。iptables则是工作在Linux用户空间中的防火墙配置工具,通过命令行方式允许用户为netfilter配置各种防火墙过滤和管理规则。
    netfilter/iptables中包含三个最基本的规则表,分别为用于包过滤处理的filter表、用于网络地址转换处理的nat表,以及用于特殊目的数据包修改的mangle表。

1.2.4 其他网络防御技术

  • VPN:虚拟专用网(Virtual Private Network),主要采用隧道技术、加解密技术、密钥管理技术和使用者与设备身份认证技术,通过特殊的加密通信协议,保障连接在互联网上的远程用户和企业分支机构之间的通信安全。IPsec VPN、SSL VPN、MPLS VPN是目前VPN最为主要的三种技术和产品形态。

  • 内网安全管理:内网安全管理技术是以防火墙为代表的网络边界防护技术的有效补充,内网安全管理技术能够有效地对内网终端进行安全管理和健康状态监控,从而增强了内部网络的安全性。

  • 内容安全管理SCM:与防火墙主要进行网络层面的访问控制不同,内容安全管理则主要关注网络中传输内容的安全,需要更加深入地分析传输数据包的内容,从应用层中解析和分析出相关的网络行为,并依据网络的安全策略进行合规性检查和控制。

  • 统一威胁管理:UTM是指由硬件、软件和网络技术组成的具有专门用途的设备,它主要提供-项或多项安全功能,将多种安全特性集成在一个硬件设备里,构成一个标准的统一-管理平台。UTM通常集成了网络访问控制、入侵防御、防病毒、内容过滤、反垃圾邮件、上网行 为管理、VPN、身份认证和准入控制等多种安全功能,依据用户自身需求可配置开启其所需的安全机制,提供一套完整的网络安全防护方案,目前UTM逐渐替代传统的防火墙,成为主要的网络边界安全防护设备,大大提高了网络抵御外来威胁的能力。

1.3 网络检测技术与系统

  • 入侵检测技术基本概念:入侵检测即为通过对计算机网络或计算机系统中若干关键点信息的收集和分析,从中发现入侵行为的一种安全技术。入侵检测系统(IDS)则是实现入侵检测技术,专门用于入侵行为发现和处理的软件系统或硬件设备。

  • 入侵检测技术评估指标:检测率(True Positive)和误报率( False Positive)。其中,检测率是指入侵检测系统捕获到的攻击行为数目和全部攻击数目之比:误报率是指入侵检测系统对正常行为的误报数目与入侵检测系统所输出的全部报警数目之比。理想的入侵检测系统应该同时具有较高的正确检出率和较低的误报率。

  • 入侵检测技术
    在可靠完备地收集到关键信息之后,入侵检测技术最核心的任务是信息分析,从中识别出攻击行为,入侵检测技术从早期发展至今,都是围绕着两种基本的信息分析技术类型,即误用检测和异常检测,来进行的。
    (1)误用检测:也称为特征检测,误用检测通过收集已知入侵行为的特征并进行描述,构成攻击特征库,然后对收集信息进行特征模式匹配,所有符合特征描述的行为均被视为入侵。
    误用检测方法由于采用能够精确描述已知入侵行为的攻击特征库,因而能够保证较低的误报率,但是误用检测也存在着本质上的不足,如:攻击特征库中只能刻画已知的入侵和系统误用模式,因此该方法不能检测出未知的,或特征库未包含的入侵行为等。
    (2)异常检测:异常检测方法是建立起系统的正常模式轮廓,若实时获得的系统或用户的轮廓值与正常值的差异超出指定的阈值,就进行入侵报警。
    由于异常检测技术刻画的是正常行为轮廓,而一般情况下,这种刻画很难包含所有的正常行为,而且即使是异常行为也未必是由于入侵引起的,因此异常检测技术的误报率较高。而异常检测技术的优势在于能够检测出未知的入侵。

  • 入侵检测系统的分类
    从入侵检测系统的检测数据来源,可以将入侵检测系统分为基于主机的入侵检测系统(Host-based IDS,HIDS)基于网络的入侵检测系统(Network-based IDS,NIDS)两大类。分布式入侵检测系统(Distributed IDS,DIDS)融合了HIDS和NIDS作为其组成部分,并通过集中式、层次分布式或完全分布式的融合分析提高检测系统的覆盖面和有效性。
    从入侵检测系统所采用的信息分析技术分类,可分为误用检测方法异常检测方法两类。
    根据入侵检测系统所采用的体系结构分类,可以分为集中式层级式协作式

  • 入侵检测系统的部署

    HIDS的部署位置比较直观,即安装到所有需要入侵检测系统关注的关键主机上。在目前普遍采用的交换式网路拓扑中,就需要在特殊的位置来部署NIDS。

  • 入侵防御系统IPS:入侵防御系统(Intrusion Prevention System, IPS) 是在入侵检测系统基础之上发展出来的一种网络安全技术和产品形态,有时也被称为内嵌式IDS。与入侵检测系统普遍采用旁路监听方式只对入侵行为进行检测与报警不同,入侵防御系统采用直接在网络边界位置内联连接的方式,并在检测到入侵行为后,直接对所关联的攻击网络连接进行阻断处理。相比较于传统的入侵检测系统,入侵防御系统侧重于极低的误报率和高效的处理性能,以保证尽可能少地影响到网络正常行为,并最小化对网络传输带来的延迟。入侵防御系统的优势在于无须使用者的干预,可以在网络中“即插即用”。

1.4 网络安全事件响应技术

  • 安全事件响应不仅仅是一个技术问题,它还涉及政策、组织机构、资源、流程、人际沟通与交流、技术基础等等多方面的因素,成功的事件响应需要大量的组织和计划,从信息安全政策中的有关政策开始,一直到实现这个政策,除此之外,计划和组织还包括其他一些必需的组成部分,如设计合理的事件响应机构,规划好所需的资源,计划好使用的技术等。

  • 网络安全事件响应过程中涉及的关键技术包括计算机取证、攻击追溯与归因、备份恢复与灾难恢复等。
    计算机取证(Computer Forensics),是指在安全事件的调查中对计算机系统进行详细检查,并对计算机犯罪的电子证据进行保护、确认、提取和归档的过程,通常是针对存储介质进行的,但有时也用来对网络日志进行检查和分析。
    攻击追溯与归因是找出真正实施网络攻击的来源,并确定出攻击者真实身份。
    备份恢复是在遭受网络安全事件之后快速恢复业务运转的关键保障性技术。
    灾难恢复则需要面对如地震、火灾、恐怖主义袭击等灾难对关键信息系统和核心数据的威胁,需要针对核心业务数据进行异地的容灾备份,从而能够在灾后,重新启用信息系统的数据、硬件及软件设备,恢复正常商业运作的过程。

2.实践过程

实践一:防火墙配置

实践任务:配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙,完成如下功能,并进行测试:
(1) 过滤ICMP数据包,使得主机不接收Ping包;
(2) 只允许特定IP地址(如局域网中的Linux攻击机192.168.200.3),访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址(如Windows攻击机192.168.200.4)无法访问。

本次实践以VMware中的kali、SEED、metasploitable-linux这三台虚拟机作为实验环境。注意三台虚拟机需要处于同一个网段,三者的IP地址如表所示:

虚拟机 IP地址
kali 192.168.200.2
SEED 192.168.200.4
metasploitable linux 192.168.200.125
这个实践以kali、SEED为攻击机,metasploitable-linux为靶机

(1) 配置metasploitable-linux的iptables,使其添加丢弃所有ICMP包的包过滤规则,使得攻击机无法ping通靶机。
1、 在metasploitable-linux上输入命令iptables -A INPUT -p ICMP -j DROP //-A代表增加规则,-p代表指定协议,-j代表对该规则执行的操作

输入命令iptables -t filter -L,可以看到新增了一条规则,如下所示:

2、 接着,让kali ping metasploitable-linux,发现已经ping不通了

(2) 给靶机metasploitable-linux设置包过滤规则,让KALI有权访问靶机的telnet,SEED无法访问。
1、 首先保证kali和SEED都能够访问靶机metasploitable-linux的telnet

2、 在靶机metasploitable-linux上设置不接收任何包的规则,输入命令iptables -P INPUT DROP //-P代表设置缺省目标操作

此时两个攻击机去telnet靶机发现一直处于trying状态。

3、 在靶机metasploitable-linux上设置只接受kali的telnet请求策略,输入命令iptables -A INPUT -s 192.168.200.2 -p tcp -j ACCEPT //-s指代源地址

可以看到kali可以telnet靶机了

4、 最后,清除之前设置的规则
iptables -F //F代表flush,清除规则
iptables -P INPUT ACCEPT

实践二:Snort

任务:使用Snort对给定pcap文件(第4章中的解码网络扫描任一个pcap文件)进行入侵检测,并对检测出的攻击进行说明。
在BT4 Linux攻击机或Windows Attacker攻击机上使用Snort,对给定的peap文件进行入侵检测,获得报警日志。
Snort运行命令提示如下。
● 从离线的pcap文件读取网络日志数据源。
● 在snort.conf中配置明文输出报警日志文件。
● 指定报警日志log目录(或缺省log目录=/var/og/snort) 。

1、 在kali上用snort对listen.pcap文件进行入侵检测。输入如下命令
snort -r listen.pcap -c /etc/snort/snort.conf -K ascii //-r代表读取,-c代表指定规则文件 -K代表指定输出log的编码格式为ascii,默认是binary

2、 可以看到检测到的数据包信息,有TCP,UDP,ARP

3、 在/var/log/snort/alert 可以查看到报警日志文件

文件里显示了攻击是nmap发起的

实践三

分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,并撰写分析报告, .说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。
具体分析配置规则与启动项文件包括:
● 防火墙(netfiter+IPTables) : /etc/init.d/rc .firewall;
● 入侵检测系统(Snort) : /etc/init.d/hflow-snort 与/etc/snort/snort.conf;
● 入侵防御系统(Snort. inline) : /etc/init d/hflow -snort. inline 与/etc/snort inline/snort_inline.conf.
分析内容如下。
● 上述脚本是如何实现蜜网网关的数据捕获和数据控制机制?
● 获取IPTables的实际规则列表、Snort 和Snort
jinline 的实际执行参数。
● 蜜网网关开机之后,防火墙、NIDS、 NIPS是如何启动的?
● Bonus:蜜网网关中的Snort规则是如何自动升级的?

上述脚本是如何实现蜜网网关的数据捕获和数据控制机制?

一般通过两种方式来进行数据控制
(1) 对外连接数限制
Netfilter/iptables是Linux平台下的免费包过滤防火墙,其中netfilter称为内核空间,iptables称为用户空间。通过添加、修改和删除规则进行配置防火墙。
通过防火墙iptables设置规则,严格控制单位时间内向外连接数量。在rc.firewall脚本中设定对外连接数。在无人值守的情况下,可以设置对外连接数量的上限,超过这个上限的连接由防火墙进行阻塞,并生成警告通知管理员。一般向外连接数设置在五个到十个之间。在全天候值守的前提下,也可以不设定上限,由专人观察。
(2) 攻击包抑制:网络信息防御系统
Snort_inline是通过对snort修改而产生的,由iptables获取数据包并对数据包进行检测。如果检测出从蜜网向外发出的数据包中含有异常特征,则丢弃此数据包并对管理员发出报警信息。在Snort_inline中由queue选项来决定对数据包的丢弃、修改或回拒。由于是通过iptables进行检测,检测过程依赖于iptables的规则库。
数据捕获
蜜网通过三重捕获手段对数据进行捕获:一是防火墙日志;而是网络流;三是系统活动。
第一重捕获手段是防火墙,防火墙记录数据包的一些简单信息;
第二重捕获手段是网络入侵检测系统snort,snort是一个轻量级的入侵检测系统,Snort有三种工作模式,分别为:嗅探器、数据包记录器和网络入侵检测系统。Snort以嗅探器模式来完成对数据的捕获,通过tcpdump实现嗅探功能。

获取IPTables的实际规则列表、Snort 和Snort_ jinline 的实际执行参数。

输入iptables -t filter -L,可以看到实际规则列表,有很多规则

输入vim /etc/init.d/rc.firewall可以看到实际执行参数:


通过 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,是跟随系统启动的。

Bonus:蜜网网关中的Snort规则是如何自动升级的?

snort规则默认是不自动升级的,但是可以通过Oinkmaster软件进行升级。使用find /etc/ -name "oink*.*"查找跟Oinkmaster软件相关的文件:

查看这个文件的内容:

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

  • 问题1:在实践三中,通过命令iptables -t filter -L时,不会向上翻页查看命令行界面
  • 问题1解决方案:shift + pageup 上翻,shift + pagedown 下翻

4.实践总结

  这次实践的知识点还是蛮多的,特别是snort这个工具很强大,还需继续深入学习,并多加练习。

参考资料

posted on 2020-04-08 17:32  20199317-程峥华  阅读(483)  评论(0编辑  收藏  举报

导航