在討論Inte.net和Web技術給人們提供瀟灑服務的同時,不能不提到CGI(Common Gateway Interface)。它是Web服務器與外部應用程序之間交換數據的標準接口軟件。有了CGI,Web網站將不只是靜態頁面的收藏點,而是可以通過在Web服務器上運行一定的程序,輸出一個動態的頁面。CGI是一種獨立于語言的接口,CGI程序可以使用任何可以訪問環境變量和產生輸出的編程語言來編寫,有C、C++、PERL、Shell等。
CGI與Web服務器的關系:首先,用戶的Web 服務器必須支持CGI程序,并且CGI應用程序必須在Web服務器上運行??蛻舳?Web瀏覽器)常用Post、Get兩種方式向Web服務器提交表單數據(圖、表、文字的鏈接等),Web服務器采用相應的數據傳遞方式向CGI應用程序傳遞數據。CGI對數據處理后,將動態生成的Web頁面發給Web服務器,服務器再把頁面發送給發送請求數據的客戶端??蛻舳擞肞ost 方式遞交數據,Web 服務器按照標準方式向CGI輸入和接受數據,CGI同樣按標準方式讀取和輸出數據;客戶端用Get方式遞交數據,在Unix類系統中Web服務器通過環境變量方式把數據轉交CGI應用程序,CGI應用程序須從環境變量中讀入數據,輸出結果同樣送到標準輸出中。
二、建立Web安全體系
Web賴以生成的環境包括計算機硬件、操作系統、計算機網絡、許多的網絡服務和應用,所有這些都存在著安全隱患,最終威脅到Web的安全。Web 的安全體系結構非常復雜主要包括以下幾個方面:
* 客戶端軟件(既Web瀏覽器軟件)的安全;
* 運行瀏覽器的計算機設備及其操作系統的安全(主機系統安全);
* 客戶端的局域網(LAN);
* Internet;
* 服務器端的局域網(LAN);
* 運行服務器的計算機設備及操作系統的安全(主機系統的安全);
* 服務器上的Web服務器軟件。
在分析Web服務器的安全性時,一定要考慮到所有這些方面,因為它們是相互聯系的,每個方面都會影響到Web服務器的安全性,它們中安全性最差的決定了給定服務器的安全級別。由于篇幅的限制不能夠詳細地討論所有影響Web安全的因素??紤]到影響Web安全的最直接的因素,下面主要討論Web服務器軟件及支撐服務器運行的操作系統的安全設置與管理。
1、主機系統的安全需求
網絡的攻擊者通常通過主機的訪問來獲取主機的訪問權限,一旦攻擊者突破了這個機制,就可以完成任意的操作。對某個計算機,通常是通過口令認證機制來實現的登陸到計算機系統上?,F在大部分個人計算機沒有提供認證系統,也沒有身份的概念,極其容易被獲取系統的訪問權限。因此,一個沒有認證機制的PC是Web服務器最不安全的平臺。所以,確保主機系統的認證機制,嚴密地設置及管理訪問口令,是主機系統抵御威脅的有力保障。
2、Web服務器的安全需求
隨著“開放系統”的發展和Internet的知識普及,獲取使用簡單、功能強大的系統安全攻擊工具是非常容易的事情。在訪問你的Web站點的用戶中,不少技術高超的人,有足夠的經驗和工具來探視他們感興趣的東西。還有在人才流動頻繁的今天,“系統有關人員”也可能因為種種原因離開原來的崗位,系統的秘密也可能隨之擴散。
不同的Web網站有不同的安全需求。建立Web網站是為了更好地提供信息和服務,一定程度上Web站點是其擁有者的代言人,為了滿足Web服務器的安全需求,維護擁有著的形象和聲譽,必須對各類用戶訪問Web資源的權限作嚴格管理;維持Web服務的可用性,采取積極主動的預防、檢測措施,防止他人破壞,造成設備、操作系統停運或服務癱瘓;確保Web服務器不被用做跳板來進一步侵入內部網絡和其他網,使內部網免遭破,同時避免不必要的麻煩甚至法律糾紛。