层次化防御保证企业门户网站安全
目前,针对Web的攻击手段日益增多,拒绝服务攻击、网络钓鱼、SQL注入等等层出不穷,而企业门户网站是企业的“脸面”,如何保证其安全是运维人员、安全管理人员、CIO等需要深思熟虑的问题。本文将针对这个问题,首先对企业门户Web系统进行详细的安全威胁分析,然后给出相应解决方案的原则和技术,并根据原则来提供具体实施的网络拓扑和部署要点。
一、企业门户网站系统面临的威胁
企业门户网站系统在运行安全和数据安全方面面临着非常大的威胁,主要包括运行安全威胁和数据安全威胁。
(1)运行安全威胁
主要是指企业门户网站在提供对外服务的过程中,恶意用户(黑客)可以通过一些公开的服务端口、公开的服务信息等来组织和实施攻击,从而使得企业门户网站服务不可用,导致其运行安全问题。
主要的攻击行为包括:恶意用户采用黑客工具构造恶意报文对暴露在公网的网上系统进行拒绝服务攻击,甚至是利用多个网络结点形成的僵尸网络,构成分布式拒绝服务攻击;并且,面临在遭受攻击后,由于服务器侧网络架构划分和隔离措施不严谨,黑客可能利用这个部署上的漏洞,导致整个服务器机群的瘫痪,比如,由于Web服务器瘫痪,黑客以Web服务器为跳板,从而攻击后台数据库服务器等内网关键资源等。
(2)数据安全威胁
主要是指企业门户网站在服务中涉及的用户数据、通信数据等由于黑客的窃听、重定向等,导致的数据非法泄露。
主要的攻击行为包括:恶意用户通过Web浏览器的登陆界面对合法用户的用户名和密码进行猜测,从而冒充合法用户进行网页访问和系统使用;恶意用户通过构造非法的、可能被网上系统错误识别和执行的代码嵌入在提交的表单中,引起不正常的信息泄露,甚至系统崩溃;恶意用户可能在传输网络中通过非法窃取合法用户的通信报文,从而获得本不应该获得的敏感信息;用户被引导进入其他的非法网站,如现在流行的钓鱼网站(phishing)等等,从而在不知情的情况下泄露个人机密信息,造成经济损失等。
二、层次化防御方案
2.1 设计安全网络拓扑
设计安全的拓扑,是保证企业门户网站安全的第一步,它可以有效地从网络层和应用层来抵御外来的攻击,从而保证运行安全。
其中主要包括如下几个层面:
(1)网络层防御
部署防火墙可以有效地进行网络层防御,阻止外来攻击,包括拒绝服务攻击和分布式拒绝服务攻击,重点过滤恶意流量、突发流量等。更为重要的是:在防火墙上通过有效地使用DMZ(demilitarized zone,非军事化区),可以将外部网络和内部网络进行有效地隔离,从而达到即使DMZ区域被攻击,也不会影响到内网资源安全的目的。
在部署过程中,建议采用异构的二路防火墙方式。也就是,使用不同厂家不同型号的两种防火墙,分别来作为企业的内部和外部防火墙,这样,能够很好地达到分离内外网以及安全增强的目的,这样即使一路防火墙被攻击,也很难影响到二路防火墙,因为黑客需要更多地精力来对不同的防火墙进行分析和实施攻击行为。如下图所示的异构二路防火墙部署方式:
(2)应用层防御
在防火墙的后面,加入应用层防御的设备,如IPS(Intrusion Prevention System,入侵防御系统)、WAF(Web Application Firewall,Web应用防火墙)、UTM(Unified Threat Management,统一威胁管理)等,对来自外部企业门户的网站从应用层(包括URL链接、网页内容等)进行细粒度的过滤和检测,出现恶意内容等及时进行阻断。并且,对于SQL注入攻击、缓冲区溢出攻击、篡改网页、删除文件等也有很好的抑制和阻断作用。
(3)负载均衡
企业门户网站系统服务器侧需要具备负载均衡及负载保护机制。因为,系统面临着巨大的服务量,服务器端的设备基本上都需要有多台服务器进行业务分担,这样才能提高性能,避免处理瓶颈的出现,因此,需要采用合理的负载均衡和负载保护机制对各服务器的业务流量进行有效地分担,可按照Round Robin、LRU(Least Recently Used)等方式来进行负载均衡;另外,负载保护机制需要实时地对每台服务器的CPU资源、内存资源等进行评估,如果一旦超过设定的阈值(80%或者以上),将马上进行过载保护,从而保证服务器自身的安全。
通常,有2种实现方式。一种是购买成熟的硬件负载均衡产品,如F5等来对网站的流量进行控制和分流,以保证后台各服务器的流量均衡以及高可用,不过花费较高;一种是通过使用开源系统软件LVS(Linux Virtual Server,Linux虚拟服务器)、Nginx(Engine X)等负载均衡软件来构建应用,这样可以节约一定的资金
2.2 强化用户访问控制
设计好的访问控制策略和手段,可以从很大程度上避免非法用户的访问,从而保护企业门户网站安全。目前适合企业门户网站的认证方式如下,可以采用一种或者结合几种方式:
用户名+密码:最为传统的验证方式;
数字证书:对于重要的Web系统应用,需要根据PKI(Public Key Infrastructure,公钥*)机制,验证用户提供的证书,从而对用户身份认证(通常情况下是服务器对客户端认证,也可以建立双向认证,即用户对服务器进行认证,以防止假冒的非法网站),并确保交易的不可抵赖性。证书的提供可以采用两种方式:
1)文件证书:保存在用户磁盘和文件系统上,有一定的安全风险;
2)USB设备存储的证书:保存在USB设备上,安全性很高。
2.3 加密通信数据
可以采用成熟的SSL(Secure Socket Layer,安全套接字层)机制,来保证Web系统数据的加密传输和用户对Web系统服务器的验证。对于使用Web浏览器的网上系统应用,采用SSL+数字证书结合的方式(即HTTPS协议),保证通信数据的加密传输,同时也保证了用户端对服务器端的认证,避免用户被冒充合法网站的“钓鱼网站”欺骗,从而泄露机密信息(用户名和密码等),造成不可挽回的经济损失。
在使用SSL的过程中,首先需要申请好相应的数字证书。一般来说,有两种处理方法。
1)一种是申请权威机构颁发的数字证书,如VeriSign,GlobalSign等机构颁发的数字证书,这需要一定的费用,好处是当前几乎所有的主流浏览器都能够很好地支持,也就是只需要在企业门户网站的服务器上部署该证书即能在客户端和服务器端建立SSL加密通道;
2)另一种是由企业使用OpenSSL等开源工具来生成相应的根证书和服务器证书,这样能够节约一大笔费用,但是缺点是主流浏览器并不能很好地支持,需要在客户端和服务器端分别部署根证书和服务器证书,这样在客户端非常多的时候不好处理,同时用户体验也很差。
2.4 做好风险控制
风险控制是在攻击发生前对企业门户网站使用渗透测试等技术手段来挖掘、分析、评价,并使用打补丁、实施安全技术和设备的办法来解决网站可能存在的各种风险、漏洞。这需要周期性、自发地对Web系统的漏洞进行自我挖掘,并根据挖掘的漏洞通过各种安全机制和补丁等方式进行防护,以有效地避免“零日攻击”等。
目前,企业门户网站可以通过使用端口扫描、攻击模拟等方式来对企业门户网站的开放端口、服务、操作系统类型等进行获取,并利用其相关漏洞进行攻击测试。并根据测试的结果来通过各种方式加固该系统的安全,以避免被黑客等利用来进行攻击。
2.5 健全访问日志审计
企业门户网站作为开放门户,且基于HTTP协议,因此在用户访问时会产生大量的访问日志。网站管理者需要对这些日志进行详细地记录、存储,并以备日后的分析取证。实践证明,很多的拒绝服务攻击以及其他攻击方式都会在系统中留下日志,比如IP地址信息、访问的URL链接等,这都可以作为网站管理员的审计素材,为阻断黑客的下一次进攻,保证网站安全打下基础。
2.6 事前灾难备份
任何系统都不能说100%的安全,都需要考虑在遭受攻击或者是经受自然灾害后的备份恢复工作,需要着重考虑如下几点:
1)选择合适的备份策略,做好提前备份,包括全备份、差分备份、增量备份等等
2)选择合适的备份介质,包括磁带、光盘、RAID磁盘阵列等
3)选择合适的备份地点,包括本地备份、远程备份等等
4)选择合适的备份技术,包括NAS、SAN、DAS等等
5)做好备份的后期维护和安全审计跟踪
2.7 统筹安全管理
企业门户网站系统一般功能复杂,业务数据敏感,保密级别比较高,并且对不同管理人员的权限、角色要求都不尽相同,为了保证安全管理,避免内部管理中出现安全问题,建议作如下要求:
1)严格划分管理人员的角色及其对应的权限,避免一权独揽,引起安全隐患;
2)做好服务器机房的物理条件管理,避免电子泄露、避免由于静电等引起的故障;
3)做好服务器管理员的帐号/口令管理,要求使用强口令,避免内部人员盗用;
4)做好服务器的端口最小化管理,避免内部人员扫描得出服务器的不必要的开放端口及其漏洞,实行内部攻击;
5)做好服务器系统软件、应用软件的日志管理和补丁管理工作,便于审计和避免由于安全漏洞而遭受到内部人员的攻击;
6)根据业务和数据的机密等级需求,严格划分服务器的安全域,避免信息泄露。
【TechTarget中国原创】