有一則笑話,一位母親告誡臨上戰場的兒子:“一定要緊跟將軍,那里是最安全的地方。”雖然是笑話,但這位母親對安全的理解沒錯:越是靠近重要的地方,就越安全。服務器,這個IT系統中的將軍,離它最近的地方是負載均衡設備,負載均衡恰恰又是F5的發家之路,基于這個位置,F5提供了多款用于Web應用安全與提速的產品,以保證服務器的安全與性能。
F5是一家以應用交付網絡著稱的公司,所謂應用交付網絡,就是以安全、快速和高可用的方式把應用交付到使用者手上,其中負載均衡保證高可用,Web應用安全與提速則保證安全與快速。提到安全與快速,很多人都會說這是防火墻與帶寬的事嘛,又何來F5的事呢?抱著這個疑問,記者采訪了F5北方區技術經理楊明非。

F5北方區技術經理楊明非
安全防范三階段
如今,因特網已經成為一個非常重要的基礎平臺,很多企業都將應用架設在該平臺上,為用戶提供更為方便、快捷的服務支持,例如網上銀行、網上購物等。這些應用在功能和性能上,都在不斷的完善和提高,然而在非常重要的安全性上,卻沒有得到足夠的重視。很多惡意攻擊者出于不良的目的對Web 服務器進行攻擊,想方設法通過各種手段獲取他人的個人賬戶信息謀取利益。正是因為這樣,Web業務平臺最容易遭受攻擊。同時,對Web服務器的攻擊也可以說是形形色色、種類繁多,常見的有掛馬、SQL注入、緩沖區溢出、嗅探、利用IIS等針對Webserver漏洞進行攻擊。
針對這個現狀,楊明非把目前的安全防范劃分為三個階段:第一階段是傳統的防火墻,第二階段是IPS/IDS,第三階段是Web應用安全防范。
在第一階段,防火墻采用的是正向安全原則,它只允許符合安全原則的訪問通過,采用的是一種白名單機制。但從技術上來看,防火墻工作在七層網絡協議的第三-四層,采用狀態檢測技術檢查和轉發TCP/IP包,從而實現安全區域的隔離和訪問控制。這就決定了防火墻只能判斷TCP層面的網絡攻擊,而不能防Web應用攻擊,因為它識別不了數據包的內容。黑客利用系統本身漏洞、程序漏洞,通過正常的連接完全可以取得Web權限,進而篡改網頁,如常見的 SQL 注入攻擊,其表現層面完全是正常的數據交互查詢。對于防火墻而言,這是正常的訪問連接,沒有任何特征能夠說明此種訪問連接存在攻擊,但其實系統已經受到攻擊。
在第二階段,IPS/IDS可以識別網絡數據包的內容,進而判斷是否安全,但IPS/IDS采用的是負向安全原則,是一種黑名單的機制,這就導致兩個問題:一是難以跟上新的攻擊手段,對于一些新的攻擊手段或者變化的攻擊手段,對IPS/IDS來說就很容易產生漏報;二是要判斷的攻擊行為太多的時候,會造成性能的急劇下降,從而導致實際使用IPS的時候更多的是采用抽樣檢查的模式,而這種模式在大多數情況下只能針對DDOS攻擊有效,而對真正的黑客攻擊無法有效進行防御。
在第三階段,F5提供了一種可以采用白名單機制的Web應用安全防范手段。它采用四種類型來定義一個白名單:訪問的URL是誰、文件類型是什么、參數是什么、cookie是什么。F5在這四種類型上設置了一系列安全規則,只有符合這些安全規則的訪問才允許通過,這其實是結合了防火墻與IPS的優勢,使安全與性能得到了兩全。當然,F5也提供基于黑名單的安全防范,這就類似一個IPS,F5與著名安全組織WhiteHat合作,由其提供應用攻擊代碼來設置和更新攻擊庫。
緊貼服務器破解加密攻擊
F5并非傳統的安全廠商,眾所周知,它是以負載均衡起家的,但楊明非很自信地告訴記者,F5目前在安全市場所占的份額位居前列,這源于F5安全設備特有的SSL加密內容攻擊防護,而這個功能又基于F5的負載均衡設備的位置——它離服務器最近。
什么是SSL加密攻擊?SSL是Secure Socket Layer(安全套接層協議)的縮寫,可以在Internet上提供內容加密傳輸。隨著計算機網絡技術的發展,方便快捷的互連網使人們漸漸習慣了從Web頁上收發E-mail、購物和交易,這時Web頁面上需要傳輸重要或敏感的數據,例如用戶的銀行帳戶、密碼等。現行網上銀行和電子商務等大型的網上交易系統普遍采用HTTP和SSL相結合的方式。服務器端采用支持SSL的Web服務器,用戶端采用支持SSL的瀏覽器實現安全通信。
但SSL只是起到保護Web傳輸的保密性。換句話說,我們不能信任Web瀏覽器所做的安全檢查工作,通過SSL加密連接不會對提交到應用程序的數據內容造成任何的影響。黑客完全可以把攻擊代碼以SSL加密的形式暢通無阻地通過防火墻、IPS等安全設備,因為它們要么是不能識別Web應用,要么就是不能識別在加密狀態下的Web應用,這就是所謂的SSL加密攻擊。
SSL只能在服務器上解密,而F5的設備是離服務器最近的。F5通過內置的硬件SSL芯片把SSL卸載,就是明碼了,這時再做應用安全就可行了,這是由F5的位置決定的。
應用提速無需增加帶寬
目前很多企業部署了不少IT應用,如SAP、微軟、Siebel、Oracle等公司出產的應用套件,當這些IT應用被部署到Web架構上,會出現速度遲緩的現象。很多公司把這歸咎于帶寬不夠高,卻不知這是因為應用自身的復雜阻礙了其在網絡的傳輸速度,單純增加帶寬,就如單純增大水管,卻不增加水的流速一樣無濟于事。
據楊明非介紹,F5可以在4個方面對Web應用提速:
一是降低網絡傳輸的壓力,其中最典型的一個技術就是壓縮。F5的加速技術可以把100K的頁面壓縮到20K在廣域網上傳輸,一些標準的瀏覽器如IE、火狐可以自動解壓,這一過程都在后臺進行,前臺瀏覽者感覺不出任何變化。該項技術也適用于手機瀏覽,如UCWEB,對于低帶寬高延遲的Web應用加速特別有效。
二是降低服務器的壓力,比較典型的技術是連接聚合。每個人訪問網站都會建立一個TCP連接,這個TCP連接是不斷建立又關閉的,當快速建立又關閉的時候,對服務器的壓力很大。而且服務器能夠維持的并發連接是有限的,比如IIS服務器,它的標準并發連接是2048個,阿帕奇服務器是1024個,如果一個網站有幾萬個并發連接,單個服務器就崩潰了。但是把這些短連接匯聚到一起,集中F5的設備上,通過F5與服務器建立平滑的長連接,就解決了不斷增大的并發連接。比如說前臺有15萬個并發連接,經過F5的優化,在服務器上只有不到5000個并發連接,而且在此過程中,每個人的請求是不會被丟掉的。
三是降低應用的壓力,典型技術是動態頁面緩存。這個主要是針對新聞發布類的網站,比如請求一個新聞頁面news.jsp?id=1,2,3……F5可以限定ID參數只能為數字,且在3位數之內,這又跟之前的應用安全白名單機制結合在了一起,這樣就防止了攻擊者隨意改變參數讓服務器疲于奔命。而且F5可以根據ID參數緩存已經訪問過的新聞頁面在自身的硬盤設備里,如果下一個訪問者的請求ID參數跟曾經訪問過的一致,那么該新聞頁面的打開速度就明顯加快了。
四是利用客戶端的瀏覽器做緩存來提升速度。當瀏覽網頁的時候,網頁會自動緩存到瀏覽器中,然而在每次重新打開該網頁的時候,都會向服務器發送請求判斷該網頁的內容是否有更新,這一來一去耗費不少時間,而實際上大多數時候網頁的內容是不變的。F5可以在每個緩存在瀏覽器的網頁中打上標簽,默認半年內無需向服務器發送判斷請求,對內容更新的判斷則由F5代替,這樣就節省了網頁打開時間并降低了服務器的壓力。
結語
很多企業在局域網中使用一些IT應用,如ERP、CRM、OA等等,沒有什么問題,但是這些應用一旦放在廣域網,首先就會發現速度慢,不可用,進而發現還會帶來很多安全問題。而大多數企業首先想到的都是傳統的增加帶寬,添置服務器,加防火墻等等,但其實這些問題并不是IT基礎設施不夠用,它們的根源在于IT應用本身在廣域網傳輸中所造成的問題,因此,只有對癥下藥,針對IT應用進行各種優化或防護,才能從根源上解決以上這些問題,這正是F5所提倡的應用交付網絡的意義所在。