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

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

1.前言

作业 答案
这个作业属于哪个课程 网络攻防实践
这个作业的要求在哪里 第六次作业 网络安全防范技术
我在这个课程的目标是 学习、提高网络攻防的本领
这个作业在哪个具体方面帮助我实现目标 了解防火墙原理并进行实践

2.本章知识点总结

2.1 安全模型

  • 静态安全模型:对网络进行风险分析,制定相应的安全策略,然后采取安全技术作为防护措施,主要针对固定、静态的威胁和环境弱点。
  • 动态可适应网络安全模型基于闭环控制理论,典型模型有PDR(Protection、Detection、Response)及P^2DR(Policy、Protection、Detection、Response)
    • PDR安全模型是基于时间的动态安全模型,如果信息系统的防御机制能抵御入侵时间Pt,能超过检测机制发现入侵的时间Dt和响应机制有效应对入侵时间Rt之和,那么这个系统就安全。
    • P2DR中网络安全=根据风险分析制定安全策略P+执行安全防护策略P+实时检测D+实时响应R。安全策略是核心。

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

2.2.1 防火墙技术概述

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

  • 防火墙的功能

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

    • 防火墙作为网络边界防护机制而先天无法防范的安全威胁

      • 来自网络内部的安全威胁
      • 通过非法外联的网络攻击
      • 计算机病毒传播
    • 防火墙由于技术瓶颈问题目前还无法有效防范的安全威胁

      • 针对开放服务安全漏洞的渗透攻击
      • 针对网络客户端程序的渗透攻击
      • 基于隐蔽通道进行通信的特洛伊木马或僵尸网络

2.2.2 防火墙技术和产品

  • 防火墙技术

    • 包过滤技术:通过对网络层和传输层包头信息的检查,根据用户定义的安全策略规则集,确定是否应该转发该数据包,将一些不符合安全策略的数据包阻挡在网络的边界处。
    • 基于状态检测的包过滤技术:区别于包过滤技术,它是动态包过滤技术。它维护所有通过防火墙的网络连接记录,并依次判定这个包的连接状态。它试图追踪数据包在网络连接的上下文关系,在网络连接层次上匹配和实施防火墙规则。
    • 代理技术:客户端首先与代理服务器创建连接,接着发出一个对另外的目标服务器的文件或其他资源的连接请求,代理服务器通过与目标服务器连接或从缓存中取得请求的资源,并返回给客户端。
      • 应用层代理技术:其工作在网络协议栈的应用层,针对某一种具体的应用层网络服务器提供细致而安全的网络保护,能够理解应用层协议的数据内容,并进行深入全面的安全检查,从而为网络访问提供更好的安全保障。
      • 电路级代理技术:其工作在传输层,原理与应用层代理基本相似。
      • NAT代理技术:NAT技术工作在网络层,由内部网络发往外部网络的IP数据包,使用了私有IP地址段作为其源地址,在到达NAT代理后,将会把源IP地址和源端口部分替换成代理服务器的IP地址和另一指定的源端口,同时NAT代理将维护地址转换映射列表,将转换之前的私有网段源地址和原先端口号及转换之后的源端口号之间的映射关系记录在这个列表中,以供NAT代理在接收到该网络连接的响应包时,将其目的地址和目标端口转换为私有网段地址和源端口号,并发送给私有网段中的客户端主机。
  • 防火墙产品

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

    • 包过滤路由器:将带有包过滤防火墙功能的路由器作为内部网络和外部网络之间唯一的连接点,路由器在完成其数据包路由转发基本功能的同时,将依据网络管理员配置的访问控制列表,对数据包进行过滤
    • 双宿主堡垒主机:与包过滤路由器部署不同的是使用应用代理网关作为双宿主堡垒主机,代替包过滤路由器
    • 屏蔽主机:堡垒主机和包过滤的结合
    • 屏蔽子网:在屏蔽主机的基础上增加第二道包过滤路由器

2.2.3 Linux开源防火墙netfilter/iptables

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

  • netfilter/iptables包含了三个基本的规则表

    • 用于包过滤的filter表
    • 用于网络地址转换处理的nat表
    • 用于特殊目的的数据包修改的mangle表

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

2.3.1 入侵检测技术

  • 概念:对入侵行为的检测与发现入侵就是任何尝试破坏信息资源的保密性、完整性、可用性行为。而入侵检测是通过对计算机网络和计算机系统中若干关键信息的收集与分析,从中揪出入侵行为。它是继防火墙之后第二道安全屏障。

  • 入侵者分类

    • 外部渗透者:攻破系统的外部边界访问控制机制,渗透进内部
    • 假冒者:未经授权使用计算机系统(以合法身份)
    • 违法者:越权操作的合法用户
    • 秘密用户:对系统具有完全控制能力的内部人员
  • 入侵检测技术

    • 误用检测:主要关注对复杂攻击特征的描述和检测。
    • 异常检测:方式多样化,例如采用统计方法的IDES统计异常检测器等。
  • 入侵检测技术评估指标

    • 检测率:入侵检测系统捕获的攻击行为数目和全部攻击数目的比例
    • 误报率:入侵检测系统对正常行为的误报输目与入侵检测系统输出的全部报警数目比

2.3.1 开源网络入侵检测系统

  • Snort是一个强大的网络入侵检测系统。它具有实时数据流量分析和记录IP网络数据包的能力,能够进行协议分析,对网络数据包内容进行搜索/匹配,可以检测各种不同的攻击方式,对攻击进行实时报警等
  • 四大模块:数据包嗅探模块、预处理模块(用相应的插件来检查原始数据包)、检测模块(检测引擎依据预先设置的规则检查数据包)、报警/日志模块(经检测引擎检查后的Snort数据输出)

  • 三种工作模式:嗅探模式(从网络上读取数据包,常用命令snort -dev)、数据包记录模式(把数据包记录到硬盘上,常用命令snort -b)、网络入侵检测模式(载入规则库才能工作,Snort并不记录所有捕获的包,而是将包与规则对比,仅当包与某个规则匹配的时候,才会记录日志或产生报警)

3.实践过程

作业一:防火墙配置

任务:配置Linux平台上的iptables,完成如下功能,并进行测试:
任务一:过滤ICMP数据包,使主机不接受ping包;
任务二:只允许特定IP地址访问主机的某一网络服务,而其他IP地址无法访问。  
机器 角色 IP地址
kali 信任主机 192.168.0.110
seed 服务器 192.168.0.130
MetaSploitable2 不信任主机 192.168.0.131

任务一

  • 用SEED作为服务器,kali作为信任主机去访问SEED,Metasploitable为不信任主机
    kali先ping一下seed,此时可以ping通

  • iptables -L查看现有规则,都是默认的

  • 通过指令 iptables -A INPUT -p icmp -j DROP 指令使得主机不接受icmp的数据包。

    • -A是追加一条规则,INPUT表示数据包入口(规则
    • -p用于匹配协议
    • -j用于指定如何处理(ACTION)
  • iptables -L 查看,新规则已加入,此时通过Kali ping SEED Ubuntu,发现是ping不通的。

任务二

  • 先用kali和metapolitable对seed发起telnet服务,发现都是可行的


  • 使用 iptables -P INPUT DROP 拒绝seed一切的数据包流入(修改的是默认规则-P),此时两台电脑都无法进行访问。


  • 使用指令 iptables -A INPUT -p tcp -s 192.168.0.110 -j ACCEPT 开启kali对本机的tcp服务。并用 iptables -L 查看规则

  • 可以看到kali是可以正常telnet访问的,而MetaSploitable无法访问


作业二:Snort

任务:使用Snort对给定pcap文件(第4章中的解码网络扫描任意一个peap文件)进行入侵检测,并对检测出的攻击进行说明。     

在BT4 Linux攻击机或Windows Attacker攻击机上使用Snort,对给定的pcap文件进行入侵检测,获得报警日志。    

Snort运行命令提示如下  
- 从离线的pcap文件读取网络日志数据源  
- 在snort.conf中配置明文输出报警日志文件  
- 指定报警日志log目录(或缺省log目录=var/log/snort)   
  • 首先利用指令 snort -r listen.pcap -c /etc/snort/snort.conf -K ascii 对listen.pacp进行入侵检测,-K ascii主要是为了指定输出log文件的编码为ASCII(默认为binary)

  • 可以看到检测出的数据包大部分为TCP数据包

  • 在/var/log/snort/目录下可以查找到alert文件,这个文件即输出的日志文件,通过vim打开可以发现这个攻击是nmap发起的

作业三:分析蜜网网关的防火墙和IDS/IPS配置规则

分析虚拟网络攻防环境中蜜网网关的防火墙和IDS/IPS配置规则,并撰写分析报告,说明蜜网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。具体分析配置规则与启动项文件包括:  
- 防火墙(nefilter+IlPTables) : /etc/init.d/rc.firewall  
- 入侵检测系统(Snort) : /etc/init.d/hflow_snort 与/etc/snort/snort.conf  
- 入侵防御系统(Snort_ inline) : /etc/init./hflow-snort. inline 与/etc/snot. _inline/snort_inline.conf。  
分析内容如下:  
- 上述脚本是如何实现蜜网网关的数据捕获和数据控制机制?  
- 获取IPTables的实际规则列表、Snort 和Snort_inline 的实际执行参数。  
- 蜜网网关开机之后,防火墙、NIDS、NIPS 是如何启动的?  
- Bonus: 蜜网网关中的Snort规则是如何自动升级的?            
  • 打开蜜罐主机,用 vim /etc/init.d/rc.firewall 打开防火墙配置文件,看到create_chains函数中新建了许多规则链,包括黑名单、白名单、防护名单等

  • 在蜜罐中,使用iptables -t filter -L命令来查看规则列表。可以看出,默认的规则例如OUTPUT、INPUT、FORWARD都已经被关闭了



  • 使用命令vim /etc/init.d/snortd 打开Snort脚本文件,可以看到一些参数选项

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

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

  • 使用命令vim /etc/honeywall.conf打开配置文件,找到update variables,可以看到其值为no,不自动更新

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

  • 用snort进行入侵检测时 出现了这个问题

  • 用了很多方法都不行,更换kali源,又重新下载的snort,解决问题了

4.实践总结

本章作业不是很多,较为轻松,前两个任务还可以。最后一个实践有点麻烦,很多指令还是不会用,参考的同学博客。

5.参考资料

posted @ 2020-04-08 08:59  王晨20199120  阅读(255)  评论(0编辑  收藏  举报