手機(jī)性能的不斷提升,使得移動辦公的需求也水漲船高。筆者單位也打算部署OA和視頻會議兩套手機(jī)應(yīng)用系統(tǒng)。那么問題產(chǎn)生了,如果不能在公網(wǎng)訪問,手機(jī)辦公則失去了意義。如果開放對外服務(wù)則會對單位網(wǎng)絡(luò)帶來安全壓力。如何既能開放對外服務(wù)又能保證安全?當(dāng)前局域網(wǎng)單一UTM的網(wǎng)絡(luò)架構(gòu),勢必不能滿足安全需求。因此解決這個問題要從局域網(wǎng)網(wǎng)絡(luò)架構(gòu)改造著手。
改造前局域網(wǎng)的架構(gòu)非常簡單(如圖1所示):內(nèi)網(wǎng)服務(wù)器和辦公電腦分別通過各自的二層交換機(jī)匯聚到核心交換機(jī),再通過一臺UTM隔斷內(nèi)外網(wǎng)。因為手機(jī)OA服務(wù)器需要連接內(nèi)網(wǎng)的數(shù)據(jù)庫,所以開放對外服務(wù)筆者首先想到的方案是將手機(jī)OA和視頻會議服務(wù)器放在內(nèi)網(wǎng),然后在UTM上建立一條端口映射,將服務(wù)器映射到公網(wǎng)。
這個方案雖然簡單易行,但這兩臺服務(wù)器將面臨內(nèi)網(wǎng)和外網(wǎng)雙重安全威脅。一方面,內(nèi)網(wǎng)的機(jī)器之間無任何硬件防護(hù),僅能依靠交換機(jī)的ACL和軟件防火墻起到一點象征性的保護(hù);另一方面,如果服務(wù)器存在漏洞且被攻破的話可能會殃及內(nèi)網(wǎng)其他服務(wù)器。
筆 者手邊恰好有一臺和現(xiàn) 役UTM同款的備用 UTM,因此另一個方案應(yīng)運(yùn)而生:先將兩臺外網(wǎng)服務(wù)器接在備用UTM下,再將兩個UTM的DMZ口連接起來,作
為手機(jī)OA服務(wù)器連接內(nèi)網(wǎng)數(shù)據(jù)庫的通道。這種網(wǎng)絡(luò)架構(gòu)的好處在于,即便外網(wǎng)服務(wù)器遭到入侵,很難影響到內(nèi)網(wǎng)。
按照這樣的思路來改造網(wǎng)絡(luò),需要解決的問題有三個:一是如何跨兩臺UTM實現(xiàn)手機(jī)OA服務(wù)器和數(shù)據(jù)庫服務(wù)器的連通。二是如何將服務(wù)映射到外網(wǎng)。三是如何設(shè)置UTM安全策略。
圖1 改造前局域網(wǎng)架構(gòu)
第一個問題,兩臺UTM的DMZ口分別設(shè)置IP地址 為192.168.19.1和192.168.19.2;外網(wǎng)服務(wù)器和UTM2內(nèi)口設(shè)置的IP分 別 為192.168.11.2、192.168.11.1和192.168.18.200、192.168.18.201;內(nèi)網(wǎng)數(shù)據(jù)庫服務(wù)器IP地址為178.20.10.100(如 圖 2所 示)。如何讓外網(wǎng)服務(wù)器發(fā)出的數(shù)據(jù)請求跨越多個網(wǎng)絡(luò)域到達(dá)內(nèi)網(wǎng)數(shù)據(jù)庫服務(wù)器。
筆者首先考慮使用路由協(xié)議RIP或者OSPF,恰好當(dāng)前使用的UTM設(shè)備支持RIP協(xié)議,問題似乎就這么很順利的解決了。然而這么一來,192.168.11.X、192.168.18.X、192.168.19.X 和 178.20.10.X這三個地址域就可以兩兩互相訪問了。
從安全角度考慮,筆者只希望192.168.11.2和178.20.10.100之間能互相訪問,其余的子網(wǎng)僅作為橋梁。那么解決這個問題就只有采用靜態(tài)路由的方案了。
圖2 跨兩臺UTM實現(xiàn)手機(jī)OA服務(wù)器和數(shù)據(jù)庫服務(wù)器的連通架構(gòu)
內(nèi)網(wǎng)組建的時候,在核心交換機(jī)上已經(jīng)設(shè)置了任意地址下一跳指向UTM1的靜態(tài)路由。外網(wǎng)服務(wù)器和UTM2之間有默認(rèn)的直連路由。
所以問題的關(guān)鍵就在于兩臺UTM之間靜態(tài)路由的設(shè)置。配置的關(guān)鍵為:在UTM1上把目的地址為192.168.11.2的包全部丟給UTM2的DMZ口。同樣的道理,在UTM2上把目的地址為178.20.10.100的包全部丟給UTM1的DMZ口(如圖3所示)。
這樣外網(wǎng)服務(wù)器從UTM2到UTM1再到內(nèi)網(wǎng)數(shù)據(jù)庫服務(wù)器之間的橋梁就已經(jīng)搭建好了。
第二個問題,如何在UTM2上將服務(wù)映射到外網(wǎng)。為了提高用戶使用的體驗度,UTM2用兩條專線來分流數(shù)據(jù):手機(jī)OA服務(wù)器走專線1,視頻會議服務(wù)器走專線2。所以這里涉及到一個負(fù)載均衡的問題。
筆者最初的打算是做兩條目的路由:192.168.18.200下一跳指向?qū)>€1的網(wǎng)關(guān);192.168.11.2下一跳指向?qū)>€2的網(wǎng)關(guān)。
可是這么做卻行不通,筆者分析了一下,發(fā)現(xiàn)原因在于目的路由只負(fù)責(zé)從哪個接口出,卻無法控制從哪個接口進(jìn),這樣就導(dǎo)致回執(zhí)包無法從原路返回。
于是筆者想到使用策略路由,策略路由的好處在于可以根據(jù)源來選擇路由,這樣就可以避免上述的問題,簡單來說就是數(shù)據(jù)包可以“從哪來回哪去”。策略路由有“源地址”、“目的地址”、“服務(wù)”和“下一跳”這幾個參數(shù)需要設(shè)置?!霸吹刂贰痹O(shè)為服務(wù)器的地址,“服務(wù)”
設(shè)為對外開放的端口,“下一跳”設(shè)為專線的網(wǎng)關(guān)。
這里需要著重說明的是“目的地址”,一開始筆者設(shè)置的是0.0.0.0,但發(fā)現(xiàn)手機(jī)OA服務(wù)器連不上內(nèi)網(wǎng)的數(shù)據(jù)庫了。因為上文提過,UTM2上設(shè)置了目的地址為178.20.10.0/24的包下一跳全指向UTM1的路由,所以這里策略路由的目的地址必須把178.20.10.100這一地址去除。
圖3 兩臺UTM之間靜態(tài)路由的設(shè)置
按這個方法設(shè)置好專線1和專線2的策略路由之后,下一步要設(shè)置網(wǎng)絡(luò)地址端口轉(zhuǎn)換(NAPT)。因為涉及服務(wù)器到公網(wǎng)及公網(wǎng)到服務(wù)器雙向數(shù)據(jù)轉(zhuǎn)發(fā),所以需要分別設(shè)置DNAT和SNAT。即在指定端口上將外網(wǎng)地址翻譯成服務(wù)器能識別的地址;同時,將服務(wù)器地址也翻譯成公網(wǎng)地址。
最后只需要在UTM策略上設(shè)置允許映射的端口通過,這樣服務(wù)映射到外網(wǎng)的問題就解決了。
第三個問題,安全策略的設(shè)置。為防止公網(wǎng)惡意掃描,首先應(yīng)當(dāng)關(guān)閉UTM公網(wǎng)接口ping、Telnet、HTTP等功能;其次制定防火墻策略,不同的安全域之間只允許必要的服務(wù)通過。例如手機(jī)OA服務(wù)器需要訪問UTM1內(nèi)網(wǎng)數(shù)據(jù)庫服務(wù)器,UTM1和UTM2的DMZ之間只允許TCP1433端口通過;第三,網(wǎng)絡(luò)地址端口轉(zhuǎn)換避免使用全映射,而應(yīng)該只映射對外服務(wù)必需的端口;第四,UTM和防火墻的不同在于它具備IPS、攻擊防護(hù)和病毒過濾的功能。開啟這些功能,可為安全防護(hù)錦上添花。
解決了以上三個問題,局域網(wǎng)雙UTM架構(gòu)的改造就完成了。當(dāng)然,世界上沒有百分百安全的網(wǎng)絡(luò)架構(gòu)。保持網(wǎng)絡(luò)的安全狀態(tài),除了靠硬件,更要靠人為,要靠網(wǎng)管員及時的發(fā)現(xiàn)和修補(bǔ)安全漏洞才是萬全之策。