摘要:互聯網的高速發展使得web站點的安全性日益突出,如何構建安全web站點成為日益重要的問題,該文針對當前web站點常見問題提出一些解決思路。
關鍵詞:web服務器;安全漏洞;安全策略
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)34-1597-01
The Construction of Secure Web Site
LI Jin-peng, CHEN Wei
(Henan Agricultural University, Zhengzhou 45000, China; 2.Henan Polytechnic University, Jiaozuo 45100, China)
Abstract: The rapid development of the Internet makes the security of web sites have become increasingly prominent. How to build a safer web site become an increasingly important issue.In this article,the web site frequently asked questions put forward some ideas to solve.
Key words: web site; safe leak; safety tactics
隨著互聯網技術的不斷發展,中國已經發展成全球第一大的互聯網用戶,也帶來了互聯網網站的高速發展。當前的互聯網網站已經成為信息傳播、流通、交換及存儲的重要平臺。政府部門的電子政務。很多企業推出了B2B、B2C業務,各大商業銀行紛紛開通網銀業務,在這些業務的蓬勃發展極大的方便了我們的日常生活的同時也使得web站點的安全性問題變得日益為突出。由于互聯網網站處于高度的開放狀態,而承載網站的應用程序和服務器本身通常又有各種問題,這就為黑客的入侵提供了可乘之機。因此,如何構建更加安全的web站點逐漸成為一個重要問題。
1 當前Web服務器的安全問題
Gartner(全球知名調查公司)調查顯示,攻擊行為通常發生在web站點的應用層面。這是因為很多部門和公司出于節約成本考慮或web服務器管理員對服務器安全風險未有足夠的重視,往往在一臺web服務器上又開放大量其他服務,當過多的服務存在于一臺服務器時其所帶來的大量端口的開放問題會使得web服務器整體安全性大大下降。與此同時未曾修改web應用程序的banner信息,使得攻擊者容易獲得服務器程序的版本信息,并根據這些版本信息發起有針對性的攻擊。
Web服務器存在的主要漏洞包括物理路徑泄露,CGI源代碼泄露,目錄遍歷,執行任意命令,緩沖區溢出,SQL注入,CGI漏洞等。web服務器的安全性必須針對與其配合的操作系統,從而最大程度的避免安全漏洞的出現。
物理路徑泄露
物理路徑泄露通常由Web服務器處理用戶請求出錯導致的。如通過提交一個超過限制長度的請求,或者是某個特殊請求,或是請求一個Web服務器無法提供在的文件。這些請求通常屬于CGI腳本,而不是靜態HTML頁面。物理路徑泄露還可能產生于Web服務器的某些顯示環境變量的程序錯誤的輸出了Web服務器的物理路徑。物理路徑的泄露使得攻擊者可以利用此漏洞得到信息,來對系統進一步地攻擊,從而使得攻擊者得以擴大攻擊范圍。
目錄遍歷
目錄遍歷通常不會出現在Web服務器,但某些特殊情形下通過對任意目錄附加“../”,或者是在有特殊意義的目錄附加“../”,又或者是附加“../”的一些變形,如“..\\”或“..//”甚至其編碼,都可能導致目錄遍歷。雖然前一種情況并不多見,但是后面的幾種情況就常見得多。過去非常流行的IIS二次解碼漏洞和Unicode解碼漏洞都可以看作是變形后的編碼。當目錄遍歷出現之后,web服務器上的用戶隔離措施將形同虛設,使得攻擊者能夠飛快提升自身權限,從而逐步達到對服務器的完全控制。
執行任意命令
執行任意命令即執行任意操作系統命令,主要包括兩種情況。一是Web服務器把用戶提交的請求作為SSI指令解析,從而導致非授權用戶可以執行任意命令甚至遍歷目錄。另一種就是利用前面提到的二次解碼和UNICODE解碼漏洞,來執行系統命令。
緩沖區溢出
Web服務器沒有對用戶提交的超長請求進行合適的處理,這種請求可能包括超長URL,超長HTTP Header域,或者是其它超長的數據。這種漏洞可能導致執行任意命令或者是拒絕服務——這一般取決于構造的數據。通常行情況下緩沖區溢出會導致web服務器服務停止,或web站點開放所有內容包括隱藏內容或權限,相比較而言后一種對web站點危害性更為突出。
SQL注入
SQL注入的漏洞是在編程過程造成的。后臺數據庫允許動態SQL語句的執行,而前臺應用程序沒有對用戶輸入的數據或者頁面提交的信息(如POST,GET)進行必要的安全檢查,從而導致安全漏洞。SQL注入漏洞通常是由數據庫自身的特性造成的,與web程序的編程語言的無關。幾乎所有的關系數據庫系統和相應的SQL語言都面臨SQL注入的潛在威脅。由于數據庫中內容通常是web站點靈魂所在,對數據庫的攻擊往往具有更大的破壞性,其所帶來的危險性也是不言而喻的。(下轉第1599頁)
(上接第1597頁)
CGI漏洞
通過CGI腳本存在的安全漏洞,比如暴露敏感信息,缺省提供的某些正常服務未關閉,利用某些服務漏洞執行命令,應用程序存在遠程溢出,非通用CGI程序的編程漏洞,常該漏洞是由于網管人員疏忽所致。
2 web服務器安全策略
面對嚴峻的網絡安全形式,如何保證web站點安全成為擺在每個網絡管理人員面前的難題。而制定安全策略是所有安全決策的基礎,一個完整的安全策略能夠幫助web站點管理員矯正一些日常常見紕漏并使之在保護網絡安全時作出一致的決定。在制定安全策略的過程中,要注意策略的連續性。
一個優秀的管理員應當充分了解自己所管理的web服務器的應用范圍,服務器特點,操作系統缺點,從而作出最佳的安全策略,單純的只去做web服務器軟件方面防范是不科學也是不可取的,在完善軟件環境的同時應當配合路由策略,只有這樣才能實現web站點安全的最大化。
外部安全策略
路由策略,如限定web服務器允許遠程上傳ip地址或只允許特定ip來源地主訪問web服務器,防火墻策略,如過濾特定ip黑名單,做好訪問行為控制。
內部安全策略
定期檢查當前操作系統是否有新發出的補丁,及時安裝最新的系統補丁,由于web服務器上通常會存在多個子站點,因此做好各子站點的隔離和檢查工作顯得尤為重要。同時做好定期備份網站及重要數據庫文件,做好日志審查工作,定期檢查修改系統用戶密碼,在修改密碼時要盡量避免個人信息與單位信息相關詞匯融入其中,做好服務器操作使用記錄,避免無關人員觸及服務器從而最大程度上保證服務器的物理與邏輯上的安全。
3 結束語
從網絡安全技術本質上講,就是“攻”與”防的技術。對于web站點,“亡羊補牢”和“防患于未然”同樣重要。目前國內大多數web站點都存在著上述的安全問題,有的web站點甚至存在大量的安全隱患,因此,作為web站點管理員,一方面要加強安全防范措施,部署用于網站業務保護的入侵防御設備,防患于未然;另一方面也要經常對自己的網站進行安全測試,查看網站運行日志文件,亡羊補牢,為時未晚,把安全風險降到最低從而使得web站點能夠提供安全高效的信息服務。
參考文獻:
[1] 蔣先華.校園網的組建與應用[M].科學出版社,2003.
[2] 胡昌平.現代信息管理機制研究[M].武漢大學出版社,2004.
[3] 耐特工作室.腳本漏洞大曝光[M/CD].四川電子音像出版中心,2002.