日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

apache的防DDOS模块-mod_evasive

發布時間:2025/7/14 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 apache的防DDOS模块-mod_evasive 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、 mod_evasive 介紹;

mod_evasive 是Apache(httpd)服務器的防DDOS的一個模塊。對于WEB服務器來說,是目前比較好的一個防護DDOS***的擴展模塊。雖然并不能完全防御 DDOS***,但在一定條件下,還是起到緩服Apache(httpd)服務器的壓力。如果配合iptables、硬件防火墻等防火墻設備配合使用,可能 有更好的效果。

mod_evasive 的官方地址:http://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz

2、 mod_evasive 的安裝和配置;

因為現在基本上都用apache2.X的版本了,就不介紹apache1.X版本的安裝方法了。

安裝 mod_evasive 之前,你要用安裝Apache(httpd)服務器軟件包,還要安裝httpd-devel或 apache-dev。在Slackware 12.0中,安裝httpd軟件即可;

對于Apache 2.x 可以用下面的辦法;

  • #tar?zxvf?mod_evasive_1.10.1.tar.gz?
  • #cd?mod_evasive?
  • #/usr/sbin/apxs?-i?-a?-c?mod_evasive20.c?

  • 注:apxs 用于編譯模塊工具;如果是用系統自帶的軟件包,一般位于/usr/sbin目錄。如果您是自己編譯安裝Apache(httpd)的,你應該自己來指定路徑;

    便已完成后會提示這個模塊的位置等一些信息,如下:

  • Libraries?have?been?installed?in:?
  • ???/usr/lib64/httpd/modules?
  • ?
  • If?you?ever?happen?to?want?to?link?against?installed?libraries?
  • in?a?given?directory,?LIBDIR,?you?must?either?use?libtool,?and?
  • specify?the?full?pathname?of?the?library,?or?use?the?`-LLIBDIR'?
  • flag?during?linking?and?do?at?least?one?of?the?following:?
  • ???-?add?LIBDIR?to?the?`LD_LIBRARY_PATH'?environment?variable?
  • ?????during?execution?
  • ???-?add?LIBDIR?to?the?`LD_RUN_PATH'?environment?variable?
  • ?????during?linking?
  • ???-?use?the?`-Wl,--rpath?-Wl,LIBDIR'?linker?flag?
  • ???-?have?your?system?administrator?add?LIBDIR?to?`/etc/ld.so.conf'?
  • ?
  • See?any?operating?system?documentation?about?shared?libraries?for?
  • more?information,?such?as?the?ld(1)?and?ld.so(8)?manual?pages.?
  • ----------------------------------------------------------------------?
  • chmod?755?/usr/lib64/httpd/modules/mod_evasive20.so?
  • [activating?module?`evasive20'?in?/etc/httpd/conf/httpd.conf]?

  • 我們然后修改/etc/ld.so.conf 文件,把編譯出來的動態模塊的所在位置指定在 ld.so.conf中;比如我用的是Aapche 2.x ,編譯完成后,模塊mod_evasive20.so 安裝到了 /usr/lib64/httpd/modules 目錄中;那我們就要把這個目錄寫入到ld.so.conf中。

  • #echo?"/usr/lib64/httpd/modules"?>>?/etc/ld.so.conf?
  • 2.3 mod_evasive 的配置;

    在編譯安裝完成后,會自動插入一行到Apache 配置文件中,對于Apache 2.x 版本中,應該在其配置文件中有類似下面的一行;

    LoadModule evasive20_module? ?lib/httpd/modules/mod_evasive20.so

    然后我們再修改 Apache 的配置文件,配置文件名為httpd.conf;

  • <IfModule?mod_evasive20.c>?
  • ????DOSHashTableSize????3097???//記錄和存放黑名單的哈西表大小,如果服務器訪問量很大,可以加大該值?
  • ????DOSPageCount????????2?????//同一個頁面在同一時間內可以被統一個用戶訪問的次數,超過該數字就會被列為***,同一時間的數值可以在DosPageInterval參數中設置。?
  • ????DOSSiteCount????????50?????//同一個用戶在同一個網站內可以同時打開的訪問數,同一個時間的數值在DOSSiteInterval中設置。?
  • ????DOSPageInterval?????1?????//設置DOSPageCount中時間長度標準,默認值為1。?
  • ????DOSSiteInterval?????1??????//設置DOSSiteCount中時間長度標準,?默認值為1。?
  • ????DOSBlockingPeriod???10????//被封時間間隔秒,這中間會收到?403?(Forbidden)?的返回。?
  • </IfModule>?
  • 修改完成后,我們要重啟Apache服務器;

    2.4 對mod_evasive測試驗證 ;

    防DDOS的模塊做好后,我們可以要驗證,可以用Apache 自帶的ab工具,系統默認安裝在/usr/sbin目錄中;比如;
    #/usr/sbin/ab -n 1000 -c 50 http://127.0.0.1/

    發送數據請求包,總共1000個,每次并發50個;

    另外一個測試工具就是mod_evasive的解壓包的目錄中,有個test.pl ,你可以修改IP地址,然后用
    #perl test.pl
    是不是有效果,請根據 ab工具或 測試腳本出來的結果來查看;
    因為我們編譯mod_evasive時,用的是默認配置,所以日志被存放在/tmp目錄中。如果有DDOS***,會在/tmp產生日志。日志的文件是以 dos-開頭的;

    3、mod_evasive 的高級配置;

    如果想更改一些適合自己的參數,有些必要的參數,并不是通過配置文件修改就一下起作用的,我們要修改源碼包中的mod_evasive20.c

  • #define?DEFAULT_HASH_TBL_SIZE???3097ul??//?Default?hash?table?size?
  • #define?DEFAULT_PAGE_COUNT??????2???????//?Default?maximum?page?hit?count?per?interval?
  • #define?DEFAULT_SITE_COUNT??????50??????//?Default?maximum?site?hit?count?per?interval?
  • #define?DEFAULT_PAGE_INTERVAL???1???????//?Default?1?Second?page?interval?
  • #define?DEFAULT_SITE_INTERVAL???1???????//?Default?1?Second?site?interval?
  • #define?DEFAULT_BLOCKING_PERIOD?10??????//?Default?for?Detected?IPs;?blocked?for?10?seconds?
  • #define?DEFAULT_LOG_DIR?????????"/tmp"??//?Default?temp?directory?
  • 比如我們改改其中的數字,根據英文很容易理解。比如修改日志存放目錄,就把/tmp改成別的目錄。如果您不知道放在哪好,還是用默認的吧;
    如果您在這里更改了參數,不要忘記修改Apache 配置文件中關于mod_evasive 的參數

    轉載于:https://blog.51cto.com/loveyan/758396

    總結

    以上是生活随笔為你收集整理的apache的防DDOS模块-mod_evasive的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。