層次化防御保證企業門戶網站安全
目前,針對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)等負載均衡軟件來構建應用,這樣可以節約一定的資金。#p#
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)根據業務和數據的機密等級需求,嚴格劃分服務器的安全域,避免信息泄露。