20199132-《网络攻防实践》第六周作业

目录
  • 1.实践内容
    • 1.1安全模型
    • 网络安全防范技术与系统
    • 防火墙技术和产品
      • 防火墙的部署
    • 1.2.Linux开源防火墙netfilter/iptables介绍
    • 1.3网络检测技术与系统
  • 2.实践过程
    • 实践一:防火墙的配置
      • 任务一:配置Linux平台上的iptables,完成如下功能并测试
      • 任务二:只允许特定IP地址访问主机的某一网络服务,而其他IP地址无法访问
    • 实践二:snort实践
    • 实践三:分析蜜网网关的防火墙和IDS/IPS配置规则
  • 3.遇到的问题
  • 4.感想
  • 参考资料

1.实践内容

1.1安全模型

  • PDR模型是一个基于时间的动态安全模型。并提出安全性可量化和可计算的观点。
  • P2DR模型基本描述为:网络安全=制定安全策略+执行安全防护策略+实时检测+实时响应。

网络安全防范技术与系统

  • 防火墙技术:通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。
  • 防火墙功能:在网络协议栈的各个层次上实施网络访问控制机制。可以提供检查控制进出网络的网络流量,防止脆弱或不安全的协议和服务,防止内部网络信息的外泄,对网络存取和访问进行监控审计,防火墙可以强化网络安全策略并集成其他安全防御机制。
  • 防火墙的不足:无法防止网络内部的安全威胁,非法外联的网络攻击,计算机病毒传播。
  • 针对防火墙的漏洞的攻击:开放服务安全漏洞的渗透攻击,针对网络客户端程序的渗透攻击,基于隐蔽通道进行通信的特洛伊木马或僵尸网络。

防火墙技术和产品

  • 包过滤技术:通过对网络层和传输层包头信息的检查,根据用户定义的安全策略规则集,确定是否应该转发该数据包,将一些不符合安全策略的数据包阻挡在网络的边界处(简单但检查内容较少)
    20199132-《网络攻防实践》第六周作业_第1张图片

  • 基于状态监测的包过滤技术:出了检查每个独立的数据包之外,还会试图跟踪数除了在网络链接上的上下文关系,并以网络链接状态作为一个附加的匹配标准,以确定是否允许和拒绝通信。(强大规则设置简单,但复杂度高,对网络传输性能影响较大,并可能受到拒绝服务攻击的影响)

  • 代理技术(proxy):允许客户端通过它与另一个网络服务进行非直接的链接。代理技术有利于保障网络安全,防止网络攻击,包括应用层代理、电路级代理和NAT代理。

防火墙的部署

  • 包过滤路由器:带有包过滤防火墙功能的路由器
  • 双宿主堡垒主机:应用代理网关作为双宿主堡垒主机
  • 屏蔽主机:堡垒主机和包过滤的结合
  • 屏蔽子网:在屏蔽主机的基础上增加第二道包过滤路由器

1.2.Linux开源防火墙netfilter/iptables介绍

  • 简介:netfilter是Linux内核中实现网络的防火墙功能模块,iptables则是应用太防火墙管理工具。

  • netfilter/iptables中包含三个最基本的规则表:用于包过滤处理的filter表、用于网络地址转换处理的nat表,以及用于特殊目的数据包修改的mangle表。
    20199132-《网络攻防实践》第六周作业_第2张图片

  • 链:链是顺序执行规则的编排方式,在复杂的网络环境中,管理员需求这种可控的、有序执行的规则应用方式。iptables 提供了5条链:INPUT链、OUTPUT链、FORWARD链、路由前链(Pre-Routing)、路由后链(Post-Routing)。

  • Iptables为用户提供了netfilter规则的命令行接口,其命令语法为:

$ iptables [-t table] command [match] [target]

-t指定配置规则所在的表,缺省表包括filter、nat、mangle、raw等
20199132-《网络攻防实践》第六周作业_第3张图片

命令 功能
-A或--append 将一条规则附加到链末尾
-D或--delete 匹配指定规则编号并删除
-P或--policy 设置链的缺省目标操作
-N或--new-chain 指定名称创建一个新链
-F或--flush 快速清除
-L或--list 列出指定链的所有规则

1.3网络检测技术与系统

  • 1.入侵检测技术
    • 评估指标:检测率(系统捕获到的攻击行为与全部攻击行为比值)和误报率(对正常行为的误报数与全部报警数的比值)。
    • 技术类型:特征检测(匹配特征库)、异常检测(检测与正常用户在统计方面的差别)。二者通常结合使用,提高入侵检测系统的整体检测性能。同时,基于这两种技术,也可以对入侵检测系统进行分类。
    • 入侵防御系统:也叫内嵌式入侵检测,即对检测到的异常行为或者与特征库匹配的行为直接进行阻断,断开访问。
  • 2.snort软件
    • 简介:开源网络入侵检测系统软件,具备数据包嗅探、数据包分析与记录等多种功能。
    • snort的模块:数据包嗅探/解码器、预处理器模块、检测引擎模块、输出模块。

2.实践过程

实践一:防火墙的配置

任务一:配置Linux平台上的iptables,完成如下功能并测试

(1)过滤ICMP数据包,使主机不接受ping包
(2)只允许特定IP地址访问主机的某一网络服务,而其他IP地址无法访问
这里选用SEED-Ubuntu(简称seed)为服务器,kali为信任主机,MetaSploitable(简称meta)作为不可信任主机,用kali访问seed,联网后记录三台机器的IP地址为:

主机 IP
seed 192.168.31.53
kali 192.168.31.188
meta 192.168.31.111

1.过滤ICMP包
(1). 在seed是上使用命令

iptables -L
20199132-《网络攻防实践》第六周作业_第4张图片

发现均采用默认规则
(2). 通过指令

iptables -A INPUT -p icmp -j DROP

指令使得主机不接受icmp的数据包。指令详解:-A是追加一条规则,INPUT表示数据包入口(规则),-p用于匹配协议,-j用于指定如何处理(ACTION)。
(3).然后通过kalipingseed时失败,回到SEED再次查看规则,可看到一条icmp针对任何位置不允许访问的规则
20199132-《网络攻防实践》第六周作业_第5张图片

(4).使用

iptables -F

删除自定义规则,为下个实践做准备。

任务二:只允许特定IP地址访问主机的某一网络服务,而其他IP地址无法访问

(1).确认kali和meta进行telnet登录seed
20199132-《网络攻防实践》第六周作业_第6张图片
20199132-《网络攻防实践》第六周作业_第7张图片

(2).接下来使用

iptebles -P INPUT DROP
20199132-《网络攻防实践》第六周作业_第8张图片

指令拒绝一切的数据包流入(修改的是默认规则-p),此时应该两台电脑都无法访问
(3).使用指令

iptables -A INPUT -P tcp -s 192.168.31.188 -j ACCEPT
20199132-《网络攻防实践》第六周作业_第9张图片

开启kali对seed的tcp服务,并用iptables -L查看规则
20199132-《网络攻防实践》第六周作业_第10张图片

(4).再用telnet命令访问seed,发现只有kali可以 访问。
20199132-《网络攻防实践》第六周作业_第11张图片
20199132-《网络攻防实践》第六周作业_第12张图片

实践二:snort实践

(1).使用

snort -r /home/kali/listen.pacp -c /etc/snort/snort.conf -K ascii

对listen.pacp进行入侵检测,其中-K ascii主要是为了指定输出log文件的编码为ASCII,然后得到对于数据包的检测
20199132-《网络攻防实践》第六周作业_第13张图片

(2).查看输出的包,可以发现TCP数据包占据绝大多数。

(3).在 /var/log/snort/ 目录下可以查找到alert文件,这个文件即输出的日志文件。
20199132-《网络攻防实践》第六周作业_第14张图片

通过vim打开可以发现这个攻击是nmap发起.

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

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

  • 上述脚本是如何实现蜜网的数据捕获和数据控制?
    数据捕获一般有三个层次:防火墙的日志记录、eth1上的嗅探器记录的网络流
    数据控制:包括防火墙对数据的控制,以及IPS对异常数据的限制。防火墙iptables对连出连接数的控制,另一个是网络防御系统snort_inline对连出异常数据的控制。并在防火墙内容规则上增加了黑名单。白名单,防护名单等功能。
  • 获取iptables的实际规则列表、snort和sonrt_inline的实际执行参数
    首先查看防火墙文件 vim /etc/init.d/rc.firewall
    20199132-《网络攻防实践》第六周作业_第15张图片

iptables -t filter -L
20199132-《网络攻防实践》第六周作业_第16张图片

-t是指定规则表,-L表示列表。查看规则表发现默认的规则都关闭了。

  • 蜜网网关开机后,防火墙、NIDS、NIPS是如何启动的?
    通过指令chkconfig --list | grep来查看当前服务是否开启,chkconfig命令主要用于检查,设置系统的各种服务。若0-6全部为off,则不自动启动。

可以看到防火墙和NIPS(snort_inline)是跟随系统启动的,并且开机自动配置刚才的脚本文件。NIDS不会自动启动

  • snort实际执行参数
    通过指令vim /etc/init.d/snortd可查看,snortd是snort启动的脚本文件,snort.conf是具体预警的规则设定,默认使用snort.conf规则,默认监听网卡为eth0,默认存储日志路径为 /var/log/snort
    20199132-《网络攻防实践》第六周作业_第17张图片
    20199132-《网络攻防实践》第六周作业_第18张图片

  • 获取snort_inline实际执行参数
    通过指令vim /etc/init.d/hw-snort_inline打开snort_inline脚本,可以看到一些默认信息
    20199132-《网络攻防实践》第六周作业_第19张图片

  • Snort规则如何自动升级
    在/etc目录下使用命令vim honeywall.conf打开honeywall配置文件,这个里面可以看到一些,如我们配置的IP地址、子网掩码等等。
    snort规则默认是不自动更新的。Oinkmaster是自动更新的软件。
    20199132-《网络攻防实践》第六周作业_第20张图片
    20199132-《网络攻防实践》第六周作业_第21张图片

3.遇到的问题

  • 蜜网一直登录不上去,同时root密码错误。
    发现是之前把虚拟机文件放到不同路径下,转移后还要重新配置,我佛了。
  • vim浏览文件的操作不会使,而且蜜网终端里代码显示ui真的特别恶心,花里胡哨的,对眼睛不好。
  • snort 文件好多命令不会,通过参考其他同学的博客解决的。

4.感想

前两个任务并不难,真的让我难受的是第三个任务,蜜网的操作以及vim浏览snort都很不熟练,还是需要继续学习linux文件的相关操作。snort的浏览很多命令都要不断地去查询,觉得真的难,而且烦。

参考资料

iptables命令详解
解建国同学的博客

你可能感兴趣的:(20199132-《网络攻防实践》第六周作业)