Azure實踐系列 6:使用Web應用防火牆保護網站

網站是我們每一天可能都會使用到的信息交互方式,比如我們刷朋友圈、公衆號、流量網頁、看諮詢新聞等。網站應用已經是非常普遍的信息技術應用。對於大型的網站應用來說,保護手段是必不可少的,如果不經保護就放到互聯網中,可能很容易被別有用心的人進行***或***。

   

對於這種情況,Azure有專門的服務用於我們網站應用的保護,那就是應用程序網關。首先我們來看一下Azure是如何定義應用程序網關及Web應用防火牆的。

   

Azure 應用程序網關是一種 Web 流量負載均衡器,可用於管理 Web 應用程序的流量。

傳統負載均衡器在傳輸層(OSI 層 4 - TCP 和 UDP)進行操作,並基於源 IP 地址和端口將流量路由到目標 IP 地址和端口。 但在使用應用程序網關時,可以實現更具體的操作。

   

   

Web 應用程序防火牆 (WAF) 是應用程序網關的功能,可以對 Web 應用程序進行集中保護,避免其受到常見的***和漏洞傷害。 WAF 基於 OWASP(開放 Web 應用程序安全項目)核心規則集 3.0 或 2.2.9 中的規則。

Web 應用程序已逐漸成爲利用常見已知漏洞的惡意***的目標。 這些***中最常見的***包括 SQL 注入***、跨站點腳本***等。 防止應用程序代碼中的此類***頗具挑戰性,可能需要在應用程序拓撲的多個層進行嚴格的維護、修補和監視。 集中式 Web 應用程序防火牆有助於大幅簡化安全管理,爲抵卸威脅或***的應用程序管理員提供更好的保障。 相較保護每個單獨的 Web 應用程序,WAF 解決方案還可通過在中央位置修補已知漏洞,更快地響應安全威脅。 可將現有應用程序網關輕鬆轉換爲支持 Web 應用程序防火牆的應用程序網關。

   

看到這裏我們應該有一個基礎的概念,什麼是應用程序網關,什麼是Web應用程序防火牆了。那麼如何判斷我們的網站需要防火牆呢?是通過網站程序大小、還是通過網站的性能級別還是什麼呢?其實並沒有嚴格的標準,而是根據實際情況進行隨機應變。比如我們看一下下面這個網站,可以看到當前的應用程序計劃已經是一個高級別的大型網站,CPU佔用率在40-60%之間,內存佔用有增加趨勢。

   

對於這樣的網站我們就需要額外的注意了,我們可以打開Azure Web應用的性能指標,進行進一步的指標監視。建議將應用的指標調整到24小時到48小時,這樣可以便於我們宏觀的瞭解應用近期的運行狀況。對於網站應用一般來講我們可以選擇Request指標,此指標主要用於觀察網站應用的訪問情況,指標最小間隔週期是1分鐘即我們可以看到每分鐘最高的訪問請求次數。

   

   

如果僅僅查看網站應用發現瀏覽量及請求數並不高,可以再看一下我們網站對應的數據庫性能指標。以下是一個比較顯著的收到***的指標跡象。我們可以看到在48小時內,數據庫有多次CPU佔用率到達100%,其中中間的階段CPU幾乎處於長時間的滿載狀態,而這種情況一般是不會出現的。

   

如果發現性能指標呈現以下狀態,一般來說有兩種原因導致:第一種原因是由於是由於正常的高併發訪問。比如12306購票的高峯期,這是可預知的高併發請求,因爲大家都在刷新網站搶購火車票,那這個時候我們就必須增加更多的服務器資源,如果數據庫指標呈現頂峯,就需要增加數據庫資源,Web應用就需要增加網站服務器的資源;第二種原因是由於來自不明用戶的惡意***,比如大量的服務器訪問請求、通過軟件模擬訪問、模擬IP地址、注入、XSS***等,那麼對於這種情況就需要在網站應用前端加上應用程序網關及WAF了。

   

在Azure中,應用程序網關一般來講是配合虛擬機及虛擬機規模集來使用的,對於通過Web應用承載的網站,則需要加上虛擬網絡和虛擬網絡網關纔可使用。首先第一步是創建虛擬網絡網關;

   

虛擬網關的用途主要是將虛擬網絡和Web應用進行連接,因爲Web應用和虛擬網絡本身是處於兩個分離的虛擬網絡中。在創建虛擬網絡網關的過程週末,我們選擇網關類型爲×××,SKU選擇***Gw1,併爲虛擬網關配置一個公網IP地址。

   

   

接下來我們去創建應用程序網關,這也是今天的重頭戲。還是在首頁,創建資源-網絡-Application Gateway

   

   

由於帶有WAF的應用程序網關只有中型以上的應用程序網關才支持,所以這裏一定要選擇WAF層,然後選擇至少爲中型的SKU。當然中型的SKU是可以由小型的SKU升級,但帶有WAF是無法降級到小型SKU的。

   

然後我們將其添加到我們的虛擬網絡中,注意此虛擬網絡必須是和剛剛創建的虛擬網絡網關關聯的同一虛擬網絡。

   

並且對於Vnet的網關的點到站點配置的IP地址空間須 位於下列其中一個地址塊中 :

10.0.0.0/8 - 這指的是10.0.0.0到10.255.255.255的IP地址範圍;

172.16.0.0/12 - 這指的是172.16.0.0 到 172.31.255.255 的IP地址範圍;

192.168.0.0/16 - 這指的是 192.168.0.0 到 192.168.255.255的IP地址範圍;

   

我們在創建好的虛擬網絡網關中,找到點到站點配置,並配置其地址池,注意,請取消IKEv2隧道類型,Web應用配合應用程序網關的模式無法選擇此隧道類型。

   

   

然後我們再到Web應用中,選擇網絡將Web應用連接到虛擬網絡,單擊右側的VNet集成。

   

在添加VNet位置選擇我們剛剛創建的帶有虛擬網關的虛擬網絡。

   

這個時候需要稍等片刻,如果IKev2沒有取消則會報錯,這裏需要注意下。如果沒有問題則會顯示已經配置好的VNet信息,比如位置、網關狀態及證書等。

   

   

這個時候我們的應用程序網關應該也已經創建好了,我們打開應用程序網關,找到Web應用程序防火牆,確保其處於開啓狀態,防火牆模式改爲保護,這樣WAF會自動幫我們進行***攔截而並非僅僅是檢測***。

   

然後在後端池中,我們需要編輯後端池,單擊默認的後端池,會打開編輯界面。

   

   

在編輯界面中,我們把目標修改爲應用程序服務,並選擇我們需要保護的應用程序實例。操作完成後選擇保存。

然後再轉到HTTP設置中,我們需要配置HTTP設置以確保應用程序網關和我們的Web應用能夠正確對接。單擊HTTP設置,選擇默認的HTTP設置項目。

   

   

在設置中,我們選擇下方的用於應用服務,此時自定義探測會自動填入內容,單擊保存。

   

   

稍等片刻等到應用程序網關的配置更新完成,回到WAF的概述中。我們需要測試WAF是否配置成功,複製應用程序網關的前端IP地址。

   

   

在瀏覽器中粘貼該地址,如果成功怎麼會顯示我們的Web網站,如果不成功則會顯示502 Bad Gateway之類的錯誤。

   

總的來說網站的防火牆配置還是非常重要的,對於Azure來說通過爲虛擬機或網站應用加上應用程序網關,可以非常有效的增加網站應用的安全,減少不必要的***帶來的安全問題和用戶體驗下降是非常有必要的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章