新闻资讯
网络安全培训:防火墙安全技术要求
防火墙就是一个位于计算机和它所连接的网络之间的软件,与杀毒软件不同的是,防火墙通过各种技术手段(如规则设定),来保护用户的计算机安全,直接拦截和降低系统受到威胁伤害的几率,这就是它存在的意义。
对中毒已深的计算机来说,防火墙不具备除毒作用,当有害程序试图通过联网将信息反馈给病毒制造者时,将会实行拦截。(如:盗号***)。反病毒技术的进步对于防火墙的发展促进是非常明显的,有的防火墙融入了先进的“云计算”,有的防火墙中HIPS能力相当成熟,有的防火墙行为分析能力出色,也有的防火墙支持传统路线,导致了普通用户看不出实质差别,弄的一头雾水,今天就让我们来分析这8款独立网络防火墙之间的较量。
防火墙是作用于不同安全域之间,具备访问控制及安全防护功能的网络安全产品,主要分为网络型防火墙、WEB应用防火墙、数据库防火墙、主机型防火墙或其组合。
防火墙的安全技术要求分为安全功能要求、自身安全要求、性能要求和安全保障要求四个大类。其中,安全功能要求对防火墙应具备的安全功能提出具体要求,包括组网与部署、网络层控制、应用层控制、攻击防护和安全审计与分析;自身安全要求针对防火墙的自身安全提出具体的要求,包括身份标识与鉴别、管理能力、管理审计、管理方式和安全支撑系统;性能要求则是对防火墙应达到的性能指标作出规定,包括吞吐量、延迟、连接速率和并发连接数;安全保障要求针对防火墙的生命周期过程提出具体要求,包括开发、指导性文档、生命周期支持、测试和脆弱性评定。
1、安全功能要求
(1)组网与部署
1)部署模式
产品应支持以下部署模式:
a)透明传输模式;
b)路由转发模式;
c)反向代理模式。
2)路由
①静态路由
产品应支持静态路由功能,且能配置静态路由。
②策略路由
具有多个相同属性网络接口(多个外部网络接口、多个内部网络接口或多个DMZ网络接口)的产品,应支持策略路由功能,包括但不限于:
a)基于源、目的IP策略路由;
b)基于接口的策略路由;
c)基于协议和端口的策略路由;
d)基于应用类型的策略路由;
e)基于多链路负载情况自动选择路由。
③动态路由
产品应支持动态路由功能,包括RIP、OSPF或BGP中一种或多种动态路由协议。
3)高可用性
①冗余部署
产品应支持“主-备”、“主-主”或“集群”中的一种或多种冗余部署模式。
②负载均衡
产品应支持负载均衡功能,能根据安全策略将网络流量均衡到多台服务器上。
4)设备虚拟化(可选)
①虚拟系统
若产品支持在逻辑上划分为多个虚拟子系统,虚拟子系统间应支持隔离和独立管理,包括但不限于:
a)对虚拟子系统分别设置管理员,实现针对虚拟子系统的管理配置;
b)虚拟子系统能分别维护路由表、安全策略和日志系统;
c)对虚拟子系统的资源使用配额进行限制。
②虚拟化部署
若产品为虚拟化形态,应支持部署于虚拟化平台,并接受平台统一管理,包括但不限于:
a)支持部署于一种虚拟化平台,如VMware ESXi、KVM、Citrix Xenserver和 Hyper-V等;
b)结合虚拟化平台实现产品资源弹性伸缩,根据虚拟化产品的负载情况动态调整资源;
c)结合虚拟化平台实现故障迁移,当虚拟化产品出现故障时能实现自动更新、替换。
5)IPv6支持(可选)
①支持IPv6网络环境
若产品支持IPv6,应支持在IPv6网络环境下正常工作,能有效运行其安全功能和自身安全功能。
②协议一致性
若产品支持IPv6,应满足IPv6协议一致性的要求,至少包括IPv6核心协议、IPv6 DNP协议、IPv6 Autoconfig协议和ICMPv6协议。
③协议健壮性
若产品支持IPv6,应满足IPv6协议健壮性的要求,抵御IPv6网络环境下畸形协议报文攻击。
④支持IPv6过渡网络环境
若产品支持IPv6,应支持在以下一种或多种IPv6过渡网络环境下工作:
a)协议转换,将IPv4和IPv6两种协议相互转换;
b)隧道,将IPv6封装在IPv4中穿越IPv4网络,如IPv6 over IPv4、IPv6 to IPv4、ISATAP等。
(2)网络层控制
1)访问控制
①包过滤
产品的包过滤功能要求如下:
a)安全策略应使用最小安全原则,即除非明确允许,否则就禁止;
b)安全策略应包含基于源IP地址、目的IP地址的访问控制;
c)安全策略应包含基于源端口、目的端口的访问控制;
d)安全策略应包含基于协议类型的访问控制;
e)安全策略应包含基于MAC地址的访问控制;
f)安全策略应包含基于时间的访问控制;
g)应支持用户自定义的安全策略,安全策略包括MAC地址、IP地址、端口、协议类型和时间的部分或全部组合。
②网络地址转换
产品的网络地址转换功能要求如下:
a)支持SNAT和DNAT;
b)SNAT应实现“多对一”地址转换,使得内部网络主机访问外部网络时,其源IP地址被转换;
c)DNAT应实现“一对多”地址转换,将DMZ的IP地址/端口映射为外部网络合法IP地址/端 口,使外部网络主机通过访问映射地址和端口实现对DMZ服务器的访问;
D)支持动态SNAT技术,实现“多对多”的SNAT。
③状态检测
产品应支持基于状态检测技术的包过滤功能,具备状态检测能力。
④动态开放端口
产品应支持协议的动态端口开放,包括但不限于:
a)FTP协议;
b)H.323等音视频协议。
⑤IP/MAC地址绑定
产品应支持自动或手工绑定IP/MAC地址,当主机的IP地址、MAC地址与IP/MAC绑定表中不一致时,阻止其流量通过。
2)流量管理
①带宽管理
产品应支持带宽管理功能,能根据策略调整客户端占用的带宽,包括但不限于:
a)根据源IP、目的IP、应用类型和时间段的流量速率或总额进行限制;
b)根据源IP、目的IP、应用类型和时间段设置保障带宽;
c)在网络空闲时自动解除流量限制,并在总带宽占用率超过阈值时自动启用限制。
②连接数控制
产品应支持限制单IP的最大并发会话数和新建连接速率,防止大量非法连接产生时影响网络性能。
③会话管理
在会话处于非活跃状态一定时间或会话结束后,产品应终止会话。
(3)应用层控制
1)用户管控
产品应支持基于用户认证的网络访问控制功能,包括但不限于:
a)本地用户认证方式;
b)结合第三方认证系统,如基于Radius、LDAP服务器的认证方式。
2)应用类型控制
产品应支持根据应用特征识别并控制各种应用类型,包括:
a)HTTP协议;
b)数据库协议;
c)FTP、TELNET、SMTP、POP3和IMAP等常见协议;
d)即时聊天类、P2P类、网络流媒体类、网络游戏、股票交易类等应用;
e)逃逸或隧道加密特点的应用,如加密代理类应用;
f)自定义应用。
3)应用内容控制
①WEB应用
产品应支持基于以下内容对WEB应用的访问进行控制,包括但不限于:
a)URL网址,并具备分类网址库;
b)HTTP传输内容的关键字;
c)HTTP请求方式,包括GET、POST、PUT、HEAD等;
d)HTTP请求文件类型;
e)HTTP协议头中各字段长度,包括general-header、request-header、response-header等;
f)HTTP上传文件类型;
g)HTTP请求频率;
h)HTTP返回的响应内容,如服务器返回的出错信息等;
i) 支持HTTPS流量解密。
②数据库应用
产品应支持基于以下内容对数据库的访问进行控制,包括但不限于:
a)访问数据库的应用程序、运维工具;
b)数据库用户名、数据库名、数据表名和数据字段名;
c)SQL语句关键字、数据库返回内容关键字;
d)影响行数、返回行数。
③其他应用
产品应支持基于以下内容对FTP、TELNET、SMTP、POP3和IMAP等应用进行控制,包括但不限于:
a)传输文件类型;
b)传输内容,如协议命令或关键字。
(4)攻击防护
1)拒绝服务攻击防护
产品具备特征库,应支持拒绝服务攻击防护功能,包括但不限于:
a)ICMP Flood攻击防护;
b)UDP Flood攻击防护;
c)SYN Flood攻击防护;
d)TearDrop攻击防护;
e)Land攻击防护;
f)Ping of Death攻击防护;
g)CC攻击防护。
2)WEB攻击防护
产品具备特征库,应支持 WEB攻击防护功能,包括但不限于:
a)SQL注入攻击防护;
b)XSS攻击防护;
c) 第三方组件漏洞攻击防护;
d) 目录遍历攻击防护;
e)Cookie注入攻击防护;
f)CSRF攻击防护;
g) 文件包含攻击防护;
h) 盗链防护;
i)OS命令注入攻击防护;
j)WEBshell识别和拦截;
k) 反序列化攻击防护。
3)数据库攻击防护
产品具备特征库,应支持数据库攻击防护功能,包括但不限于:
a) 数据库漏洞攻击防护;
b)异常SQL语句阻断;
c) 数据库拖库攻击防护;
d) 数据库撞库攻击防护。
4)恶意代码防护
产品具备特征库,应支持恶意代码防护功能,包括但不限于:
a)能拦截典型的木马攻击行为;
b) 检测并拦截被HTTP网页和电子邮件等携带的恶意代码。
5)其他应用攻击防护
产品具备特征库,应支持防护来自应用层的其他攻击,包括但不限于:
a)操作系统类漏洞攻击防护;
b)中间件类漏洞攻击防护;
c)控件类漏洞攻击防护。
6)自动化工具威胁防护
产品具备特征库,应支持防护自动化工具发起的攻击,包括但不限于:
a)网络扫描行为防护;
b)应用扫描行为防护;
c)漏洞利用工具防护。
7)攻击逃逸防护
产品应支持检测并阻断经逃逸技术处理过的攻击行为。
8)外部系统协同防护
产品应提供联动接口,能通过接口与其他网络安全产品进行联动,如执行其他网络安全产品下发的安全策略等。
(5)安全审计、告警与统计
1)安全审计
产品应支持安全审计功能,包括但不限于:
a)记录事件类型:
① 被产品安全策略匹配的访问请求;
② 检测到的攻击行为。
b)日志内容:
① 事件发生的日期和时间;
② 事件发生的主体、客体和描述,其中数据包日志包括协议类型、源地址、目标地址、源端口和目标端口等;
③ 攻击事件的描述。
c)日志管理:
① 仅允许授权管理员访问日志,并提供日志查阅、导出等功能;
② 能对审计事件按日期、时间、主体、客体等条件查询;
③ 日志存储于掉电非易失性存储介质中;
④ 日志存储周期设定不小于六个月;
⑤ 存储空间达到阈值时,能通知授权管理员,并确保审计功能的正常运行;
⑥ 日志支持自动化备份至其他存储设备。
2)安全告警
产品应支持对上述攻击行为进行告警,并能对高频发生的相同告警事件进行合并告警,避免出现告警风暴。告警信息至少包括以下内容:
a)事件主体;
b)事件客体;
c)事件描述;
d)危害级别;
e)事件发生的日期和时间。
3)统计
①网络流量统计
产品应支持以图形化界面展示网络流量情况,包括但不限于:
a)按照IP、时间段和协议类型等条件或以上条件组合对网络流量进行统计;
b)实时或以报表形式输出统计结果。
②应用流量统计
产品应支持以图形化界面展示应用流量情况,包括但不限于:
a) 按照IP、时间段和应用类型等条件或以上条件组合对应用流量进行统计;
b)以报表形式输出统计结果;
c)对不同时间段的统计结果进行比对。
③攻击事件统计
产品应支持以图形化界面展示攻击事件情况,包括但不限于:
a)按照攻击事件类型、IP和时间段等条件或以上条件组合对攻击事件进行统计;
b)以报表形式输出统计结果。
2、自身安全要求
(1)身份标识与鉴别
产品的身份标识与鉴别安全要求包括但不限于:
a)对用户身份进行标识和鉴别,身份标识具有唯一性;
b)对用户身份鉴别信息进行安全保护,保障用户鉴别信息存储和传输过程中的保密性;
c)具有登录失败处理功能,如限制连续的非法登录尝试次数等相关措施;
d)具有登录超时处理功能,当登录连接超时自动退出;
e) 在采用基于口令的身份鉴别时,要求对用户设置的口令进行复杂度检查,确保用户口令满足一定的复杂度要求;
f)当产品中存在默认口令时,提示用户对默认口令进行修改,以减少用户身份被冒用的风险;
g)应对授权管理员选择两种或两种以上组合的鉴别技术进行身份鉴别。
(2)管理能力
产品的管理能力安全要求包括但不限于:
a)向授权管理员提供设置和修改安全管理相关的数据参数的功能;
b)向授权管理员提供设置、查询和修改各种安全策略的功能;
c)向授权管理员提供管理审计日志的功能;
d)支持更新自身系统的能力,包括对软件系统的升级以及各种特征库的升级;
e)能从NTP服务器同步系统时间;
f)支持通过SYSLOG协议向日志服务器同步日志、告警等信息;
g)应区分管理员角色,能划分为系统管理员、安全操作员和安全审计员,三类管理员角色权限能相互制约;
h)提供安全策略有效性检查功能,如安全策略匹配情况检测等。
(3)管理审计
产品的管理审计安全要求包括但不限于:
a)对用户账户的登录和注销、系统启动、重要配置变更、增加/删除/修改管理员、保存/删除审计日志等操作行为进行日志记录;
b)对产品及其模块的异常状态进行告警,并记录日志;
c)日志记录中包括如下内容:事件发生的日期和时间,事件的类型,事件主体,事件操作结果;
d)仅允许授权管理员访问日志。
(4)管理方式
产品的管理方式安全要求包括但不限于:
a)支持通过console端口进行本地管理;
b)支持通过网络接口进行远程管理,并能限定进行远程管理的IP、MAC地址;
c) 远程管理过程中,管理端与产品之间的所有通信数据应非明文传输;
d) 支持SNMP网管协议方式的监控和管理;
e)支持管理接口与业务接口分离;
f) 支持集中管理,通过集中管理平台实现监控运行状态、下发安全策略、升级系统版本、升级特征库版本。
(5)安全支撑系统
产品的支撑系统安全要求包括但不限于:
a)进行必要的裁剪,不提供多余的组件或网络服务;
b)重启过程中,安全策略和日志信息不丢失;
c)不含已知中、高风险安全漏洞。
3、性能要求
(1)吞吐量
1)网络层吞吐量
硬件产品的网络层吞吐量视不同速率的产品有所不同,具体指标要求如下:
a)一对相应速率的端口应达到的双向吞吐率指标:
① 对于ⅦⅤ字节短包,百兆产品不小于线速的20%,千兆和万兆产品不小于线速的35%;
② 对于512字节中长包,百兆产品不小于线速的70%,千兆和万兆产品不小于线速的80%;
③ 对于1518字节长包,百兆产品不小于线速的90%,千兆和万兆产品不小于线速的95%;
b) 针对高性能的万兆产品,对于1518字节长包,吞吐量至少达到80Gbit/s。
2)混合应用层吞吐量
硬件产品的应用层吞吐量视不同速率的产品有所不同,开启应用攻击防护功能的情况下,具体指标要求如下:
a)百兆产品混合应用层吞吐量应不小于60Mbit/s;
b)千兆产品混合应用层吞吐量应不小于600Mbit/s;
c)万兆产品混合应用层吞吐量应不小于5Gbit/s;针对高性能的万兆产品,整机混合应用层吞吐量至少达到20Gbit/s。
3)HTTP吞吐量
硬件产品的HTTP吞吐量视不同速率的产品有所不同,开启WEB攻击防护功能的情况下,具体指标要求如下:
a)百兆产品应用层吞吐量应不小于80Mbit/s;
b)千兆产品应用层吞吐量应不小于800Mbit/s;
c)万兆产品应用层吞吐量应不小于6Gbit/s。
(2)延迟
硬件产品的延迟视不同速率的产品有所不同,一对相应速率端口的延迟具体指标要求如下:
a)对于64字节短包、512字节中长包、1518字节长包,百兆产品的平均延迟不应超过500μs;
b)对于64字节短包、512字节中长包、1518字节长包,千兆、万兆产品的平均延迟不应超过90μs。
(3)连接速率
1)TCP新建连接速率
硬件产品的TCP新建连接速率视不同速率的产品有所不同,具体指标要求如下:
a)百兆产品的TCP新建连接速率应不小于1500个/s;
b)千兆产品的TCP新建连接速率应不小于5000个/s;
c)万兆产品的新建连接数速率应不小于50000个/s;针对高性能的万兆产品,整机新建连接数 速率应不小于250000个/s。
2)HTTP请求速率
硬件产品的HTTP请求速率视不同速率的产品有所不同,具体指标要求如下:
a)百兆产品的HTTP请求速率应不小于800个/s;
b)千兆产品的HTTP请求速率应不小于3000个/s;
c)万兆产品的HTTP请求速率应不小于5000个/s。
3)SQL请求速率
硬件产品的SQL请求速率视不同速率的产品有所不同,具体指标要求如下:
a)百兆产品的SQL请求速率应不小于2000个/s;
b)千兆产品的SQL请求速率应不小于10000个/s;
c)万兆产品的SQL请求速率应不小于50000个/s。
(4)并发连接数
1)TCP并发连接数
硬件产品的TCP并发连接数视不同速率的产品有所不同,具体指标要求如下:
a)百兆产品的并发连接数应不小于50000个;
b)千兆产品的并发连接数应不小于200000个;
c)万兆产品的并发连接数应不小于2000000个;针对高性能的万兆产品,整机并发连接数至少 达到3000000个。
2)HTTP并发连接数
硬件产品的HTTP并发连接数视不同速率的产品有所不同,具体指标要求如下:
a)百兆产品的HTTP并发连接数应不小于50000个;
b)千兆产品的HTTP并发连接数应不小于200000个;
c)万兆产品的HTTP并发连接数应不小于2000000个。
3)SQL并发连接数
硬件产品的SQL并发连接数视不同速率的产品有所不同,具体指标要求如下:
a)百兆产品的SQL并发连接数应不小于800个;
b)千兆产品的SQL并发连接数应不小于2000个;
c)万兆产品的SQL并发连接数应不小于4000个。
4、安全保障要求
(1)开发
1)安全架构
开发者应提供产品安全功能的安全架构描述,安全架构描述应满足以下要求:
a)与产品设计文档中对安全功能的描述范围相一致;
b)充分描述产品采取的自我保护、不可旁路的安全机制。
2)功能规范
开发者应提供完备的功能规范说明,功能规范说明应满足以下要求:
a)根据产品类型清晰描述1、2中定义的安全功能;
b)标识和描述产品所有安全功能接口的目的、使用方法及相关参数;
c)描述安全功能实施过程中,与安全功能接口相关的所有行为;
d)描述可能由安全功能接口的调用而引起的所有直接错误消息。
3)产品设计
开发者应提供产品设计文档,产品设计文档应满足以下要求:
a)通过子系统描述产品结构,标识和描述产品安全功能的所有子系统,并描述子系统间的相互作用;
b)提供子系统和安全功能接口间的对应关系;
c)通过实现模块描述安全功能,标识和描述实现模块的目的、相关接口及返回值等,并描述实现模块间的相互作用及调用的接口;
d)提供实现模块和子系统间的对应关系。
4)实现表示
开发者应提供产品安全功能的实现表示,实现表示应满足以下要求:
a)详细定义产品安全功能,包括软件代码、设计数据等实例;
b)提供实现表示与产品设计描述间的对应关系。
(2)指导性文档
1)操作用户指南
开发者应提供明确和合理的操作用户指南,对每一种用户角色的描述应满足以下要求:
a)描述用户能访问的功能和特权,包含适当的警示信息;
b)描述产品安全功能及接口的用户操作方法,包括配置参数的安全值等;
c)标识和描述产品运行的所有可能状态,包括操作导致的失败或者操作性错误;
d)描述实现产品安全目的必需执行的安全策略。
2)准备程序
开发者应提供产品及其准备程序,准备程序描述应满足以下要求:
a)描述与开发者交付程序相一致的安全接收所交付产品必需的所有步骤;
b)描述安全安装产品及其运行环境必需的所有步骤。
(3)生命周期支持
1)配置管理能力
开发者的配置管理能力应满足以下要求:
a)为产品的不同版本提供唯一的标识;
b)使用配置管理系统对组成产品的所有配置项进行维护,并进行唯一标识;
c)提供配置管理文档,配置管理文档描述用于唯一标识配置项的方法;
d)配置管理系统提供自动方式来支持产品的生成,通过自动化措施确保配置项仅接受授权变更;
e)配置管理文档包括一个配置管理计划,描述用来接受修改过的或新建的作为产品组成部分的配置项的程序。配置管理计划描述应描述如何使用配置管理系统开发产品,开发者实施的配置管理应与配置管理计划相一致。
2)配置管理范围
开发者应提供产品配置项列表,并说明配置项的开发者。配置项列表应包含以下内容:
a)产品及其组成部分、安全保障要求的评估证据;
b)实现表示、安全缺陷报告及其解决状态。
3)交付程序
开发者应使用一定的交付程序交付产品,并将交付过程文档化。在给用户方交付产品的各版本时,交付文档应描述为维护安全所必需的所有程序。
4)开发安全
开发者应提供开发安全文档。开发安全文档应描述在产品的开发环境中,为保护产品设计和实现的保密性和完整性所必需的所有物理的、程序的、人员的和其他方面的安全措施。
5)生命周期定义
开发者应建立一个生命周期模型对产品的开发和维护进行的必要控制,并提供生命周期定义文档描述用于开发和维护产品的模型。
6)工具和技术
开发者应明确定义用于开发产品的工具,并提供开发工具文档无歧义地定义实现中每个语句的含义和所有依赖于实现的选项的含义。
(4)测试
1)测试覆盖
开发者应提供测试覆盖文档,测试覆盖描述应满足以下要求:
a)表明测试文档中所标识的测试与功能规范中所描述的产品的安全功能间的对应性;
b)表明上述对应性是完备的,并证实功能规范中的所有安全功能接口都进行了测试。
2)测试深度
开发者应提供测试深度的分析。测试深度分析描述应满足以下要求:
a)证实测试文档中的测试与产品设计中的安全功能子系统和实现模块之间的一致性;
b)证实产品设计中的所有安全功能子系统、实现模块都已经进行过测试。
3)功能测试
开发者应测试产品安全功能,将结果文档化并提供测试文档。测试文档应包括以下内容:
a)测试计划,标识要执行的测试,并描述执行每个测试的方案,这些方案包括对于其他测试结果的任何顺序依赖性;
b)预期的测试结果,表明测试成功后的预期输出;
c)实际测试结果和预期的测试结果的对比。
4)独立测试
开发者应提供一组与其自测安全功能时使用的同等资源,以用于安全功能的抽样测试。
(5)脆弱性评定
基于已标识的潜在脆弱性,产品能抵抗以下强度的攻击:
a)具有基本攻击潜力的攻击者的攻击;
b)具有中等攻击潜力的攻击者的攻击。
文章来源微信公众号:计算机与网络安全
ID:Computer-network