淺談網(wǎng)站服務(wù)器安全維護技巧
服務(wù)器的維護至關(guān)重要,稍有閃失即會使整個網(wǎng)絡(luò)陷入癱瘓。目前,惡意的網(wǎng)絡(luò)攻擊行為包括兩類:一是惡意的攻擊行為,如拒絕服務(wù)攻擊、網(wǎng)絡(luò)病毒等,這些行為消耗大量的服務(wù)器資源,影響服務(wù)器的運行速度和正常工作,甚至使服務(wù)器所在的網(wǎng)絡(luò)癱瘓;另外一類是惡意的入侵行為,這種行為會導(dǎo)致服務(wù)器敏感信息泄露,入侵者更是可以為所欲為,肆意破壞服務(wù)器。要保障網(wǎng)絡(luò)服務(wù)器的安全就要盡量使網(wǎng)絡(luò)服務(wù)器避免受這兩種行為的影響。本文以基于Windows2003操作系統(tǒng)的服務(wù)器為例,介紹一些網(wǎng)站服務(wù)器安全維護的技巧。
1.轉(zhuǎn)換角色,模擬可能的攻擊
多數(shù)時候,我們?nèi)糁皇钦驹诰W(wǎng)站維護員的位置上思考問題,可能很難發(fā)覺網(wǎng)站服務(wù)器的漏洞。相反,維護員若能換個角度,把自身當(dāng)作可能的攻擊者,從他們的角色出發(fā),揣測他們可能會運用哪些手段對哪些網(wǎng)站服務(wù)器的漏洞進行攻擊,或許就可以發(fā)現(xiàn)網(wǎng)站服務(wù)器可能存在的安全漏洞,從而先行一步,修補漏洞,避免被木馬或者病毒攻擊,防患于未然。
從自身的網(wǎng)站服務(wù)器,執(zhí)行完整的檢測,然后模擬攻擊者攻擊自身的站點,看會有什么結(jié)果。這對于網(wǎng)站的安全性來說,無疑是一種很好的檢測方法。自己充當(dāng)攻擊者,運用適當(dāng)?shù)膾呙韫ぞ邔W(wǎng)站服務(wù)器執(zhí)行掃描,有些東西日??赡懿粫鹬匾?,但是運用黑客常用的工具執(zhí)行掃描,就會發(fā)覺一些可能會被他們調(diào)用的服務(wù)或者漏洞。如在網(wǎng)站服務(wù)器安裝的時候,操作系統(tǒng)會默認(rèn)安裝并啟動一些不需要的服務(wù),或者在服務(wù)器配置的時候,需要啟動一些服務(wù),但是事后沒有及時關(guān)上,從而給不法攻擊者留下攻擊的機會。常見的如SNMP服務(wù)(基本網(wǎng)絡(luò)維護協(xié)議),這個服務(wù)在系統(tǒng)安裝完畢后默認(rèn)是開啟的。但是,這個服務(wù)可以為攻擊者提供服務(wù)器系統(tǒng)的詳細信息,如網(wǎng)站服務(wù)器采用了什么操作系統(tǒng),開啟了什么服務(wù)與對應(yīng)的端口等重要信息,攻擊者只要清楚這些基本的信息就能開展攻擊。安全維護人員在日常工作中可能不會發(fā)覺這個問題,若借助黑客的掃描工具,就能發(fā)現(xiàn)問題所在。因此,在必要的時候可以換個角度,從攻擊者的角度出發(fā),猜測他們會采用什么攻擊手段,防止出現(xiàn)當(dāng)局者迷的情況。
2.合理的權(quán)限維護
大多時候,一臺服務(wù)器不僅運行了網(wǎng)站的應(yīng)用,而且還會運行諸如FTP服務(wù)器和流媒體服務(wù)器之類的網(wǎng)絡(luò)服務(wù)。在同一臺服務(wù)器上使用多種網(wǎng)絡(luò)服務(wù)很可能造成服務(wù)之間的相互感染。也就是說,攻擊者只要攻擊一種服務(wù),就可以運用相關(guān)的技能攻陷其他使用。因為攻擊者只需要攻破其中一種服務(wù),就可以運用這個服務(wù)平臺從內(nèi)部攻擊其他服務(wù),通常來說,從內(nèi)部執(zhí)行攻擊要比外部執(zhí)行攻擊方便得多。
或許有人會說,不同的服務(wù)采用不同服務(wù)器就可以了。當(dāng)然可以,但這樣浪費很大,因為從性能上講,在服務(wù)器上同時部署Web服務(wù)與FTP服務(wù)及流媒體服務(wù)的話,是完全可行的。為此,從成本考慮,我們使用一個服務(wù)器同時運行三種服務(wù):一個是傳統(tǒng)的網(wǎng)站服務(wù);二是FTP服務(wù);三是流媒體服務(wù),因為該服務(wù)是mms模式的,互聯(lián)網(wǎng)上也可以直接訪問流媒體服務(wù)器,所以也就部署同一臺服務(wù)器上。由于選用的服務(wù)器配置比較高,所以,運行這三個服務(wù)沒有太大問題,性能也不會受到影響。但是這給網(wǎng)站安全維護者出了一個難題:兩種、甚至兩種以上的服務(wù)同時部署在一臺服務(wù)器上,怎么才能保障安全、防止彼此相互感染呢?
通常采用的文件系統(tǒng)是FAT或者FAT32。NTFS是微軟WindowsNT內(nèi)核的系列操作系統(tǒng)支持的、一個特別為網(wǎng)絡(luò)和磁盤配額、文件加密等管理安全特性設(shè)計的磁盤格式。在NTFS文件系統(tǒng)里可以為任何一個磁盤分區(qū)單獨設(shè)置訪問權(quán)限,把敏感信息和服務(wù)信息分別放在不同的磁盤分區(qū)。這樣,即使黑客通過某些方法獲得服務(wù)文件所在磁盤分區(qū)的訪問權(quán)限,還需要想方設(shè)法突破系統(tǒng)的安全設(shè)置才能進一步訪問保存在其他磁盤上的敏感信息。我們采用Windows2003服務(wù)器,為了實現(xiàn)這個安全需求,把服務(wù)器中所有的硬盤都轉(zhuǎn)換為NTFS分區(qū)。通常來說,NTFS分區(qū)比FAT分區(qū)安全性高很多。運用NTFS分區(qū)自帶的功能,合理為它們分配相關(guān)的權(quán)限。如為這三個服務(wù)配置不同的維護員賬戶,不同的賬戶只能對特定的分區(qū)與目錄執(zhí)行訪問。如此一來,即使某個維護員賬戶失竊,攻擊者也只能訪問某個服務(wù)的存儲空間,而不能訪問其他服務(wù)的。例如把網(wǎng)站服務(wù)裝在分區(qū)D,而把FTP服務(wù)放在分區(qū)E。若FTP的賬戶信息泄露而被攻擊,但是因為FTP賬戶沒有對分區(qū)D具有讀寫的權(quán)利,所以,不會對網(wǎng)站服務(wù)器上的內(nèi)容執(zhí)行任何的讀寫操作。這樣可以保障即使黑客攻陷FTP服務(wù)器后,也不會對網(wǎng)站服務(wù)器產(chǎn)生不良的影響。
此外,依員工上班時間來限定使用者登錄網(wǎng)絡(luò)的權(quán)限也是一個不錯的方法。例如,上白天班的員工不該有權(quán)限在三更半夜登錄網(wǎng)絡(luò)。
3.腳本安全維護
實際工作中,許多網(wǎng)站服務(wù)器因為被攻擊而癱瘓都是由于不良的腳本造成的。攻擊者特別喜歡針對CGI程序或者PHP腳本實施攻擊。
通常來說,使用網(wǎng)站需要傳遞一些必要的參數(shù),才能夠正常訪問。這個參數(shù)可以分為兩類,一個是值得信任的參數(shù),另外一類是不值得信任的參數(shù)。某單位是自身維護網(wǎng)站服務(wù)器,而不是托管,把服務(wù)器放置在單位防火墻內(nèi)部,以提高網(wǎng)站服務(wù)器的安全性。所以一般來說,來自防火墻內(nèi)部的參數(shù)都是可靠的,值得信任的,而來自外部的參數(shù)基本上是不值得信任的。但是,并不是說不值得信任的參數(shù)或者來自防火墻外部的參數(shù)網(wǎng)站服務(wù)器都不采用,而是說,在網(wǎng)站服務(wù)器設(shè)計的時候,需要格外留心,采用這些不值得信任的參數(shù)的時候需要執(zhí)行檢驗,看其是否正當(dāng),而不能向來自網(wǎng)站內(nèi)部的參數(shù)那樣照收不誤。這會給網(wǎng)站服務(wù)器的安全帶來隱患,例如,攻擊者運用TELNET連接到80端口,就可以向CGL腳本傳遞不安全的參數(shù)。所以,在CGI程序編寫或者PHP腳本編輯的時候,我們要留心,不能讓其隨便接受陌生人的參數(shù)。在接受參數(shù)之前,要先檢驗提供參數(shù)的人或者參數(shù)本身的正當(dāng)性。在程序或者腳本編寫的時候,可以預(yù)先參加一些判斷條件。當(dāng)服務(wù)器認(rèn)為提供的參數(shù)不準(zhǔn)確的時候,及時通知維護員。這也可以幫助我們盡早發(fā)覺可能存在的攻擊者,并及時采取相應(yīng)的防御措施。
4.做好系統(tǒng)備份
常言道,“有備無患”,雖然大家都不希望系統(tǒng)突然遭到破壞,但是做好準(zhǔn)備是必須的。作好服務(wù)器系統(tǒng)備份,萬一遭破壞的時候也可以及時恢復(fù)。
5.安裝軟件防火墻、殺毒軟件
雖然我們已經(jīng)有了一套硬件的防御系統(tǒng),但是多一些保障會更好。關(guān)于防火墻、殺毒軟件的論述已經(jīng)很多,這里不再贅述。
6.開啟事件日志
開啟日志服務(wù)雖然對阻止黑客的入侵并沒有直接的作用,但是它可以記錄黑客的行蹤,維護員可以分析入侵者在系統(tǒng)上做過什么手腳,在系統(tǒng)上留了哪些后門,給系統(tǒng)造成了哪些破壞及隱患,服務(wù)器到底還存在哪些安全漏洞等,以便有針對性地實施維護。