20199128 2019-2020-2 《网络攻防实践》第六周作业
20199128 2019-2020-2 《网络攻防实践》第六周作业
这个作业属于哪个课程 | 《网络攻防实践》 |
这个作业的要求在哪里 | 《网络攻防实践》第六周作业 |
这个作业在哪个具体方面帮助我实现目标 | 学习防火墙相关知识 |
作业正文.... | 见正文 |
其他参考文献 | 见参考文献 |
1.实践内容
1.1安全模型
- PDR安全模型:是一个基于时间的动态安全模型,以经典的网络安全不等式Pt>Dt+Rt为基础,即如果信息系统的防御机制能够抵御入侵的时间Pt,能够超过检测机制发现入侵的时间Dt和响应机制有效应对入侵的时间Rt之和,则这个信息系统是安全的。
- P2DR安全模型:由PDR模型进一步扩展出来,其描述为:网络安全=根据风险分析制定安全策略(Policy)+执行安全防护策略(Protection)+实时检测(Detection)+实时响应(Response)
1.2网络安全防范技术与系统
1.2.1防火墙技术
- 定义:指的是置于不同的网络安全域之间,对网络流量或访问行为实施访问控制的安全组件或设备。
- 功能:
- 检查控制进出网络的网络流量
- 防止脆弱或不安全的协议和服务
- 防止内部网络信息的外泄
- 对网络存取和访问进行监控审计
- 防火墙可以强化网络安全策略并集成其他安全防御机制
- 不足:
- 先天无法防范的安全威胁:
- 来自网络内部的安全威胁
- 通过非法外联的网络攻击
- 计算机病毒传播
- 无法有效防范的安全威胁:
- 针对开放服务安全漏洞的渗透攻击
- 针对网络客户端程序的渗透攻击
- 基于隐蔽通道进行通信的特洛伊木马或僵尸网络
- 先天无法防范的安全威胁:
- 技术:
- 包过滤技术:在路由功能基础上进行扩展,通过对网络层和传输层包头信息的检查,根据用户定义的安全策略规则集,确定是否应该转发该数据包,将一些不符合安全策略的数据包阻挡在网络边界。经济实用,工作在网络层,简单高效但功能有限。
- 基于状态检测的包过滤技术:也称动态包过滤技术。仍然使用静态规则进行安全策略匹配,还跟踪数据包在网络连接上的上下文关系,来确定是否允许通信。这种技术相比较传统的包过滤技术安全性更高,复杂度高,对网络传输性能影响较大。
- 代理技术:允许客户端通过代理与网络服务进行非直接的连接,也称“网络代理”。其过程是客户端先与代理服务器连接,代理服务器通过与目标服务器连接取得请求资源返回给客户端。代理技术包括应用层代理(应用层)、电路级代理(传输层)和NAT代理(网络层)等。
- 产品:
- 集成包过滤功能的路由器
- 基于通用操作系统的防火墙软件产品
- 基于安全操作系统的防火墙
- 硬件防火墙设备
- 部署方法:
- 包过滤路由器
- 双宿主堡垒主机
- 屏蔽主机
- 屏蔽子网
- 其他网络防御技术:
- VPN
- 内网安全管理
- 内容安全管理SCM
- 统一威胁管理
1.3网络检测技术与系统
1.3.1入侵检测
- 定义:入侵即尝试破坏信息资源的保密性、完整性和可用性的行为。入侵检测即通过对计算机网络或计算机系统中若干关键点信息的收集和分析,从中发现入侵行为的一种安全技术。
- 评估指标:
- 检测率:入侵检测系统捕获到的攻击行为数与全部攻击数目之比。
- 误报率:入侵检测系统对正常行为的误报数与入侵检测系统所输出的全部报警数目之比。
- 技术:
- 误用检测:也称特征检测。通过收集已知入侵行为特征,构成攻击特征库,然后采取模式匹配的方式判断是否入侵行为。低误报率,高漏报率,系统负担小,但不能检测未知入侵行为或已知入侵行为的未知变种。
- 异常检测:通过建立系统的正常模式轮廓,若实时获得的系统或用户的轮廓值与正常值的差异超出指定阈值,就进行入侵报警。高误报率,可以检测未知入侵。
-入侵防御系统IPS:亦称内嵌式IDS。采用直接在网络边界位置内联连接的方式,在检测到入侵行为后,直接对所关联的攻击网络连接进行阻断处理。侧重于低误报率和高处理效能。
1.3.2开源网络入侵检测系统:Snort
- 基本架构:数据包嗅探/解码器、预处理器/插件、检测引擎/插件、输出模块/插件。
- 三种模式:
- 嗅探器:仅仅是从网络上读取数据包并作为连续不断的流显示在终端上
- 数据包记录器:把数据包记录到硬盘上
- 网络入侵检测系统:分析网络数据流以匹配用户定义的一些规则, 并根据检测结果采取一定的动作
1.4网络安全事件响应技术
- 计算机取证、攻击追溯与归因、备份恢复与灾难恢复等
2.实践过程
任务一:配置linux操作系统平台上的iptables,
过滤ICMP数据包,使得主机接收不到Ping包。
只允许特定IP地址访问主机的某一网络服务,而其他IP地址无法访问。
主机 | IP |
---|---|
kali | 192.168.200.2 |
MetaSploitable2 | 192.168.200.125 |
SEED | 192.168.200.4 |
(1)过滤ICMP数据包,使得主机接收不到Ping包。
SEED可以ping通kali
在kali终端键入命令iptables -A INPUT -p icmp -j DROP
使主机不接受icmp的包。
-A 是追加新规则于指定链的尾部, INPUT 表示数据包入口(规则), -p 用于匹配协议, -j 用于指定如何处理(ACTION)。可用iptables -L
命令查看前后规则变化。
SEED无法ping通kali。
用iptables -F
可以删除自己定义的规则。删除规则后SEED可以再次ping通kali。
(2)只允许特定IP地址访问主机的某一网络服务,而其他IP地址无法访问。
kali和MetaSploitable2均可以正常telnet连接SEED。
在SEED终端键入命令iptables -P INPUT DROP
拒绝一切数据包流入,此时kali和MetaSploitable2都无法telnet连接SEED。
然后键入命令iptables -A INPUT -p tcp -s 192.168.200.2 -j ACCEPT
使其接受来自192.168.200.2即kali的数据包。
此时kali可以telnet连接SEED,而MetaSploitable2不行。
最后键入iptables -F和iptables -P INPUT ACCEPT回到之前状态。
任务二:使用snort对给定的pcap文件进行入侵检测,并对检测出的攻击进行说明。
使用seed攻击机上使用snort,对给定的pcap文件进行入侵检测,并获得报警日志。
在kali终端键入命令snort -r /home/kali/listen.pcap -c /etc/snort/snort.conf -K ascii
对文件listen.pcap进行入侵检测,其中参数-c表示选择snort配置文件,-r表示从pcap格式的文件中读取数据包,-K ascii 是用来指定输出日志文件的为ASCII编码。
可以看到检测出大量的tcp包数据。
打开/var/log/snort/alert可以看到nmap扫描双方ip及端口的信息。
任务三:具体分析配置规则与启动项文件包括:
防火墙:/etc/init.d/rc.firewall
入侵检测系统:/etc/init.d/hflow-snort和/etc/snort/snort.conf
入侵防御系统:/etc/init.d/hflow-snort_inline和/etc/snort_inline/snort_inline.conf
上述脚本是如何实现蜜网网关的数据捕获和数据控制机制
获取IPTables的实际规则表、snort和snort_inline的实际执行参数
蜜网网关开机之后,防火墙、NIDS、NIPS是如何启动的
蜜网网关的snort是如何自动升级的。
首先打开/etc/init.d/rc.firewall,可以看到create_chains()函数,函数内描述了黑白名单等的创建,防护名单以及防护日志删除。从语句中可以知晓防火墙对黑名单内主机,不与其建立联系,对白名单内的主机,通信不做记录,对保护名单内的主机,限制访问。
在蜜网网关中键入命令iptables -t filter -L
来查看规则列表。
打开/etc/rc.d/init.d/snortd文件查看snort执行参数。
打开文件/etc/init.d/hw-snort_inline查看实际执行参数, -D表示Daemon模式,-c表示读取config文件,-Q表示使用QUEUE模式,-l表示输出log文件的目录,-t表示改变程序执行时所参考的根目录位置。
键入命令chkconfig --list | grep iptables
查看服务开启情况,可知iptables和snort_inline(NIPS)开启是自动的,而snort(NIPS)需要手动开启。
打开honeywall配置文件/etc/honeywall.conf可以看到snort更新规则为不自动更新。
3.学习中遇到的问题及解决
- 问题1:新电脑安装snort出现了旧电脑没遇到的问题
- 问题1解决方案:查
4.实践总结
对防火墙的配置和iptables进一步掌握。