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

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

问题 解答
这个作业属于哪个课程 《网络攻防实践》(https://edu.cnblogs.com/campus/besti/19attackdefense)
这个作业的要求在哪里 https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10589
作业正文 如下

网络安全防范技术

1. 网络安全模型

安全模型是为了保障CIA安全属性即机密性、完整性和可用性,以来指导信息系统安全体系建设,以增强信息系统的安全性。

安全是一个相对的、动态的、不断完善的过程,需要适应变化的环境并能做出相应的调整以确保安全防护。基于这种考虑,信息安全领域进一步提出了一系列动态可适应网络安全的模型(基于闭环控制理论) 。

  • PDR安全模型(基于时间的动态安全模型)
    信息系统的防御机制抵御入侵的时间P,能够超过检测机制发现入侵的时间D和响应机制有效应对入侵的时间R之和。

  • P²DR模型(PDR升级款)
    网络安全=根据风险分析制定安全策略(核心)+执行安全防护策略+实时检测+实时响应。

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

网络安全防范技术对应P²DR中的“防护“环节,设立在被保护主机与外部网络中间。
它是被保护主机的屏障,为主机的安全提供最基础的保护。

2.1 防火墙技术

2.1.1 防火墙技术概述

在计算机领域中,防火墙指的是置于不同的网络安全域之间,对网络流量或访问行为实施访问控制的安全组件或设备。

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

防火墙部署注意事项:

  • 防火墙只能对流经它的网络数据进行检查和控制,因此必须将防火墙部署在不同网络安全域之间的唯一通道上。

  • 防火墙并不具备主动检测区分网络攻击数据与合法数据的能力。

  • 防火墙无法防护来自网络内部的攻击。

2.1.2 防火墙的功能:

防火墙可以在网络协议栈的各个层次上实施网络访问控制机制,对网络流量和访问进
行检查和控制。防火墙技术通常能为网络管理员具体提供如下安全功能:

  • 检查控制进出网络的网络流量

  • 防止脆弱或不安全的协议和服务:防火墙可以通过过滤脆弱或不安全的服务而降低内部网络的安全风险。

  • 防止内部网络信息的外泄

  • 对网络存取和访问进行监控审计

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

2.1.3 防火墙的不足

防火墙作为访问控制机制的先天不足

  • 来自网络内部的安全威胁

  • 通过非法外联的网络攻击

  • 计算机病毒传播

目前防火墙技术方面存在的瓶颈。

  • 针对开放服务安全漏洞的渗透攻击

  • 针对网络客户端程序的渗透攻击

  • 基于隐蔽通道进行通信的特洛伊木马或僵尸网络

2.2 防火墙技术和产品

2.2.1 包过滤技术(网络层)

包过滤技术在路由功能基础上进行扩展,通过对网络层和传输层包头信息的检查,根据用户定义的安全策略规则集,确定是否转发该数据包,将一些不符合安全策略的数据包阻挡在网络边界处。通常检查的信息包括数据包的源地址和目的地址、网络协议号、网络端口号、ICMP报文类型和号码等。

2.2.2 基于状态检测的包过滤技术(动态包过滤)

使用一组静态规则进行安全策略匹配,除了检查每个独立的数据包之外,还会试图跟踪数据包在网络连接的上下文关系,以确定是否允许通信。相比较传统的静态包过滤具有更加强大的安全功能,规则设施更加简单,同时保留了包过滤对用户的透明性,数据的合法性得到了有效的保障。

2.2.3 代理技术

允许客户端通过代理与另一个网络服务进行非直接的连接,也称“网络代理”。

代理过程: 客户端首先于代理服务器创建连接,接着发出一个对另外的目标服务器的文件或其他资源的连接请求,代理服务器通过与目标服务器连接或从缓存中取得请求的资源,并返回给客户端。

  • 应用层代理技术(应用层)
    针对某一种具体的应用层网络服务提供细致而安全的网络保护,能够理解应用层协议的数据内容,并进行深入全面的安全检查,从而为网络访问提供更好的安全保障。

  • 电路级代理技术(传输层)
    电路级代理和应用代理的技术原理和工作过程基本相似。

  • NAT代理技术(网络层)
    NAT代理在接受到由内部网络发往外部网络的IP数据包时,将其目的地址和目标端口转换为私有网段地址和源端口号,并发送给私有网段中的客户端主机。

2.2.4 防火墙产品及部署方法

防火墙产品:

  • 集成包过滤功能的路由器

  • 基于通用操作系统的防火墙软件产品

  • 基于安全操作系统的防火墙

  • 硬件防火墙设备

  • 个人防火墙产品

防火墙部署方法:

  • 包过滤路由器:带有包过滤防火墙功能的路由器

  • 双宿主堡垒主机:与包过滤路由器的部署方法类似,使用应用代理网关作为双宿主堡垒主机代替包过滤路由器。(有点类似安装的蜜网网关)

  • 屏蔽主机:包过滤防火墙和应用代理技术的集成部署。

  • 屏蔽子网:在屏蔽主机模式的基础上,在内网主机之前又加了第二个包过滤防火墙。

2.3 Linux开源防火墙:netfilter/iptables

netfilter 是Linux内核中实现的防火墙功能模块, iptables 是应用态的防火墙管理工具。

netfilter具备构建防火墙、NAT共享上网、利用NAT构建透明代理,以及构建QoS或策略路由器等安全功能。Iptables则是工作在Linux用户空间中的防火墙配置工具,通过命令行方式允许用户为netfilter配置各种防火墙过滤和管理规则.

2.3.1 netfilter/iptables开源防火墙工作原理

在netfilter/iptables防火墙系统中,netfilter组件位于Linux的内核空问中,实现了静态包过滤和状态报文检查(即动态包过滤基本防火墙功能).

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

  • filter表
    filter表包含INPUT、OUTPUT和FORWARD规则链,分别对发往本地、本地发出以及经过主机进行路由转发的数据包进行过源处理。

  • nat表
    nat表中包含PREROUTING、POSTROUTING和OUTPUT规则铿,PREROUTING规则链对未经路由选择的数据包转换其目标IP地址和端口,POSTROUTING规则链则对已经过路中选择的数据包进行源IP地址和端口转换,OUTPUT规则链针对本地数据包进行目标IP地址和端口转换。

  • mangle表
    mangle表针对数据包头部信息进行特殊地修改,如设置TOS值,标记数据包,用于策略路由、网络流量整形等一些目的。

2.3.2 netfilter/iptables的NAT机制

netfilter/iptables对NAT网络地址转换技术的又持非常全面,包括IP伪装、透明代理、端口转发和其他形式的网络地址转换技术等。

  • IP伪装:在内部网络使用私有IP网段,如通过防火墙上绑定的一个外网IP地址共享上网的场景,使得内部网络主机数据包使用外网IP。
  • SNAT机制:SNAT机制按照用户规则配置,可以将网络连接的源地址改变成各种灵活配置的不同地址(IP伪装是SNAT机制的一种特例)。
  • DNAT机制:DNAT在PREROUTING链中完成,对于本机的应用程序来说(包括routing、包过滤程序)都忽略目的地址的改变,认为到达真实的目的地址。需要用到-i选项。

2.3.4 其他网络防御技术

  • VPN
  • 内网安全管理
  • 内容安全管理SCN
  • 统一威胁管理

3 网络监测技术与系统

3.1 入侵检测

入侵检测,顾名思义,就是对入侵行为(定义为任何尝试破坏信息资源的保密性、完整性或可用性的行为。)的检测与发现。

3.1.1 入侵检测发展历史

3.1.2 入侵检测技术评估指标

  • 检测率(True Positive):指入侵检测系统捕获到的攻击行为数目和全部攻击数目之比
  • 误报率(False Positive):指入侵检测系统对正常行为的误报数目与入侵检测系统所输出的全部报警数目之比。

3.1.3 入侵检测技术

  • 误用检测((特征检测)
    认为所有入侵行为都有可能被检测到的特征,通过收集已知入侵行为的特征并进行描述,构成攻击特征库,然后对收集信息进行特征模式匹配,所有符合特征描述的行为均被视为入侵。
  • 异常检测
    入侵者的行为和正常用户的行为具有差异,利用这些差异可以检测出入侵行为。异常检测方法是建立起系统的正常模式轮廓,若实时获得的系统或用户的轮廓值与正常值的差异超出指定的阈值,就进行入侵报警。

3.1.4 入侵检测系统的分类与部署

从入侵检测系统的检测数据来源,可以将入侵检测系统分为:

  • 基于主机的入侵检测系统(Network-basedIDS,NIDS)

  • 基于网络的入侵检测系统(Network-basedIDS,NIDS)

从入侵检测系统所采用的信息分析技术分类,可以将入侵检测系统分为:

  • 误用检测(特征检测)方法

  • 异常检测方法

3.2 开源网络入侵检测系统:snort

Snort是一款非常著名的开源网络入侵检测系统软件,具有强大的功能,数据包喂探、数据包记录和分析,以及各种入侵检测功能。

Snort软件的基本架构如图所示,主要由四个基本部分组成:

(1)数据包噪探/解码器〔sniffer);

(2)预处理器/插件(preprocessor);

(3)检测引擎/插件Cdetectionengine):

(4)输出模块/插件Coutputmodules)。

4 安全事件响应技术

网络安全事件响应是 P²DR模型中响应环节的关键技术手段。所谓网络安全事件,指
的是那些影响计算机系统和网络安全的不当行为,这些行为包括传统意义上对CIA基本属性(即机密性、完整性和可用性〉的破坏行为。

网络安全事件响应过程中涉及的关键技术:

  • 计算机取证

  • 攻击追溯与归因

  • 备份恢复与灾难恢复等

5 实践1--防火墙配置

任务: 配置Linux平台上的iptables(SEED VM),完成如下功能并测试。

- 过滤ICMP数据包,使主机(SEED VMi)不接受ping包。

配置: 同一网段内的SEED VM(192.168.200.7)、Kali(192.168.200.3)、Windxpattacker(192.168.200.4)。

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

  1. 在SEED VM上执行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.4,发现ping不通

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

- 只允许特定IP地址(Kali)访问主机的某一网络服务,而其他IP地址(Windxpattacker)无法访问。

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

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

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

6. 实践2--Snort

任务: 使用Snort对给定的pcap文件进行入侵检测,并对检测出的攻击进行说明.在BT4 Linux攻击机上使用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/snor 生成一个日志文件,cd/var/log/snor 查看日志文件 vim alert,本次攻击是用nmap发起的。攻击目标IP地址是 172.31.4.178,网络扫描的目标IP地址是 172.31.4.188 ,还可以看到端口号等等。

7.实践2--分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,并撰写分析报告。

任务: 说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求。

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

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

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

  1. 输入iptables -L查看规则列表,

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 iptable,chkconfig --list | grep snort。

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

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

8.学习感想

问题:不能修改vim /etc/init.d/snortd文件
问题解决:read-only文件,需要保存时加wq!

9.学习感悟

这周的学习内容还是挺多的。往往只有登上高山才知道山上的风景是不是你想要的。

posted @ 2020-04-07 22:17  20199314贺泽华  阅读(432)  评论(0编辑  收藏  举报