防火墙渗透测试内容研究
2021-03-07魏玉峰
◆魏玉峰
防火墙渗透测试内容研究
◆魏玉峰
(陕西省网络与信息安全测评中心 陕西 710065)
随着网络安全等级保护相关标准更新到“2.0”时代,渗透测试也成了等级保护定级三级及以上的网络系统在开展测评工作中必不可少的一项工作内容。不仅如此,对于网络的渗透测试内容不仅限于传统的信息系统,而且将网络设备、安全设备也纳入到了渗透测试的范畴之内。作为网络系统与外部网络之间的第一道防线,防火墙的安全防护情况更是备受关注。本文提出了一套针对防火墙的渗透测试内容,为实际工作提供参考思路。
防火墙;渗透测试;安全防护
要开展针对防火墙的渗透测试,首先要了解什么是防火墙。防火墙是一种用于检查与控制网络的传入和传出数据流量的软件或硬件设备。防火墙根据预设的策略、规则或ACL(Access Control List,访问控制列表),过滤和限制所有网络连接。部署防火墙的主要作用是将可信网络与外部网络进行隔离。为此,内部网络通常在DMZ(“demilitarized zone,非军事区)中放置防火墙,也可以在企业内部网络或Intranet的边界部署其他防火墙,或者,在工业组织(如电厂)的SCADA(Supervisory Control And Data Acquisitio,数据采集与监视控制)系统之前部署防火墙。
防火墙有很多类型,每种类型功能侧重点各不相同。传统防火墙无法对状态数据包进行检查,只能根据数据包的IP地址和端口号进行网络流量分析。随着技术的发展,NGFW(Next Generation FireWall,下一代防火墙)可以实现动态数据包过滤,并且可以对所有活动连接以及连接状态进行监听,这些信息有助于访问权限控制。
防火墙需要依赖特定的策略和规则以确保网络连接的安全性。策略和规则定义了是否允许特定类型的网络流量。这些策略也可以在整个网络的不同区域间的防火墙上应用。
开展防火墙渗透测试包含以下13方面的内容,包括识别防火墙,路由跟踪,端口扫描,识别版本信息,枚举访问控制列表,防火墙体系结构识别,防火墙策略测试,路由策略检测,端口重定向,内部和外部测试,隐蔽通道检测,HTTP隧道以及识别防火墙特定的漏洞。
1 识别防火墙
与传统信息系统渗透测试一样,防火墙渗透测试需要先识别防火墙。使用数据包处理软件可以帮助识别网络中的防火墙。
2 路由跟踪
通过对识别出的防火墙运行tracert命令来确认网络范围。通过系统之间路由包的信息,可以确定连接建立过程中涉及的所有路由器和设备。同时还可以获得与过滤流量和所使用协议的设备有关的信息。
3 端口扫描
使用端口扫描工具(例如Nmap)不仅可以标识防火墙上的开放端口,还可以标识端口上运行的相应服务。
4 抓取版本信息
通过抓取防火墙的版本信息,可以通过搜索引擎查找可能危害防火墙的漏洞。定制数据包并检测防火墙是一项重要的测试内容。这样做的目的是检测防火墙的不同响应。渗透测试人员通过尝试不同形式的扫描,可以收集尽可能多的信息。
5 枚举访问控制列表
防火墙通过ACL确定允许或拒绝来自内部网络的流量。通过使用工具枚举访问控制列表,渗透测试人员可以观察到防火墙上端口的开放状态。
6 防火墙体系结构识别
通过从防火墙特定端口上获取响应,测试人员将能够确定防火墙的反应并帮助映射开放端口。
7 测试防火墙策略
测试防火墙策略有时被认为是内部网络渗透测试的一部分。
渗透测试人员将比较提取的防火墙策略配置和预期配置的硬拷贝,以识别潜在的漏洞,测试人员将在防火墙上执行操作,以确认所需的配置。
8 路由策略检测
网络审核工具使用跟踪路由技术分析防火墙返回的数据包,通过检查防火墙后面的设备来确定防火墙上的端口开放情况,进一步确认能够通过防火墙的流量情况。
9 端口重定向
端口重定向可以进一步检测给定的网络防护状态。如果无法直接访问目标端口,则可以尝试使用端口重定向技术来进行绕过。
10 内部和外部测试
根据执行的渗透测试的类型,此项内容可能不适用。但此项内容仍然具有很高的重要性,因为从网络两侧测试防火墙可以更好检测规则是否生效,避免产生遗漏的情况。
11 测试隐蔽通道
隐蔽通道通常是指隐藏的通信连接,它使外部人员能够保持“隐身”状态。隐蔽通道通常用于隐藏活动及从公司内部盗取数据,一般是通过安装在网络内部受感染计算机上的后门来创建的。
12 HTTP隧道
HTTP隧道方法由使用HTTP协议封装流量组成,当对位于防火墙或代理后面的设备的访问权限受到限制时,通常会使用HTTP隧道方法。
在这种情况下,可以通过指定主机名,端口号和路径,使用工具将访问请求发送到服务器。由于该功能具有绕过代理的能力,因此代理本身上是否启用额外http连接方法成为本项检测的重点。
13 识别防火墙特定的漏洞
要确保防火墙没有漏洞,重点是确保没有错误配置。在某些情况下,某些打开的端口上可能会启用打印或文件共享服务,这将导致恶意人员通过该媒介绕过防火墙。为保安全,禁用不需要的服务并检查防火墙配置是最直接有效的方法。
渗透测试最大的作用在于为客户寻找网络里的高危漏洞。与普通的渗透测试一样,防火墙测试也需要形成报告。报告中重要的是测试中发现的所有问题,尤其是对目标防火墙起作用的攻击所利用的漏洞。此外,渗透测试人员应将重点放在寻找有效的攻击方法和可能发现的错误配置上。
总而言之,开展防火墙渗透测试的主要目的是防止未经授权从外部网络访问内部网络。能否成功开展防火墙渗透测试取决于多个因素。正确配置防火墙策略和规则可以大幅降低渗透测试成功率,并防止大多数未经授权的连接尝试。通过防火墙渗透测试,可以从网络边界处有效提升网络安全防护能力。