企業把其網站視為日常運作的關鍵業務。為了讓關鍵業務的功能運作一直保持在最佳效能,Linux系統管理員需要多種工具來協助他們簡易有效地監控Web伺服器。
以下三個開源工具可以協助Linux管理員更進一步地理解他們的Web伺服器的功能、潛在安全問題和訪客人數:
1.用Apache Bench的測試效能基準。
解決非預期效能下降的最好方法是確保它不在最初時發生。一個叫做Apache Benchab)的工具可以用於測試伺服器的效能基準並最佳化其配置。
Apache Bench的命令列介面很容易使用,系統管理員可以規定測試效能時應該現時發生的請求數量、POST淨負荷或者包含有效效能結果的輸出檔案名。下面,你可以看看如何檢查GameNomad程式開發伺服器的效能,這能讓你看到與在生產伺服器上運行網站的對比效能:
該測試會發布總共1000個請求,同時執行10個請求:
$ ab -c 10 -n 1000 http://stage.gamenomad.com/...Benchmarking stage.gamenomad.com (be patient)Completed 100 requestsCompleted 200 requests...Completed 900 requestsCompleted 1000 requestsFinished 1000 requestsServer Software: Apache/2.2.17Server Hostname: stage.gamenomad.comServer Port: 80Document Path: /Document Length: 9654 bytesConcurrency Level: 10Time taken for tests: 376.074 secondsComplete requests: 1000Failed requests: 8(Connect: 0, Receive: 0, Length: 8, Exceptions: 0)Write errors: 0Total transferred: 9988344 bytesHTML transferred: 9596168 bytesRequests per second: 10.91 [#/sec] (mean)Time per request: 916.872 [ms] (mean)Time per request: 91.687 [ms] (mean, across all concurrent requests)Transfer rate: 106.58 [Kbytes/sec] receivedConnection Times (ms)min mean[+/-sd] median maxConnect: 88 96 9.7 94 151Processing: 320 739 496.8 491 2640Waiting: 221 629 494.2 376 2539Total: 413 835 495.6 587 2735Percentage of the requests served within a certain time (ms)50% 58766% 72975% 94280% 152890% 167295% 176198% 192499% 2735100% 2735 (longest request)
在資訊返回到連線時間時,它把平均總連線時間分解成串連、等待和處理三個構成部分,並協助識別潛在的瓶頸。
儘管沒有專用的最佳實務指標應用到每一種情況,最快的就是最好的。當頁面下載緩慢時使用者不會逗留。
改進之後,再次運行ab寧願多試幾次)並把結果和最初的進行對比。試想一下,對比的不只是連線時間還有不同時間內服務的要求比率。從遠程伺服器上運行ab儘可能的模模擬實世界的環境。
2.用Nikto評估伺服器安全。
一般的網站類似於一個電子版的中世紀古堡,不斷地有野蠻人在門上敲打。不同在於一個網站是全球規模的,所以一個自動化指令碼或一些其它發明協同攻擊你Web伺服器防衛的機會更大。
另外要採取積極措施,比如保持更新最新的安全補丁,把你自己當作潛在攻擊者的位置並針對可能的安全問題掃描伺服器都是有意義的。
Nikto就是一種可用的工具,它是一個開源掃描器,它探查有關作業系統、Web伺服器和軟體安裝的上千個已知漏洞。Nikto基於Perl,它可在包括Windows在內的所有作業系統上運行。一旦安裝,掃描一個網站就像提起Nilto和你想掃描的伺服器名字一樣簡單:
$ nikto -h dev.gamenomad.com
儘管執行一次完全掃描不是一個壞主意,但記住,Nikto把綜合性放在其它因素之前。這意味著它會執行上千次連續的請求。
為此,你也許想要過濾Nikto的預設掃描範圍。選擇一個第三方安裝包整合時可能已經進入的特定漏洞。檢查執行已知SQL注入式攻擊的能力和已安裝軟體的可見度,分別在-T標誌後加入7和b值:
$ nikto -h dev.gamenomad.com -T 7b- Nikto v2.1.1---------------------------------------------------------------------------+ Target IP: 127.0.0.1+ Target Hostname: dev.gamenomad.com+ Target Port: 80+ Start Time: 2011-08-03 13:05:22---------------------------------------------------------------------------+ Server: Apache/2.2.17 (Ubuntu)+ No CGI Directories found (use ‘-C all’ to force check all possible dirs)+ Retrieved X-Powered-By header: PHP/5.3.5-1ubuntu7.2+ DEBUG HTTP verb may show server debugging information.See http://msdn.microsoft.com/en-us/library/e8z01xdh%28VS.80%29.aspx for details.+ 21 items checked: 2 item(s) reported on remote host + End Time: 2011-08-03 13:07:59 (157 seconds)---------------------------------------------------------------------------+ 1 host(s) tested
記住,Nikto只可以連同第三方軟體掃描報告的已知SQL注入式攻擊。它無法偵測自訂應用裡引入的SQL注入式攻擊。
Nikto檔案中有一個可用的完整漏洞選項列表,它包括的選項有建立報告、使用外掛程式、運用逾時壓制請求等。
3.用Piwik分析流量。
Google分析在Web分析時確實已經是龍頭產品,但是其它分析工具也值得考慮。其中之一就是Piwik,它的目標是成為替代Google分析的開源選擇。
相比於AWStats和Webalizer等成熟的開源工具,Piwik還是一個新人,但是它平滑的介面、成熟的功能集、轉換及電子商務追蹤功能和可用於iOS和安卓的行動裝置 App讓它難以被忽視。
Piwik的安裝和配置過程類似於Google分析,只需要在網站中插入追蹤程式碼片段的Java指令碼。不同在於所有的分析資訊都儲存在本地的資料庫中,在改變軟體方面沒有限制。
使用這三個開源解決方案可以更深刻地理解你的Web伺服器的效能能力、潛在的安全問題和訪客人數。
原文地址:http://www.searchsv.com.cn/showcontent_53448.htm