網(wǎng)站是我們每一天可能都會(huì)使用到的信息交互方式,比如我們刷朋友圈、公眾號(hào)、流量網(wǎng)頁、看咨詢新聞等。網(wǎng)站應(yīng)用已經(jīng)是非常普遍的信息技術(shù)應(yīng)用。對(duì)于大型的網(wǎng)站應(yīng)用來說,保護(hù)手段是必不可少的,如果不經(jīng)保護(hù)就放到互聯(lián)網(wǎng)中,可能很容易被別有用心的人進(jìn)行***或***。
創(chuàng)新互聯(lián)公司堅(jiān)信:善待客戶,將會(huì)成為終身客戶。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨?。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。十多年網(wǎng)站建設(shè)經(jīng)驗(yàn)創(chuàng)新互聯(lián)公司是成都老牌網(wǎng)站營銷服務(wù)商,為您提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、網(wǎng)站設(shè)計(jì)、H5響應(yīng)式網(wǎng)站、網(wǎng)站制作、品牌網(wǎng)站制作、小程序開發(fā)服務(wù),給眾多知名企業(yè)提供過好品質(zhì)的建站服務(wù)。
對(duì)于這種情況,Azure有專門的服務(wù)用于我們網(wǎng)站應(yīng)用的保護(hù),那就是應(yīng)用程序網(wǎng)關(guān)。首先我們來看一下Azure是如何定義應(yīng)用程序網(wǎng)關(guān)及Web應(yīng)用防火墻的。
Azure 應(yīng)用程序網(wǎng)關(guān)是一種 Web 流量負(fù)載均衡器,可用于管理 Web 應(yīng)用程序的流量。
傳統(tǒng)負(fù)載均衡器在傳輸層(OSI 層 4 - TCP 和 UDP)進(jìn)行操作,并基于源 IP 地址和端口將流量路由到目標(biāo) IP 地址和端口。 但在使用應(yīng)用程序網(wǎng)關(guān)時(shí),可以實(shí)現(xiàn)更具體的操作。
Web 應(yīng)用程序防火墻 (WAF) 是應(yīng)用程序網(wǎng)關(guān)的功能,可以對(duì) Web 應(yīng)用程序進(jìn)行集中保護(hù),避免其受到常見的***和漏洞傷害。 WAF 基于 OWASP(開放 Web 應(yīng)用程序安全項(xiàng)目)核心規(guī)則集 3.0 或 2.2.9 中的規(guī)則。
Web 應(yīng)用程序已逐漸成為利用常見已知漏洞的惡意***的目標(biāo)。 這些***中最常見的***包括 SQL 注入***、跨站點(diǎn)腳本***等。 防止應(yīng)用程序代碼中的此類***頗具挑戰(zhàn)性,可能需要在應(yīng)用程序拓?fù)涞亩鄠€(gè)層進(jìn)行嚴(yán)格的維護(hù)、修補(bǔ)和監(jiān)視。 集中式 Web 應(yīng)用程序防火墻有助于大幅簡化安全管理,為抵卸威脅或***的應(yīng)用程序管理員提供更好的保障。 相較保護(hù)每個(gè)單獨(dú)的 Web 應(yīng)用程序,WAF 解決方案還可通過在中央位置修補(bǔ)已知漏洞,更快地響應(yīng)安全威脅。 可將現(xiàn)有應(yīng)用程序網(wǎng)關(guān)輕松轉(zhuǎn)換為支持 Web 應(yīng)用程序防火墻的應(yīng)用程序網(wǎng)關(guān)。
看到這里我們應(yīng)該有一個(gè)基礎(chǔ)的概念,什么是應(yīng)用程序網(wǎng)關(guān),什么是Web應(yīng)用程序防火墻了。那么如何判斷我們的網(wǎng)站需要防火墻呢?是通過網(wǎng)站程序大小、還是通過網(wǎng)站的性能級(jí)別還是什么呢?其實(shí)并沒有嚴(yán)格的標(biāo)準(zhǔn),而是根據(jù)實(shí)際情況進(jìn)行隨機(jī)應(yīng)變。比如我們看一下下面這個(gè)網(wǎng)站,可以看到當(dāng)前的應(yīng)用程序計(jì)劃已經(jīng)是一個(gè)高級(jí)別的大型網(wǎng)站,CPU占用率在40-60%之間,內(nèi)存占用有增加趨勢(shì)。
對(duì)于這樣的網(wǎng)站我們就需要額外的注意了,我們可以打開Azure Web應(yīng)用的性能指標(biāo),進(jìn)行進(jìn)一步的指標(biāo)監(jiān)視。建議將應(yīng)用的指標(biāo)調(diào)整到24小時(shí)到48小時(shí),這樣可以便于我們宏觀的了解應(yīng)用近期的運(yùn)行狀況。對(duì)于網(wǎng)站應(yīng)用一般來講我們可以選擇Request指標(biāo),此指標(biāo)主要用于觀察網(wǎng)站應(yīng)用的訪問情況,指標(biāo)最小間隔周期是1分鐘即我們可以看到每分鐘最高的訪問請(qǐng)求次數(shù)。
如果僅僅查看網(wǎng)站應(yīng)用發(fā)現(xiàn)瀏覽量及請(qǐng)求數(shù)并不高,可以再看一下我們網(wǎng)站對(duì)應(yīng)的數(shù)據(jù)庫性能指標(biāo)。以下是一個(gè)比較顯著的收到***的指標(biāo)跡象。我們可以看到在48小時(shí)內(nèi),數(shù)據(jù)庫有多次CPU占用率到達(dá)100%,其中中間的階段CPU幾乎處于長時(shí)間的滿載狀態(tài),而這種情況一般是不會(huì)出現(xiàn)的。
如果發(fā)現(xiàn)性能指標(biāo)呈現(xiàn)以下狀態(tài),一般來說有兩種原因?qū)е拢旱谝环N原因是由于是由于正常的高并發(fā)訪問。比如12306購票的高峰期,這是可預(yù)知的高并發(fā)請(qǐng)求,因?yàn)榇蠹叶荚谒⑿戮W(wǎng)站搶購火車票,那這個(gè)時(shí)候我們就必須增加更多的服務(wù)器資源,如果數(shù)據(jù)庫指標(biāo)呈現(xiàn)頂峰,就需要增加數(shù)據(jù)庫資源,Web應(yīng)用就需要增加網(wǎng)站服務(wù)器的資源;第二種原因是由于來自不明用戶的惡意***,比如大量的服務(wù)器訪問請(qǐng)求、通過軟件模擬訪問、模擬IP地址、注入、XSS***等,那么對(duì)于這種情況就需要在網(wǎng)站應(yīng)用前端加上應(yīng)用程序網(wǎng)關(guān)及WAF了。
在Azure中,應(yīng)用程序網(wǎng)關(guān)一般來講是配合虛擬機(jī)及虛擬機(jī)規(guī)模集來使用的,對(duì)于通過Web應(yīng)用承載的網(wǎng)站,則需要加上虛擬網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)網(wǎng)關(guān)才可使用。首先第一步是創(chuàng)建虛擬網(wǎng)絡(luò)網(wǎng)關(guān);
虛擬網(wǎng)關(guān)的用途主要是將虛擬網(wǎng)絡(luò)和Web應(yīng)用進(jìn)行連接,因?yàn)閃eb應(yīng)用和虛擬網(wǎng)絡(luò)本身是處于兩個(gè)分離的虛擬網(wǎng)絡(luò)中。在創(chuàng)建虛擬網(wǎng)絡(luò)網(wǎng)關(guān)的過程周末,我們選擇網(wǎng)關(guān)類型為×××,SKU選擇***Gw1,并為虛擬網(wǎng)關(guān)配置一個(gè)公網(wǎng)IP地址。
接下來我們?nèi)?chuàng)建應(yīng)用程序網(wǎng)關(guān),這也是今天的重頭戲。還是在首頁,創(chuàng)建資源-網(wǎng)絡(luò)-Application Gateway
由于帶有WAF的應(yīng)用程序網(wǎng)關(guān)只有中型以上的應(yīng)用程序網(wǎng)關(guān)才支持,所以這里一定要選擇WAF層,然后選擇至少為中型的SKU。當(dāng)然中型的SKU是可以由小型的SKU升級(jí),但帶有WAF是無法降級(jí)到小型SKU的。
然后我們將其添加到我們的虛擬網(wǎng)絡(luò)中,注意此虛擬網(wǎng)絡(luò)必須是和剛剛創(chuàng)建的虛擬網(wǎng)絡(luò)網(wǎng)關(guān)關(guān)聯(lián)的同一虛擬網(wǎng)絡(luò)。
并且對(duì)于Vnet的網(wǎng)關(guān)的點(diǎn)到站點(diǎn)配置的IP地址空間須 位于下列其中一個(gè)地址塊中 :
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地址范圍;
我們?cè)趧?chuàng)建好的虛擬網(wǎng)絡(luò)網(wǎng)關(guān)中,找到點(diǎn)到站點(diǎn)配置,并配置其地址池,注意,請(qǐng)取消IKEv2隧道類型,Web應(yīng)用配合應(yīng)用程序網(wǎng)關(guān)的模式無法選擇此隧道類型。
然后我們?cè)俚絎eb應(yīng)用中,選擇網(wǎng)絡(luò)將Web應(yīng)用連接到虛擬網(wǎng)絡(luò),單擊右側(cè)的VNet集成。
在添加VNet位置選擇我們剛剛創(chuàng)建的帶有虛擬網(wǎng)關(guān)的虛擬網(wǎng)絡(luò)。
這個(gè)時(shí)候需要稍等片刻,如果IKev2沒有取消則會(huì)報(bào)錯(cuò),這里需要注意下。如果沒有問題則會(huì)顯示已經(jīng)配置好的VNet信息,比如位置、網(wǎng)關(guān)狀態(tài)及證書等。
這個(gè)時(shí)候我們的應(yīng)用程序網(wǎng)關(guān)應(yīng)該也已經(jīng)創(chuàng)建好了,我們打開應(yīng)用程序網(wǎng)關(guān),找到Web應(yīng)用程序防火墻,確保其處于開啟狀態(tài),防火墻模式改為保護(hù),這樣WAF會(huì)自動(dòng)幫我們進(jìn)行***攔截而并非僅僅是檢測(cè)***。
然后在后端池中,我們需要編輯后端池,單擊默認(rèn)的后端池,會(huì)打開編輯界面。
在編輯界面中,我們把目標(biāo)修改為應(yīng)用程序服務(wù),并選擇我們需要保護(hù)的應(yīng)用程序?qū)嵗2僮魍瓿珊筮x擇保存。
然后再轉(zhuǎn)到HTTP設(shè)置中,我們需要配置HTTP設(shè)置以確保應(yīng)用程序網(wǎng)關(guān)和我們的Web應(yīng)用能夠正確對(duì)接。單擊HTTP設(shè)置,選擇默認(rèn)的HTTP設(shè)置項(xiàng)目。
在設(shè)置中,我們選擇下方的用于應(yīng)用服務(wù),此時(shí)自定義探測(cè)會(huì)自動(dòng)填入內(nèi)容,單擊保存。
稍等片刻等到應(yīng)用程序網(wǎng)關(guān)的配置更新完成,回到WAF的概述中。我們需要測(cè)試WAF是否配置成功,復(fù)制應(yīng)用程序網(wǎng)關(guān)的前端IP地址。
在瀏覽器中粘貼該地址,如果成功怎么會(huì)顯示我們的Web網(wǎng)站,如果不成功則會(huì)顯示502 Bad Gateway之類的錯(cuò)誤。
總的來說網(wǎng)站的防火墻配置還是非常重要的,對(duì)于Azure來說通過為虛擬機(jī)或網(wǎng)站應(yīng)用加上應(yīng)用程序網(wǎng)關(guān),可以非常有效的增加網(wǎng)站應(yīng)用的安全,減少不必要的***帶來的安全問題和用戶體驗(yàn)下降是非常有必要的。