【世博IT魔方】Nginx+Keepalived實現(xiàn)在線票務(wù)系統(tǒng)
系統(tǒng)網(wǎng)絡(luò)層級別的安全防護:
安全防護采用三層硬件防火墻+七層應(yīng)用層防護來實現(xiàn),系統(tǒng)均安裝64位的Centos5.4;軟件層分負(fù)載均衡層、web層、數(shù)據(jù)庫層來說明,整套系統(tǒng)均關(guān)閉iptables防火墻,只映射Keepalived虛擬的VIP在最前端的華塞USG5000的外網(wǎng)80端口上,先將整套系統(tǒng)的安全級別提高到金融級別,再考慮負(fù)載均衡及其它事宜。
華賽USGUSG5000可以有效抵御高強度的網(wǎng)絡(luò)攻擊,而且同時可以保證正常的網(wǎng)絡(luò)應(yīng)用。其基于多核處理器的硬件構(gòu)架,依靠多線程處理設(shè)計提供了十分優(yōu)異的數(shù)據(jù)處理能力,完全可以為Internet服務(wù)提供商、大型企業(yè)、園區(qū)網(wǎng)、數(shù)據(jù)中心等具備大流量網(wǎng)絡(luò)帶寬用戶提供高性能的安全防御手段;尤其是USG5000所具備的超高的“每秒新建連接數(shù)”,不僅可以實現(xiàn)對多種并行的網(wǎng)絡(luò)應(yīng)用實現(xiàn)快速響應(yīng),而且在大流量網(wǎng)絡(luò)攻擊的情況下,仍然可以防止網(wǎng)絡(luò)業(yè)務(wù)中斷給用戶帶來的損失。
它能有效地保障網(wǎng)絡(luò)的運行,并且其獨特的GTP安全防護功能可以為GPRS網(wǎng)絡(luò)提供有效的安全防護;USG5000安全網(wǎng)關(guān)可以抵御大流量的DDoS攻擊,為用戶的業(yè)務(wù)系統(tǒng)提供DDoS攻擊防護,依托優(yōu)越的產(chǎn)品性能,能防范每秒數(shù)百萬包以上的DDoS攻擊,可支持對SYN FLOOD、UDP FLOOD、ICMP FLOOD、DNS FLOOD、CC等多種DDoS攻擊種類的準(zhǔn)確識別和控制,同時還能提供蠕蟲病毒流量的識別和防范能力,結(jié)合華為賽門鐵克專有ICA智能連接算法,保證在準(zhǔn)確識別DDoS攻擊流量的同時,不影響用戶的正常訪問,在復(fù)雜網(wǎng)絡(luò)情況下實現(xiàn)真正的安全防護,是業(yè)界領(lǐng)先的DDoS防護設(shè)備,這功能也是我們關(guān)注的重點
天泰WAF-T3-500-L安全網(wǎng)關(guān)防火墻具備全面的攻擊防御系統(tǒng),可保證系統(tǒng)不受網(wǎng)絡(luò)蠕蟲/病毒和應(yīng)用專用漏洞的攻擊,并且大大緩解來自網(wǎng)絡(luò)層和應(yīng)用層DoS/DDoS攻擊的影響。網(wǎng)關(guān)的NetShield™引擎在網(wǎng)絡(luò)層對數(shù)據(jù)進行細(xì)致檢查,徹底阻斷來自網(wǎng)絡(luò)層的潛在攻擊。網(wǎng)關(guān)的WebShield™引擎在應(yīng)用層對Web請求進行檢查,辨別惡意內(nèi)容并阻止其進入應(yīng)用服務(wù)器。
其安全性能包括:
常見網(wǎng)絡(luò)攻擊防護——保護網(wǎng)絡(luò)基礎(chǔ)設(shè)施不受常見的來自網(wǎng)絡(luò)層的攻擊
DoS/DDoS 保護——識別網(wǎng)絡(luò)層和應(yīng)用層的DoS/DDoS攻擊,緩解攻擊對應(yīng)用基礎(chǔ)設(shè)施的影響(這也是我們關(guān)注的重點)
入侵過濾——通過在惡意蠕蟲和病毒進入應(yīng)用服務(wù)器前進行識別并拒絕,保護應(yīng)用服務(wù)器不受侵襲。
SSL加密——應(yīng)用內(nèi)容在傳輸過程中都受加密保護,通過轉(zhuǎn)移服務(wù)器復(fù)雜的加/解密任務(wù)將應(yīng)用處理能力發(fā)揮到了極致。該功能保護敏感應(yīng)用內(nèi)容的安全,使其擺脫被竊取及被濫用的潛在威脅。
此外,能實現(xiàn)SQL注入攻擊防護,釣魚攻擊,跨站腳本攻擊防護及常見系統(tǒng)溢出防護等,這個也是我們比較關(guān)注的
服務(wù)器我們一般采用的是HP DL380G6(用于web)和HP DL580G5(用于數(shù)據(jù)庫);在項目實施中發(fā)現(xiàn)HP DL580G5的性能確實彪悍,如果成本充分,可考慮都上此服務(wù)器;然后根據(jù)用途不同,內(nèi)存的數(shù)量側(cè)重點也不同;跟以往的老型號不同,用的雙四核至強E74403.2GB的CPU,內(nèi)存一般上的64GB或146GB。
租用機房:我們一般選擇的是電信機房,也可考慮北京的雙線通機房;出口帶寬建議100MB,這些沒什么好說的。
負(fù)載均衡層:
負(fù)載均衡層用的軟件我們采用的是Nginx源碼,二臺Nginx用Keepalived作高HA;其實也可以用LVS/Keepavlied來實現(xiàn);但我們在項目實施發(fā)現(xiàn),Nginx在正則處理及l(fā)ocation分發(fā)上效果比LVS更好(有些功能LVS實現(xiàn)不了),而且穩(wěn)定性并不亞于LVS;在我從事的某些金融項目里,按客戶的要求,1+2架構(gòu)就很穩(wěn)定的運行,當(dāng)然也要配合Nagios實現(xiàn)監(jiān)控。
如何處理session的問題:
① Nginx負(fù)載均衡器采用ip_hash模塊,讓訪問的客戶端始終與后端某臺web建議永久性連接關(guān)系;
② 采用與PHPCMS類似的方法,將session寫進后端的統(tǒng)一數(shù)據(jù)庫里,例如MySQL;
WEB層:
頁面同步
辦法①可以采用rsync自動同步的辦法。
辦法②后端采用共用存儲,讀數(shù)據(jù)采用同一個存儲設(shè)備。
這里說下要用的存儲設(shè)備,我們用的比較多的是EMC CLARiiON CX4的FC磁盤陣列,很穩(wěn)定,沒發(fā)生過丟失數(shù)據(jù)庫的問題;缺點是比較貴,會增加整個系統(tǒng)實施成本。
辦法③在程序上實現(xiàn)動態(tài)的調(diào)取數(shù)據(jù)(如圖片及文字)采用后端的唯一文件服務(wù)器,后期可考慮采用moosefs分布式文件系統(tǒng)來減小壓力.
Web集群方面用的是Nginx+PHP5(FastCGI),這里說下并發(fā)的問題;在設(shè)計項目方案時,我們考慮的單臺web上的并發(fā)值為9000,在局域網(wǎng)環(huán)境中通過LoadRunner及Webbench反復(fù)測試,單臺Nginx的web通過9000并發(fā)沒有問題,3臺web即是9000*3=27000并發(fā);但系統(tǒng)正式上線時發(fā)現(xiàn),由于非游戲類網(wǎng)站,根本達(dá)不到27000并發(fā),這只是一個理論值;但本著高擴展性的原則,還是盡量在硬件和性能上對單臺web進行調(diào)優(yōu);本系統(tǒng)是9000萬張票,預(yù)計并發(fā)在2000左右,此系統(tǒng)架構(gòu)完全能勝任并發(fā)情況;另Nginx負(fù)載均衡器在高并發(fā)下的穩(wěn)定性是無用置疑的,有此項目經(jīng)驗的人都應(yīng)該清楚。
數(shù)據(jù)庫層:
考慮到數(shù)據(jù)庫層的壓力情況,我提出三種主案:
① 采用最常用MySQL一主一從方案,在主上做好單機的優(yōu)化,MySQL在壓力和性能上的表現(xiàn)超過預(yù)期;
② 如果壓力還是過大,考慮采用oracle的雙機RAC方案,我們用此成功解決了某用戶100W用戶的OA系統(tǒng)數(shù)據(jù)庫壓力大的問題;
③ 可用用MySQL的一主多從方案,在web層上實行分布式memcache緩存,另還可考慮自己開發(fā)中間件技術(shù),讓真正的實現(xiàn)寫功能的MySQL壓力做小,從而達(dá)到數(shù)據(jù)庫架構(gòu)級調(diào)優(yōu)的功能(這個也是游戲行業(yè)數(shù)據(jù)庫采用減壓的辦法)。
【編輯推薦】
- 美國康普智能系統(tǒng)助力蕪湖第二人民醫(yī)院
- 析奧創(chuàng)利綜合布線在世博會中國館的應(yīng)用
- Avocent助克拉瑪依油田實現(xiàn)服務(wù)器微觀環(huán)境實時監(jiān)控
- 【世博IT魔方】H3C助力世博會園區(qū)監(jiān)控系統(tǒng)
- Strix無線Mesh技術(shù)在鐵路系統(tǒng)的應(yīng)用
#p#
專家點評:張 琦——榮新IT培訓(xùn)中心資深講師(評分:200分)
此文立意明確,從在線票務(wù)系統(tǒng)的安全防護角度,分析了世博在線售票系統(tǒng)中存在的安全隱患和問題。并從數(shù)據(jù)庫、負(fù)載均衡、Web集群等充分論證了在線票務(wù)系統(tǒng)服務(wù)器存在的安全威脅,也分別從這幾個方面給出了具體解決辦法。
遺憾的是,該文未涉及主要服務(wù)器的處理能力,這對于在線售票系統(tǒng)來說非常重要。
#p#
專家點評:楊 栩——博科公司(Brocade)高級技術(shù)顧問(評分:200分)
本文從安全性和服務(wù)器負(fù)載均衡兩個方面詳細(xì)闡述了票務(wù)系統(tǒng)的組網(wǎng)方案和技術(shù),是一個可實施的成功案例,值得讀者學(xué)習(xí)和借鑒。
個人覺得兩套不同廠家的防火墻串接在網(wǎng)絡(luò)里,無疑提高了安全性,但也給網(wǎng)絡(luò)帶來了復(fù)雜性、增加了故障點。另外如果對 每秒新建連接數(shù)和并發(fā)連接數(shù)要求高的話,建議采用專業(yè)的負(fù)載均衡硬件設(shè)備如F5、Brocade等。
#p#
專家點評:宋家雨——《政府采購信息報》IT周刊主編(評分:300分)
沒有嚴(yán)密專業(yè)的安全措施作為保障,在線的票務(wù)系統(tǒng)你敢采用嗎?因此,在一個簡單業(yè)務(wù)應(yīng)用的背后,有一個龐大的系統(tǒng)作為保障和支撐,千萬不要忽視。