Web服務器維護和安全管理技巧(2)
Web服務器維護和安全管理技巧之腳本安全管理
根據以往經驗,其實很多Web服務器因為被攻擊而癱瘓,都是由于不良的腳本所造成的。特別是,攻擊者非常喜歡利用CGI程序或者PHP腳本,利用他們的腳本或者程序漏洞,進行攻擊。
一般來說,WEB應用需要傳遞一些必要的參數,才能夠正常訪問。而這個參數又可以分為兩類,一個是可值得信任的參數,另外一類是不值得信任的參數。如企業可能是自己管理Web服務器,而不是托管。他們就把服務器放置在企業的防火墻內部,以提高Web服務器的安全性。
所以一般來說,來自于企業防火墻內部的參數都是可靠的,值得信任的;而來自于企業外部的參數,都是不值得信任的。但是,也不是說不值得信任的參數或者說,來自于防火墻外部的參數Web服務器都不采用。而是說,在Web服務器設計的時候,需要注意,采用這些不值得信任的參數的時候,需要進行檢查,看其是否合法;而不能向來自于企業內部的參數那樣,不管三七二十一,都照收不誤。這明顯會對Web服務器的安全帶來威脅。如有時會,攻擊者利用TELNET連接到80端口,就可以向CGL腳本傳遞不安全的參數。
所以,在CGI程序編寫或者PHP腳本編輯的時候,我們要注意,一定不能讓其隨便接受陌生人的參數,不要隨便跟陌生人打交道。在接受參數之前,一定要先檢驗提供參數的人或者參數本身的合法性。在程序或者腳本編寫的時候,可以預先加入一些判斷條件。當服務期認為若提供的參數不合法的時候,及時通知管理員。這也可以幫助我們,盡早的發現可能存在的攻擊者,并采取相應的措施。
對于腳本的安全性的注意問題
1、在腳本或者程序編寫的時候,不應該把任何不信任的參數直接保存為會話變量。因為根據WEB應用的設計原理,會話變量只保存信任變量。也就是說,會話變量中的值,WEB服務都認為其是值得信任的,會不加思索的采用。一般的設計思路是,先設置一個臨時變量進行存儲,然后編寫一個檢驗其合法性的過程或者函數,來驗證其合法性。
只有通過驗證的時候,這個值才能夠被傳給會話變量。根據經驗,要是沒有親身經歷過慘痛教訓的WEB管理員,可能對此不屑一顧。但是,那些有過這方面教訓的人,則會非常看重這個合法性的檢驗過程。畢竟是吃一塹長一智,所以新手還是需要多聽聽過來人的建議,不會吃虧的。
2、在沒有充分必要的時候,不要采用腳本,盡量使得網頁的簡單化。其實,企業的網站跟個人網站有個很大的不同,企業的網站只要樸素就好,不需要過多的渲染。一方面,過度渲染的網站會降低用戶網站訪問的速度;另一方面,這也會降低網絡的安全性能。故,在沒有充分必要的情況下,不要共腳本或者程序在渲染網站的華而不實的功能。
Web服務器維護和安全管理技巧就全部向大家介紹完了。希望大家已經掌握。
【編輯推薦】