数据库防火墙关键特性系列之一-高可用性
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库防火墙关键特性系列之一高可用性
作者:安华金和杨海峰近些年随着大数据的快速发展,企事业单位也越来越意识到数据的重要性,越来越多的企业和政府部门将安全的关注重点开始从传统的边界安全转移到了数据安全;而作为保存企业核心数据资产的数据库,不可避免的成为了防护的关键。数据库防火墙(简称DBFirewall),作为数据库防护的最后一道屏障,逐渐的被人们所关注,也被越来越多的应用在了关键系统的数据库安全防护之中。
安华金和作为国内唯一一家专注于数据库安全的公司,拥有国内最为成熟的数据库防火墙产品。笔者根据多年数据库防火墙产品开发、实施和维护经验,总结了数据库防火墙产品串联部署在核心数据库前端使用时,需要具备的一系列核心关键特性:
●高可用性—保障业务的安全性、可用性和连续性
●高性能和可扩缩性—保障业务性能、吞吐量
●词法和语法分析—防护能力的基础
●防SQL注入和漏洞攻击—防护来自应用侧的攻击
●运维管控—内部运维控制
●动态掩码—防止敏感信息外泄
●规则和脚本语言—高大上的数据库防护能力
一款成熟的数据库防火墙产品应该具备以上所有特性。笔者将在后面对这些核心关键特性逐一展开进行详尽的介绍,,希望能够为广大用户认识和选择数据库防火墙产品带来一些帮助。
一. 为什么要先说高可用性
之所以先说高可用性,只有一个原因:对于数据库防火墙来说高可用性太重要、太重要、太重要了!
首先澄清一个概念,曾经有些数据库防火墙产品宣称采用旁路部署,然后通过发送reset 命令给交换机来阻断操作,从而起到数据库安全防护的作用。在试验场景下,这种方式能够起到一些作用;但在连接池、高压力场景下,由于旁路分析的延迟,当数据库防火墙发现风险操作的时候,风险操作早已经被数据库执行完成了,而此时发起reset命令时阻断的基本上是其他不该被阻断的正常操作了。
因此,数据库防火墙需要串联在数据库的前端,才能起到真正的防护效果。串联的方式可以是物理的(透明串接)或逻辑的(代理)串联。
由于数据库在企业中往往承载着关键核心业务,其重要性不言而喻,企业会采用大量的技术来保证数据库的高可用性,典型的有RAC、F5负载均衡、高可用网络等;当在这样的一个环境中串接一个新的节点时,对该节点的可用性要求甚至比数据库本身的高可用性要求还要高。只有数据库防火墙达到高可用性,这样才能打消用户的顾虑,创造可串联实施的基础。
那么,站在企业用户的角度,需要关心哪些影响系统可用性的问题?数据库防火墙产品如何解决这些问题,才能打消用户的顾虑。下面就按照重要程度逐一介绍。
二. 产品自身缺陷引起的可用性问题
是软件,都会有缺陷有bug,更别说一个具有深度的完整数据库协议分析、SQL语法分析再加上策略控制等复杂逻辑的数据库防火墙产品。另一方面,传统的高可用方案,比如HA、主备切换等,解决的是设备、网络、操作系统等基础运行环境的异常,对于产品自身的缺陷,则往往无能为力。
那么数据库防火墙自身存在的缺陷,会对操作数据库的业务产生什么影响?
答案其实很简单:数据库防火墙自身的缺陷,不应该对业务系统操作数据库的业务行为产生任何影响;这些缺陷引起的故障对业务系统应该是无感的。
这一目标,对于数据库防火墙这样的串联产品,比任何特性都要重要,也是用户是否能够接受“串联部署”的关键指标。为了达到这一目标,需要从产品的架构设计、容错能力和异常管理能力上进行精心的设计和实现。
高可用性的关键技术路线:
1:采用类似Oracle数据库的多进程和共享内存架构
每个数据库连接会话在经过数据库防火墙串联时,相应的数据库防火墙对应一个独立的进程,来处理该会话的交互通讯包,并完成全部的计算和功能逻辑。当会话关闭后,进程也相应关闭。
优点:进程间完全独立,即使一个进程触发了软件缺陷,造成进程的异常,也不会影响到其他会话的进程,最小程度的降低了产品缺陷带来的影响。
缺点:需要对进程的资源占用进行精细的管理和分配,避免消耗太多的资源。
2:对于进程的故障,实现软件旁路的容错机制
当进程发生故障时,能够通过对进程的守护能力,接管通讯包,实现故障情况下的bypass 旁路能力,从而“续上”应用与数据库的交互,最终实现应用系统完全感受不到会话出现了异常,对业务的操作数据库的行为不造成任何影响。安华金和数据库防火墙在实际测试中,在会话建立后,高压力运行SQL操作期间,杀死相应数据库防火墙进程,会话没有受到任何影响,持续稳定运行。
实际案例效果
典型客户案例中,安华金和数据库防火墙被串联部署在了承载核心业务的Oracle RAC和核心交换机(万兆)之间,每天的吞吐量达到上亿SQL操作;上线运行18个月左右,没有发生过业务系统的异常投诉,未出现过主备切换,真正做到了客户无感。
三. 设备和系统异常引起的可用性问题
是设备,都会出故障。为了防止数据库防火墙设备意外失效,如硬件故障、电源故障、系统故障、软件死锁等原因而造成的网络断开和僵死。需要提供专门的,基于硬件和网络的高可用机制来保证业务连续性。
解决方案
1:采用硬件网卡ByPass,保障业务快速恢复
通过网卡的ByPass能力,并结合“看门狗”机制,当发生设备断电、操作系统故障、数据库防火墙核心组件僵死等异常情况时,能够快速的自动开启硬件ByPass,重新打通网络连接,保证业务系统在数据库防火墙发生异常后,在最短的时间(几秒内),快速的恢复正常。
2:采用双机HA网络,保障业务连续性
在很多关键核心业务系统中,往往会采用高可用网络和负载均衡设备来保证极端情况下的业务连续性。作为串联接入的数据库防火墙设备,需要能够无缝的适应这样的高可用环境,能够提供全透明(无IP)的串接方式,就像一根网线一样,当这根“网线”出现故障,无法连通时,通讯包会被自动串接到另外一条链路上的数据库防火墙l设备,从而无缝的继续业务操作。
只有数据库防火墙产品真正做到了以上的高可用,才能保证业务系统的正常、高效运行。也才能被用户接受串联部署在数据库前端。作为国内最为成熟的数据库防火墙产品——安华金和数据库防火墙,具备以上所有的高可用性能,并且已经具有了众多串联部署案例。欢迎广大用户联系测试。