20199323 2019-2020-2 《网络攻防实践》第6周作业
1.实践内容
6.1 安全模型
传统的安全评估和防范方法是通过对网络进行风险分析,制定相应的安全策略,然后采取一种或多种安全技术作为防护措施的,这种安全模型与流程在主要针对固定,静态的威胁和环境弱点,但忽略了网络安全的重要特性,对网络安全所面临的威胁和系统脆弱性没有做充分的估计。
动态可适应网络安全模型基于闭环控制理论,典型模型是PDR(Protection、Detection、Response)模型以及在其基础上提出的P2DR(Ploicy、protection、detection、Response)模型等。PDR模型是一个基于时间的动态安全模型,以经典的P>D+R为本质基础,并提出安全性可量化和可计算的观点。P2DR:网络安全=根据风险分析制定安全策略+执行安全防护策略+实时监测+实时响应。在这个模型中,安全策略是模型的核心,所有的防护、检测、响应都是依据安全策略实施的,安全策略为安全管理提供管理方向和支持手段。
6.2 防护墙概述
-
功能:
检查控制进出网络的流量。
防止脆弱或不安全的协议和服务。
防止内部网络信息的外泄。
对网络存取和访问进行监控审计。
强化网络安全策略并集成其他安全防御机制。 -
不足:
来自网络内部的安全威胁
通过非法外联的网络攻击
计算机病毒传播 -
由于技术瓶颈问题目前还无法有效防范的安全威胁
针对开放服务安全漏洞的渗透攻击
针对网络客户端程序的渗透攻击
基于隐蔽通道进行通信的特洛伊木马或僵尸网络 -
技术:
包过滤技术:在路由功能基础上进行扩展,通过对网络层和传输层包头信息的检查,根据用户定义的安全策略规则
集,确定是否应该转发该数据包。
基于状态检测的包过滤技术:除了使用静态规则进行安全进行安全策略匹配,还进行数据包的网络连接的上下文关系探测。
代理技术:代理技术是一种重要的计算机安全防护功能,允许客户端通过它与另一个网络服务进行非直接的连接。 -
部署方法:
包过滤路由器
双宿主堡垒主机
屏蔽主机
屏蔽子网 -
IPtables工作流程
规则的功能大类分别为raw,mangle,nat,filter四种,这些规则统称为表;而钩子函数分为PREROUTING、INPUT、FORWARD、OUTPUT、POSTOUTING五种,这些钩子函数统称为链。
6.3网络检测技术与系统
-
入侵检测技术的评估指标检测率和误报率。
-
根据检测数据来源入侵检测可分为基于主机的HIDS和基于网络的NIDS。HIDS一般用来监视主机信息,NIDS以其监听到的网络数据包作为分析数据源。
-
根据采用的信息分析技术分为误用检测和异常检测。
-
根据体系结构分为集中式、层级式和协作式。
-
入侵防御系统IPS是在入侵检测系统基础上发展出来的。入侵防御采用直接在网络边界位置内联连接的方式,并在检测到入侵行为后,直接对所关联的攻击网络连接进行阻断处理。
snort工作原理:
Snort 工作流程分为以下四个主要部分:
- 数据包嗅探与解码器:首先,利用libpcap从网卡捕获网络上的数据包,然后数据包经过解码引擎填入到链路层协议的包结构体中,以便对高层次的协议进行解码,如TCP和UDP端口。
- 预处理器与插件:接着,数据包被送到各种各样的预处理器中,在检测引擎处理之前进行检查和操作。每个预处理器检查数据包是否应该注意、报警或者修改某些东西。
- 检测引擎与插件:然后,包被送到检测引擎。检测引擎通过各种规则文件中的不同选项来对每个包的特征和包信息进行单一、简单的检测。检测引擎插件对包提供额外的检测功能。规则中的每个关键字选项对应于检测引擎插件,能够提供不同的检测功能。
- 输出与插件:Snort通过检测引擎、预处理器和解码引擎输出报警。
2.实践过程
防火墙配置:
(1)过滤数据包,使得主机不接收ping包;
-
首先在seed上iptables -L查看规则,注意在root权限下该命令才有效。
-
要完成实验需要修改规则,iptables -A INPUT -p icmp -j DROP (-A 添加一条规则 -p 指定协议 -j 具体的操作内容)
icmp数据包规则发生了变化。
- 然后在kali攻击机上ping seed主机发现ping不通
- iptables -F删除自定义规则,
又可以ping通。
(2)只允许特定IP地址访问主机的某一项服务,其他IP地址无法访问。
- 首先保证kali和seed都可以telnet登陆linux-mata
在linux-mata输入iptables -P INPUT DROP,设置不接收任何包,此时2台机器都连不上mata,
输入iptables -A INPUT -s 192.168.200.4 -p tcp -j ACCEPT设置只接收kali,结果如下,kali可以正常连接,seed不能连接,出现trying:
执行iptables -F和iptables -P INPUT ACCEPT恢复之前状态。
snort
使用Snort对给定pcap文件进行入侵检测,并对检测出的攻击进行说明。
在BT4 Linux攻击机或Windows Attacker攻击机上使用Snort,对给定的pcap文件进行入侵检测,获得报警日志。
Snort运行命令提示如下:
- 从离线的pcap文件读取网络日志数据源
- 在snort.conf中配置明文输出报警日志文件
- 指定报警日志log目录(或缺省log目录=/var/log/snort)
在kali中输入snort -r listen.pcap -c /etc/snort/snort.conf -K ascii,得到下图:
可以看出能检测到各种包的信息,最主要的是TCP数据包。
警报日志文件在/var/log/snort下,我们通过vim /var/log/snort/alert打开:
可得是有nmap生成的。
蜜网网关的防火墙和IDS/IPS配置规则
分析虚拟网络攻防环境中密网网关的防火墙和IDS/IPS配置规则,并撰写分析报告,说明密网网关是如何利用防火墙和入侵检测技术完成其攻击数据捕获和控制需求的。
具体分析配置规则与启动项文件包括:
-
防火墙(netfilter+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;
上述脚本是如何实现蜜网的数据捕获和数据控制? -
vim /etc/init.d/rc.firewal
create_chains函数定义了3个链,白名单、黑名单和防护名单,白名单是设置能通过的用户,白名单以外的用户都不能通过,黑名单是设置不能通过的用户,防护名单是部分包能通过。 -
iptables规则表
输入指令iptables -t filter -L
-
vim /etc/init.d/snortd打开snort脚本文件,一开始是一堆参数选项:
监听默认使用的是eth0网卡
创建目录,添加权限
-
vim /etc/init.d/hw-snort_inline 打开snort_inline的脚本文件,可以看到到实际执行的参数。
-
防火墙、NIDS、NIPS启动
运行命令chkconfig --list|grep [服务] ,查看所要查的相关服务是否开启,可以看到防火墙和NIPS是和系统一块启动的:
-
snort规则自动升级
vim /etc/honeywall.conf,打开honeywall配置文件,可以看出应该使用Oinkmaster升级的:
3.学习中遇到的问题及解决
- 问题1:telent一开始telent不上
- 问题1解决方案:过了一天不知道怎么回事就可以了
- 问题2:防火墙的配置文件打不开
- 问题2解决方案:权限不够,用su - 提升权限就可以了。
4.实践总结
了解了防火墙技术和入侵检测技术,学会了iptables、snort的使用方法一些命令。