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