亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網(wǎng)絡(luò),我們將竭誠為您提供優(yōu)質(zhì)的服務(wù)! 誠征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯(lián)系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業(yè)務(wù)咨詢
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁 >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

監(jiān)視并記錄Apache網(wǎng)站服務(wù)器的運(yùn)行

添加時(shí)間:2013-6-1 16:31:54  添加: 思海網(wǎng)絡(luò) 

  在Apache下的日志簡介

  Apache提供了廣泛記錄運(yùn)行時(shí)各方面信息的工具。比如有條件性的記錄日志,日志循環(huán),確定IP地址等時(shí)普遍會遇到的問題。還講解很多用于檢測您的Apache服務(wù)器狀態(tài)以及分析其日志的捆綁的第三方模塊和工具。

  默認(rèn)的Apache日志文件

  Apache提供很多檢測和日志工具來追蹤服務(wù)器的正確運(yùn)行。默認(rèn)的Apache配置提供兩個(gè)日志文件,放置在安裝目錄下的日志目錄里面。

  access_log 這個(gè)文件(在windows下對應(yīng)access.log文件)包含了服務(wù)器已經(jīng)處理過的請求的信息,比如說請求的URL,客戶端的IP地址,請求是否被成功完成等。error_log 這個(gè)文件(在windows下對應(yīng)error.log文件)包含了與錯誤情況相關(guān)的信息,以及服務(wù)器生命周期中不同的大事件。

  創(chuàng)建日志格式LogFormat "%h %l %u %t "%r" %>s %b" common
LogFormat "%h %l %u %t "%r" %>s %b"
  "%{Referer}i" "%{User-agent}i"" combined
LogFormat 指令允許你告訴Apache你想要記錄請求的哪些方面。而你仍需附加的指令來告訴Apache在哪里記錄那些信息,這在下一章中將會介紹。下面的例子顯示了兩種最受歡迎的格式的配置:普通日志格式和整合日志格式。當(dāng)Apache收到一個(gè)請求,他將會用相應(yīng)的請求屬性來替代以%為前綴的每一個(gè)域。如果您正在使用普通日志格式,您的日志文件里的每一項(xiàng)輸入看起來都將是這樣的:192.168.200.4 - someuser [12/Jun/2005:08:33:34
  +0500] "GET /example.png HTTP/1.0" 200 1234
如果您正在使用整合日志格式,您的日志文件里的每一項(xiàng)輸入看起來則都將是這樣的:192.168.200.4 - someuser [12/Jun/2005:08:33:34
  +0500] "GET /example.png HTTP/1.0" 200 1234
  http://www.example.com/index.html "Mozilla/5.0
  (Windows; U; Windows NT 5.1; en-US; rv:1.7.7)"
盡管有附件提供日志格式的詳盡索引,下表描述了一些最為重要的域:

 # %h: 客戶端(例如,瀏覽器)向服務(wù)器發(fā)出連接請求時(shí)自己的當(dāng)時(shí)的IP地址或域名(需開啟HostNameLookups)。

  # %u: 使用HTTP方式認(rèn)證用戶時(shí),記錄下的用戶的編號。

  # %t: 服務(wù)器接受到連接請求的時(shí)間。

  # %r: 客戶端發(fā)出的原始連接請求中的文本信息,包含所使用的HTTP方法。

  # %>s: 服務(wù)器應(yīng)答瀏覽器后的返回狀態(tài)代碼,200表示請求成功。.

  # %b: 服務(wù)器應(yīng)答瀏覽器發(fā)出的單個(gè)請求的回傳對象的內(nèi)容大小(字節(jié)為單位),不統(tǒng)計(jì)數(shù)據(jù)包頭部字節(jié)。

  整合日志格式在普通日志格式的基礎(chǔ)上擴(kuò)展出了兩個(gè)附加的域。定義為:

  # %{Referer}i: 連接請求數(shù)據(jù)包包頭,包含指向當(dāng)前頁面的文檔關(guān)聯(lián)信息。

  # %{User-agent}i: 用戶代理連接請求數(shù)據(jù)包包頭,包含客戶瀏覽器的信息。

  創(chuàng)建一個(gè)自定義日志文件

CustomLog logs/access_log common
TransferLog logs/sample.log
您可能會想創(chuàng)建Apache自帶以外的新的日志文件。下面的例子將運(yùn)用CustomLog來創(chuàng)建一個(gè)新的日志文件,并保存由一個(gè)之前定義好的日志格式,即前一章提到的common,所定義的信息。您還可以用格式本身的定義來替換昵稱。一個(gè)附加的,更為簡單的指令是Transferlog,它只接受最后一個(gè) LogFormat指令提供的定義。

  重導(dǎo)向日志到一個(gè)外部的程序

TransferLog "|bin/rotatelogs /var/logs/apachelog
86400"
你也可以用CustomLog或TransferLog將日志的輸出重導(dǎo)向(輸出)到一個(gè)外部的程序,而不是一個(gè)文件。要做到這一點(diǎn),首先您需要以輸出字符 "|"開頭,跟著是接收日志標(biāo)準(zhǔn)輸入信息的程序之路經(jīng)。本例運(yùn)用Apache自帶的rotatelogs程序,在稍后的章節(jié)中會對其有所介紹。

  當(dāng)有一個(gè)外部程序被使用,它將作為啟動httpd的用戶被運(yùn)行。如果服務(wù)器是被超級管理員所啟動,它就會是超級管理員,完全確保這個(gè)程序是安全的。并且,當(dāng)進(jìn)入一個(gè)非Unix平臺上的一個(gè)文件路徑時(shí),需要小心確保只有正斜杠被使用,即使這個(gè)平臺可能是允許使用反斜杠的。總的來說,在整個(gè)配置文件中總是使用正斜杠是個(gè)好主意。

  有條件的日志請求

SetEnvIf Request_URI "(.gif|.jpg)$" image
CustomLog logs/access_log common env=!image
SetEnvIf Remote_Addr 192.168.200.5 specialmachine
CustomLog logs/special_access_log common env=specialmachine
你可以根據(jù)可變的環(huán)境決定是否記錄一個(gè)請求。這種可變可以根據(jù)許多參數(shù),比如客戶端的IP地址或請求中某個(gè)頭部的存在,事先設(shè)置好。正如本例中所顯示, CustomLog指令可以將可變的環(huán)境作為第三個(gè)參數(shù)來接受。如果存在可變的環(huán)境,它就將被記錄,否則就不會。如果這個(gè)可變的環(huán)境被一個(gè)"!"開頭否定,那么不存在可變的環(huán)境將會被記錄。本例將告訴您如何避免在日志里以GIF和JPEG的格式記錄圖像,及如何從一個(gè)特定的IP地址記錄請求道一個(gè)單獨(dú)的日志文件。另一個(gè)例子請參加下一節(jié)。

  誰在連接你的網(wǎng)站

SetEnvIfNoCase Referer www.example.com internalreferral
LogFormat "%{Referer}i -> %U" referer
CustomLog logs/referer.log referer env=!internalreferral
可以通過記錄Referer的值來檢測哪些人連接了你的網(wǎng)站,Referer變量位于用戶發(fā)送連接請求數(shù)據(jù)包的頭部,數(shù)據(jù)包頭中還包含了用戶訪問的目的網(wǎng)站的URL地址。通過這種方法可以記錄下絕大部分網(wǎng)站訪問者。也可以把來自特定網(wǎng)站(www.example.com)地址段的來訪者排除出日志記錄文件。

  利用模塊參數(shù)(mod_status)來監(jiān)視Apache服務(wù)器

<location /server-status>
 SetHandler server-status
 Order Deny,Allow
 Deny from all
 Allow from 192.168.0
</location>
Apache 服務(wù)器中可以使用的功能模塊很多,有服務(wù)器內(nèi)置的也有外掛的,這些模塊工作的狀態(tài)和性能就是通過mod_status參數(shù)來記錄的,記錄的內(nèi)容有“哪些模塊參與了網(wǎng)站應(yīng)答服務(wù)、哪些模塊處于空閑狀態(tài)、服務(wù)器的開啟/關(guān)閉時(shí)間。正在處理的連接請求數(shù)和訪問者數(shù)量(需要指定ExtendedStatus記號) -該模塊記錄對高負(fù)荷網(wǎng)站服務(wù)器性能有很大影響”。例子中記錄的模塊狀態(tài)統(tǒng)計(jì)結(jié)果可以用瀏覽器訪問http://www.example.com/server-status頁面來查看。

  通過SNMP協(xié)議來監(jiān)視Apache服務(wù)器

  SNMP 是簡單網(wǎng)管協(xié)議,支持SNMP的服務(wù)器或網(wǎng)絡(luò)設(shè)備可以被OpenView、Tivoli等網(wǎng)管軟件統(tǒng)一管理,目前有很多開源的SNMP模塊可以加裝到 Apache網(wǎng)站服務(wù)器之上,對于Apache 1.3版來講,mod_snmp模塊可以支持第1版和2版的SNMP協(xié)議;對于Apache 2版來講,mod_apache_snmp模塊可以編譯成Apache的DSO直接支持第1版、第2版和第3版的SNMP協(xié)議。有了SNMP模塊,外部網(wǎng)管軟件就可以對Apache網(wǎng)站服務(wù)器的各種實(shí)時(shí)性能參數(shù)進(jìn)行查看了,這些參數(shù)包含“服務(wù)器連續(xù)在線時(shí)間、平均負(fù)載、一段時(shí)間內(nèi)的錯誤數(shù)、提供網(wǎng)站服務(wù)的字節(jié)數(shù)和連接請求數(shù)”。SNMP模塊遇到突然激增的并發(fā)連接請求數(shù)時(shí)會向控制臺報(bào)警。管理SNMP資源的開源工具軟件有:“net-snmp, OpenNMS,Najios等”。

  用開源工具分析日志

  有很多開源和商業(yè)版的工具軟件可以對產(chǎn)生的Apache日志文件做分析和處理,通常的步驟是:

1.選取一個(gè)日志文件。
2.分析日志文件內(nèi)容。
3.生成包含不同類別內(nèi)容的統(tǒng)計(jì)信息網(wǎng)頁輸出。
Webalizer(http://www.mrunix.net/webalizer/)和AWStats(http://awstats.sf.net)是較為流行的日志文件分析工具;還有一些工具可以記錄來訪者具體訪問路線,比如Vistors和Pathalizer工具,可以分別從http://www.hping.org/visitors/和http://pathalizer.bzzt.net/下載。

  實(shí)時(shí)監(jiān)視日志

  使用apachetop命令行工具來顯示apache服務(wù)器當(dāng)前的運(yùn)行狀態(tài),類似于Unix等系統(tǒng)下的top命令工具。對流量比較低的Unix- Apache網(wǎng)站也可以使用tail命令來記錄實(shí)時(shí)日志信息,tail -f /logfile/。通過掃描錯誤日志文件中的記錄,分析出惡意連接請求,常用的錯誤日志文件掃描工具有Logscan和ScanErrLog,可以分別從http://www.garand.net/security.php和http://www.librelogiciel.com/software/去下載這些工具。

  將連接請求日志記錄到數(shù)據(jù)庫

  Apache 本身沒有將記錄轉(zhuǎn)發(fā)到數(shù)據(jù)庫的功能,必須要第三方腳本和模塊來支持。這里列舉幾個(gè):mod_log_sql模塊允許將連接請求直接記入MySQL數(shù)據(jù)庫,然后用Apache LogView SQL工具來參看庫中的記錄;pglogd工具可以記錄日志到PostgreSQL數(shù)據(jù)庫中。

  將日志文件轉(zhuǎn)存和歸檔

CustomLog "|bin/rotatelogs /var/logs/apachelog
86400" common
如果網(wǎng)站流量較高,日志文件很容易就會變得很大,需要進(jìn)行轉(zhuǎn)存和歸檔處理。轉(zhuǎn)存日志文件時(shí)需要壓縮和保存,在線進(jìn)行這項(xiàng)工作可以使用Apache提供的rotatelogs來完成,類似工具還可以在http://cronolog.org/上找到。例子中用rotatelogs工具將每天的日志做了轉(zhuǎn)存和歸檔處理,一天共有86400秒。查看Apache幫助文件可以了解更多的rotatelogs工具參數(shù)。注意如果rotatelogs工具所在的目錄名含有空格,則需要用跳轉(zhuǎn)符號來指定。

  IP地址和域名之間對應(yīng)處理

  將HostNameLookups 設(shè)置成on,那么日志記錄中將顯示來訪者所在的域名,設(shè)置成on可降低服務(wù)器性能。為了解決這一問題,Apache提供了一個(gè)事后分析IP地址域名信息的工具logresolve,例如$ logresolve < access_log > resolved_log

  如果用代理服務(wù)器或網(wǎng)關(guān)設(shè)備來完成的網(wǎng)站訪問,Apache服務(wù)器將只能記錄到代理服務(wù)器和網(wǎng)關(guān)的IP地址和域名。

  如何自動啟動Apache服務(wù)器

#!/bin/bash
if [ 'ps -waux | grep -v grep | grep -c httpd' -lt 1
]; then apachectl restart; fi
在windows 平臺下以服務(wù)方式啟動的Aapche遇到意外退出后可以由服務(wù)管理器自動自動,Unix平臺下需要借助watchdog腳本來實(shí)現(xiàn)自動啟動功能, watchdog程序?qū)iT用來監(jiān)視其他程序的運(yùn)行狀態(tài),發(fā)現(xiàn)被監(jiān)視的程序退出或停止后可以重新將他們啟動。例子中簡單的linux腳本將監(jiān)視系統(tǒng)的進(jìn)程表,如果網(wǎng)站服務(wù)器httpd進(jìn)程消失,則負(fù)責(zé)將它重新啟動,使用該腳本的條件有2個(gè),首先保證該腳本文件具備可執(zhí)行權(quán)限,第二必須將該文件設(shè)置到 cron文件中,使之可以在預(yù)定的時(shí)間間隔內(nèi)運(yùn)行,如果使用Solaris系統(tǒng),需要將例子中的ps -waux改成ps -ef。用戶可以訪問http://perl.apache.org/docs/general/control/control.html網(wǎng)頁發(fā)現(xiàn)更多高級的watchdog類腳本工具,大多數(shù)linux發(fā)行版自帶一些用于Apache的腳本工具。

  日志文件的分割和合并

  如果用戶的網(wǎng)站環(huán)境是用服務(wù)器集群來搭建的,通常需要將所有服務(wù)器上的日志做合并成單個(gè)文件后,才可以進(jìn)行分析和處理。相似的道理,如果在單臺服務(wù)器上運(yùn)行多個(gè)虛擬網(wǎng)站,則需要將單個(gè)日志文件分割成多個(gè)部分供不同的虛擬網(wǎng)站用戶去分析。在Apache服務(wù)器源碼的support/文件夾下可以找到相應(yīng)的腳本工具split-logfile等。在http://www.coker.com.au/logtools/網(wǎng)頁可以找到一些其他的日志工具。比如vlogger工具就可以替代cronologs來對單個(gè)服務(wù)器上的虛擬網(wǎng)站日志進(jìn)行分別處理,該工具在http://n0rp.chemlab.org/vlogger/下載。

  為虛擬網(wǎng)站保存獨(dú)立的日志文件

<virtualhost>
 ServerName vhost1.example.com
 CustomLog logs/vhost1.example.com_log combined
 ErrorLog logs/vhost2.example.com_log
 .......
</virtual host>
使用CustomLog標(biāo)志段在Apache配置文件的<Virtualhost>區(qū)塊內(nèi)實(shí)現(xiàn)虛擬網(wǎng)站日志文件的獨(dú)立處理。

LogFormat "%v %h %l %u %t "%r" %>s %b" common_virtualhost
CustomLog logs/access_log common_virtualhost
在Apache全局配置中配置方法,其中的v%負(fù)責(zé)把提供服務(wù)的虛擬網(wǎng)站記錄下來,對于配置了很多虛擬網(wǎng)站的單臺服務(wù)器來說,這種配置不錯。如果不想記錄虛擬服務(wù)器的日志只需要在配置文件中加入"CustomLog /dev/null"就可以了。

  日志文件中常見的條目

  缺少favicon.ico文件,該文件可在瀏覽器的標(biāo)題欄顯示網(wǎng)站的個(gè)性圖案;

  缺少robots.txt文件,利于站點(diǎn)復(fù)制工具和搜索引擎使用;

  覆寫httpd.pid文件,網(wǎng)站服務(wù)器不正常退出后遺留的PID記錄文件;

  陌生的長記錄條,

"SEARCH /x90x02xb1x02xb1x02xb1x02 ..."
"GET /s/..%252f../winnt/system32/cmd.exe?/
 c+dir HTTP/1.0..."
"GET /default.ida?NNNNNNN NNNNNNNNNNNNNNNNNN ..."
類似的記錄條表示訪問者請求了網(wǎng)站上根本沒有的cmd.exe,root.exe或dir等文件。

  日志文件中的一些條目經(jīng)常反映了那些自動探測網(wǎng)站服務(wù)器漏洞的動作,多數(shù)來源于針對IIS網(wǎng)站服務(wù)器的蠕蟲和惡意程序。有時(shí)候也會發(fā)現(xiàn)一些針對Apache的漏洞,所以為了保證Apache的正常運(yùn)行,用戶應(yīng)保持經(jīng)常更新Apache軟件。

  原文鏈接:http://loveher.blog.51cto.com/blog/48504/6828

關(guān)鍵字:Apache、網(wǎng)站、服務(wù)器

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國增值電信業(yè)務(wù)經(jīng)營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網(wǎng)站公安備案編號:44060602000007 交互式欄目專項(xiàng)備案編號:200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎  警警  手機(jī)打開網(wǎng)站