政府立案,24小時全年無休!公司家庭搬遷、合約簽訂有保證 提供您平價又專業的搬家服務. | 裝璜拆除,店面拆除,地板拆除,廢棄物清運 服務有保證,安全高效率,客戶口碑肯定 |
[教學]Apache 防止DOS攻擊 |
房東:星爺 發表時間:2007-02-16 |
前言 升級源碼樹 安裝cvsup 升級系統源碼樹及ports 重新編譯內核 優化編譯環境 升級操作系統 升級配置文件 重新編譯內核 重新啟動服務器 優化FREEBSD 檢查升級情況 打開防火牆 優化內核參數 安裝防火牆 安裝數據庫MYSQL 安裝mysql40-server和mysql40-client 安裝phpmyadmin 安裝FTP服務器 安裝ftp軟件(使用pure-ftpd/) 安裝pureftpd_php_manager 安裝APACHE服務器 安裝apache13-modssl 安裝PHP語言 安裝php 安裝ZendOptimizer 安裝APACHE其它整合軟件 安裝mod_bandwidth 安裝mod_fastcgi 安裝mod_gzip 安裝mod_limitipconn 安裝mod_perl 安裝mod_throttle 安裝mod_watch 安裝APACHE第三方軟件 安裝限制每個虛擬主機的並發數軟件 安裝防止ddos攻擊的軟件 其它需要安裝的軟件姅 安裝MRTG 安裝net-snmp 安裝mrtg 設置虛空間的mrtg和流量分析 安裝BIND 9 安裝bind9 安裝郵件服務器 安裝qmail郵件系統 安裝WEBMIN和USERMIN 安裝webmin 安裝usermin 結束語 前言 FREEBSD系統是一種非常 UNIX、非常 Free、非常 BSD -- UNIX 的操作系統,因為它過 UNIX化,太過專業化了,教很多新手無從下手學習。我也是從幾年前開始學習FREEBSD, 並且在王波寫的<FREEBSD使用大全>指導下,正式使用FREEBSD的。在這段使用和管理過 程中,自己也積累了不少文章和實戰經驗。為了讓更多的朋友喜歡上FREEBSD,喜歡上 UNIX,我特地做了幾次升級和優化實例,結合自己管理服務器空間的經驗寫出此文,希望 在此拋磚引玉。 本文的目的是使新手可以根據此文章的步驟和方法,架設一台專業,高效,安全的 FREEBSD出來,並且可以立即投入實際運用,故文章中對運用及命令的使用多于理論化的 知識點的描述,如果您不明白命令有何作用,建議您查查相關資料。 本文假設已經架設好或者新安裝了一台FREEBSD系統主機。 本文中引用了很多FREEBSD官方站數據及網上數據,還有更多的是自己在實際工作中的經 驗,當然,里面的參數並不一定完全適合您,所以請您在使用時,盡可能根據您的實際需 要調整一些參數,使您的SERVER的性能完全的發揮出來。本文只是一個總的線索,如果我 要拆開來一個一個詳細解釋,我想會花更多的篇幅來寫的,因為我忙著04年1月的自考, 只寫了實際中的運作情況,請各位朋友見諒。 升級源碼樹 安裝cvsup 進入:/usr/ports/net/cvsup make clean make deinstall make install make clean 即可 升級系統源碼樹及ports 更新/usr/share/examples/cvsup目錄下stand-cvsup和ports-cvsup文件,並執行 cvsup 每g 每L2 standard-supfile和cvsup 每g 每L2 ports-cvsup兩個文件,升級ports 樹姅 重新編譯內核 優化編譯環境 更新/etc/make.conf文件,做適當的編譯優化,我的CPU是Intel的: CPUTYPE=i686 CFLAGS= -O3 -pipe COPTFLAGS= -O3 -pipe 升級操作系統 進入/usr/src 執行make world 整個過程很久,需要2小時左右。 升級配置文件 執行mergemaster升級配置文件,在此過程中,需要按i以便系統執行升級姅 重新編譯內核 到/sys/i386/conf里面,cp GENERIC onlinecq,再vi onlinecq優化內核,注意加入下面 的內容 #disable ctrl+alt+delete options SC_DISABLE_REBOOT #quota limit options QUOTA #ipfw support options IPFIREWALL options DUMMYNET options HZ=3000 options IPDIVERT options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=100 options IPSTEALTH options TCP_DROP_SYNFIN options IPFIREWALL_DEFAULT_TO_ACCEPT options ICMP_BANDLIM options ACCEPT_FILTER_DATA options ACCEPT_FILTER_HTTP #ipfilter support #options IPFILTER #options IPFILTER_LOG #options IPFILTER_DEFAULT_BLOCK 再執行: /usr/sbin/config onlinecq cd ../../compile/onlinecq make depend make make install 重新啟動服務器 到此為止,服務器操作系統及內核升級成功 reboot 優化FREEBSD 檢查升級情況 使用ssh進入系統,使用uname 每a 可以查到是否升級成功姅 打開防火牆 更新rc.conf里面的設置,加上: #enable_quotas="YES" #check_quotas="YES" firewall_enable="YES" firewall_script="/etc/rc.firewall" firewall_type="/etc/ipfw.rules" #create it! firewall_quiet="NO" firewall_logging_enable="YES" log_in_vain="NO" tcp_drop_synfin="NO" tcp_restrict_rst="YES" icmp_drop_redirect="YES" 優化內核參數 修改系統內核參數,實現微調:vi /etc/sysctl.conf kern.ipc.somaxconn=8192 kern.ipc.maxsockbuf=2097152 kern.maxfilesperproc=32768 kern.maxfiles=65536 kern.securelevel=-1 net.inet.tcp.sendspace=65536 net.inet.tcp.recvspace=32768 net.inet.udp.maxdgram=57344 net.inet.icmp.drop_redirect=1 net.inet.icmp.log_redirect=0 net.inet.ip.redirect=0 net.inet6.ip6.redirect=0 net.inet.icmp.icmplim=100 net.inet.tcp.always_keepalive=0 net.inet.tcp.delayed_ack=0 net.inet.tcp.log_in_vain=0 net.inet.udp.log_in_vain=0 net.inet.tcp.blackhole=2 net.inet.udp.blackhole=1 net.local.stream.sendspace=65535 net.local.stream.recvspace=32768 net.inet.ip.fastforwarding=1 vfs.vmiodirenable=1 安裝防火牆 防火牆在上面已經編譯入了內核,並且在上面的rc.conf里面已經打開了,所以在此只要 設置一下即可! 允許所有IP通過,免得把自己給擋在外面了。 ipfw add all from any to any 其它規則根據實際情況來做,如果您想系統每次啟動都使用上一次的規則,可以把這些內 容加到: vi /etc/ipfw.rules 里面,語法規則同ipfw。 安裝數據庫MYSQL 安裝mysql40-server和mysql40-client 進入/usr/ports/databases/mysql40-server 執行: make clean make deinstall make WITH_OPENSSL=yes WITH_LINUXTHREADS=yes BUILD_OPTIMIZED=yes install 或者使用下面可參考的編譯參數:BUILD_STATIC=yes 編譯成靜態執行版本 make clean 更改mysql的root密碼: mysqladmin 每uroot 每p password 123456 生成/etc/my.cnf,使用如下命令: vi /etc/my.cnf [client] #password = your_password port = 3306 socket = /tmp/mysql.sock [mysqld] skip-innodb skip-locking skip-networking set-variable = port=3306 set-variable = socket=/tmp/mysql.sock set-variable = back_log=50 set-variable = connect_timeout=3 set-variable = key_buffer=128M set-variable = max_connections=1000 set-variable = max_allowed_packet=1M set-variable = net_buffer_length=8K set-variable = wait_timeout=3 set-variable = read_buffer_size=1M set-variable = sort_buffer_size=1M set-variable = table_cache=256 set-variable = myisam_sort_buffer_size=32M set-variable = log_slow_queries=/var/log/log_slow_queries.log #log-bin server-id = 1 [mysqldump] quick set-variable = max_allowed_packet=16M [mysql] no-auto-rehash # Remove the next comment character if you are not familiar with SQL #safe-updates [isamchk] set-variable = key_buffer=20M set-variable = sort_buffer=20M set-variable = read_buffer=2M set-variable = write_buffer=2M [myisamchk] set-variable = key_buffer=20M set-variable = sort_buffer=20M set-variable = read_buffer=2M set-variable = write_buffer=2M [mysqlhotcopy] interactive-timeout 安裝phpmyadmin 注意,此步驟需要在apache和php之後再執行 進入/usr/ports/databases/phpmyadmin 執行: make clean make deinstall make install make clean 新建立一個system的數據庫備用。 安裝FTP服務器 安裝ftp軟件(使用pure-ftpd/) 進入/usr/ports/ftp/pufe-ftpd 執行: make clean make deinstall make WITH_MYSQL=1 install 或者使用下面可參考的編譯參數:WITH_LANG=simplified-chinese 使用簡體中文語言包 make clean 配置pure-ftpd,主要需要做以下的工作: cp /usr/local/etc/pure-ftpd.conf.sample /usr/local/etc/pure-ftpd.conf cp /usr/local/etc/pureftpd-mysql.conf.sample /usr/local/etc/pureftpd- mysql.conf 再修改/usr/local/etc/pure-ftpd.conf的如下部份為: NoAnonymous yes MySQLConfigFile /usr/local/etc/pureftpd-mysql.conf 再修改/usr/local/etc/pureftpd-mysql.conf的如下部份為您的設定值: # Mandatory : user to bind the server as. MYSQLUser demo # Mandatory : user password. You must have a password. MYSQLPassword demo # Mandatory : database to open. MYSQLDatabase demo 再進入使用mysql 每uroot 每p123456 進入mysql的文本方式姅 使用如下命令建立新表: use system; DROP TABLE IF EXISTS users; CREATE TABLE users ( User varchar(16) NOT NULL default '', status enum('0','1') NOT NULL default '0', Password varchar(64) NOT NULL default '', Uid varchar(11) NOT NULL default '-1', Gid varchar(11) NOT NULL default '-1', Dir varchar(128) NOT NULL default '', ULBandwidth smallint(5) NOT NULL default '0', DLBandwidth smallint(5) NOT NULL default '0', comment tinytext NOT NULL, ipaccess varchar(15) NOT NULL default '*', QuotaSize smallint(5) NOT NULL default '0', QuotaFiles int(11) NOT NULL default 0, PRIMARY KEY (User), UNIQUE KEY User (User) ) TYPE=MyISAM; 安裝pureftpd_php_manager 下載pureftpd_php_manager.zip 解壓並放到指定的目錄里面,比如: /usr/local/www/data chmod 每R 755 /usr/local/www/data/pureftpd_php_manager 再加入一個普通用戶和一個群組,以供ftp使用: pw groupadd ftpusers pw useradd ftpuser 每g ftpusers 每s /sbin/nologin 記住他們的uid和gid號,備用! 進入並編輯pureftp.config.php文件 更改里面的如下行: $PUREFTP_CONFIG_FILE = '/usr/local/etc/pureftpd-mysql.conf';^M $DefaultUser = "ftpuser"; # Default User Logon^M $DefaultPass = ""; # Default User Password^M $DefaultUid = "1002"; # Default User ID ( must be a re al user acct )^M $DefaultGid = "1001"; # Default Group ID ( must be a r eal group acct )^M $DefaultDir = "/home"; # Default User Dir ( use /./ at the end to chroot )^M $DefaultUL = "0"; # Default Upload Throttl e ( 0 disables it )^M $DefaultDL = "0"; # Default Download Throt tle ( 0 disables it )^M $Defaultip = "*"; # Default IP restriction s ( * = any IP )^M $DefaultQS = "200"; # Default Quota Size ( 0 disable s it )^M $Defaultcmt = ""; # Default Comment for us er^M ^M // UA^M $DefaultQF = "0"; # Default Quota Files ( 0 disabl 安裝APACHE服務器 安裝apache13-modssl 進入/usr/ports/www/apache13-modssl 執行: make clean make deinstall make WITH_APACHE_SUEXEC=yes APACHE_HARD_SERVER_LIMIT=1024 APACHE_PERF_TUNING=yes install 編譯時帶上suexec和優化。 Make clean 取消所有Options里面的Indexes,禁止瀏覽目錄及文件。 設置KeepAlive Off 安裝PHP語言 安裝php 進入/usr/ports/www/mod_php4 執行: make clean make deinstall make install 編譯常用的選項即可,一定記得選擇上mysql和gd。 Make clean 安裝完成後,在/usr/local/etc/apache/httpd.conf里面,加入如下內容: AddType application/x-httpd-php .php .php3 .php4 .phtml AddType application/x-httpd-php-source .phps 替換DirectoryIndex細節為: DirectoryIndex index.html index.htm index.wml index.cgi index.shtml index.jsp index.js index.jp index.php4 index.php3 index.php index.phtml default.htm default.html home.htm 再cp php.ini-recommended /etc/php.ini 以及修改php.ini里面的參數 vi /etc/php.ini 修改下面兩處為: register_globals = On magic_quotes_gpc = On 安裝ZendOptimizer 先下載ZendOptimizer-2.1.0b-FreeBSD4.0-i386.tar.gz 再執行 tar zxvf ZendOptimizer-2.1.0b-FreeBSD4.0-i386.tar.gz cd ZendOptimizer-2.1.0b-FreeBSD4.0-i386 sh setup 即可完成傻瓜式的安裝。 注意:此時您的php.ini配置文件,一般會移到 /usr/loca/Zend/etc/php.ini 並且底部會增加以下幾行: [Zend] zend_optimizer.optimization_level=15 zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-2.1.0 zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-2.1.0 zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so 您可以根據需要,改變15為1023,來提升加速的等級。 安裝APACHE其它整合軟件 安裝mod_bandwidth 進入/usr/ports/www/mod_bandwidth 執行: make clean make deinstall make install 編譯完成後,一定記得 vi /usr/local/etc/apache/httpd.conf LoadModule bandwidth_module libexec/apache/mod_bandwidth.so AddModule mod_bandwidth.c make clean 語法及作用: * BandWidthModule 該模塊的開關,可以對每個Server進行配置 * BandWidthPulse 設定計時單位,MS(微秒),建議為:1000000 (1秒) * BandWidth 可以針對特定來源的對象控制流,rate以字節為單位,但當rate為0時,為不限制流速。 例子: BandWidth ecp.fr 0 BandWidth 138.195 0 BandWidth all 1024 * LargeFileLimit 當傳送一個大于等于filesize KB大小的檔時,設定一個最大流速(字節/秒),當rate 為0的時候,不限速。 例子: LargeFileLimit 200 3072 LargeFileLimit 1024 2048 以上例子設定小于200KB的檔將不會被限制流速,大小在200K到1024K之間的檔將會被 限速3072 B/s,大于1024KB的文件將會被限速2048 B/s. * MinBandWidth 設定每個連接傳送數據的基本帶寬佔用,以Byte為單位。默認值:256 B/s。 當rate設定為0時,使用默認帶寬限制。 安裝mod_fastcgi 進入/usr/ports/www/mod_ fastcgi 執行: make clean make deinstall make install 編譯完成後,一定記得 vi /usr/local/etc/apache/httpd.conf LoadModule fastcgi_module libexec/apache/mod_fastcgi.so AddModule mod_fastcgi.c AddHandler fastcgi-script fcgi fcgi fpl make clean 安裝mod_gzip 進入/usr/ports/www/mod_gzip 執行: make clean make deinstall make install 編譯完成後,一定記得 vi /usr/local/etc/apache/httpd.conf LoadModule gzip_module libexec/apache/mod_gzip.so AddModule mod_gzip.c make clean 安裝mod_limitipconn 進入/usr/ports/www/mod_limitipconn 執行: make clean make deinstall make install 編譯完成後,一定記得 vi /usr/local/etc/apache/httpd.conf LoadModule limitipconn_module libexec/apache/mod_limitipconn.so AddModule mod_limitipconn.c make clean 安裝mod_perl 進入/usr/ports/www/mod_perl 執行: make clean make deinstall make install 編譯完成後,一定記得 vi /usr/local/etc/apache/httpd.conf LoadModule perl_module libexec/apache/mod_perl.so AddModule mod_perl.c make clean 安裝mod_throttle 進入/usr/ports/www/mod_throttle 執行: make clean make deinstall make install 編譯完成後,一定記得 vi /usr/local/etc/apache/httpd.conf LoadModule throttle_module libexec/apache/mod_throttle.so AddModule mod_throttle.c make clean 安裝mod_watch 進入/usr/ports/www/mod_watch 執行: make clean make deinstall make install 編譯完成後,一定記得 vi /usr/local/etc/apache/httpd.conf LoadModule watch_module libexec/apache/mod_watch.so AddModule mod_watch.c make clean 安裝APACHE第三方軟件 安裝限制每個虛擬主機的並發數軟件 mod_vhost_limit 安裝: apxs -c mod_vhost_limit.c -o /path/to/libexec/mod_vhost_limit.so 在 httpd.conf 加入: LoadModule vhost_limit_module libexec/mod_vhost_limit.so AddModule mod_vhost_limit.c 配置: MaxClients 150 ExtendedStatus On NameVirtualHost * ServerName server1 DocumentRoot /some/where/1 MaxVhostClients 100 ServerName server2 DocumentRoot /some/where/2 MaxVhostClients 30 ServerName server3 DocumentRoot /some/where/3 其中: server1 被限制為 100 個並發線程數。 server2 被限制為 30 個並發線程數。 server3 沒有被限制。 注:需 mod_status 的 ExtendedStatus On 支持!! 如超出限制的並發數在客戶端就會出現503錯誤: Service Temporarily Unavailable The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later. ------------------------------------------------------------------------------ -- Apache/1.3.27 Server at server1 Port 80 在 error_log 中將會有類似以下的錯誤提示: [Mon Jun 23 15:22:24 2003] [error] client access to server1 deferred, MaxVhostClients 100 exceeded 安裝防止ddos攻擊的軟件 dosevasive1.8.tar.gz 安裝方法: tar zxvf mod_dosevasive.tar.gz cd dosevasive/ /usr/local/apache/bin/apxs -i -c mod_dosevasive.c vi /usr/local/apache/conf/httpd.conf 加入 LoadModule dosevasive_module libexec/mod_dosevasive.so AddModule mod_dosevasive.c DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 其它需要安裝的軟件姅 可選擇安裝的有: CPU溫度監控軟件 CPU負載監控軟件 封包流量監控軟件 …… 安裝MRTG 安裝net-snmp 進入/usr/ports/net/net-snmp 執行: make clean make deinstall make install make clean 安裝mrtg 進入/usr/ports/net/mrtg 執行: make clean make deinstall make install make clean 設置虛空間的mrtg和流量分析 生成流量控制㷌: /usr/local/sbin/apache2mrtg.pl /usr/local/etc/apache/httpd.conf > /usr/local/etc/apache/mod_watch.cfg 修改此文件,並且加如下頭部信息: WorkDir:/usr/local/www/data/mrtg Options[_]: growright,bits #Language: gb2312 #Title[^]: Traffic Analysis for PageTop[^]: Traffic Stats for OnlineCQ.COM User -------------------------------------------------------------------------------- #PageTop[$]: Contact QQ: 151482576 -------------------------------------------------------------------------------- PageFoot[^]: WWW.OnlineCQ.COM MSN: [email protected] QQ:151482576 保證WorkDir目錄可以被瀏覽器訪問,並且目錄存在!如果不是,您可以自己修改! 執行一下,看是否正確: /usr/local/sbin/mrtg /usr/local/etc/apache/mod_watch.cfg 如果有錯誤,多執行幾次即可! 再將此加入到排程里面,15分鐘自動執行一次: vi /etc/crontab */15 * * * * root /usr/local/bin/mrtg /usr/local/e tc/apache/mod_watch.cfg 安裝BIND 9 安裝bind9 這是一套域名解析系統,可以讓您的SERVER做DNS SERVER,非常不錯的! 進入/usr/ports/dns/bind9 make clean make deinstall make install make clean 然後再記得修改name.conf 等配置文件,具體的內容太復雜,建議看一下其它專門講授 這方面的書籍。 安裝郵件服務器 安裝qmail郵件系統 使用iceblood的安裝包,傻瓜式的安裝就可以了!注意第一次安裝時,多看幾遍它的說 明,不要弄錯了! 安裝完成後,自己再加上qmailadmin,它可以讓您在一台主機上面,開多個域名的企業郵 局! 安裝WEBMIN和USERMIN 安裝webmin 先下載webmin最新版 再解壓: tar zxvf webmin-1.100.tar.gz 進入目錄開始安裝: cd webmin-1.100 sh setup.sh 安裝時使用它的默認設置即可,自己要設置好管理員密碼,這一定要注意保密! 並且請設置為自動啟動,以便以後可以通過此來管理。 安裝完成後,可以通過如下方式訪問: http://IP:10000/ 注意,默認埠是10000 安裝usermin 先下載usermin最新版 再解壓: tar zxvf usermin-1.030.tar.gz 進入目錄開始安裝: cd usermin-1.030 sh setup.sh 安裝時使用它的默認設置即可。 安裝完成後,可以通過如下方式訪問: http://IP:20000/ 注意,默認埠是20000。 Usermin會自動和webmin整合的,使用webmin的管理員密碼,並且可以在webmin里面啟動 它。 結束語 至此為止,一般可以實際運作的FREEBSD系統就建立起來了,您可以reboot一下,讓最新 的設置及軟件生效。 如果在安裝過程中出現錯誤,您可以先檢查完錯誤,再接著安裝下去。或者你可以選擇你 感興趣的某些部份安裝! 當然因為時間倉促,涉及到的知識太廣,加上本人能力有限,其中錯誤在所難免,懇請各 位讀者提出來,大家共同提高,共同進步! |
|
廣利不動產-新板特區指名度最高、值得您信賴的好房仲 您的托付,廣利用心為您服務 廣利不動產-板橋在地生根最實在--新板特區指名度最高、值得您信賴的好房仲 完整房訊,房屋、店面熱門精選物件,廣利不動產 優質仲介,房屋租賃、買賣資訊透明,交易真安心! |
1 樓住戶:咖哩 發表時間:2007-02-16 |
安装mod_evasive 官方網站 下載之後 # tar zxvf mod_evasive_1.10.1.tar.gz # cd mod_evasive_1.10.1 #/apache/bin/apxs -i -a -c mod_evasive20.c # /usr/local/apache/bin/apxs -i -a -c mod_evasive20.c 如果沒有 apxs 的話 麻煩安裝 httpd-devel yum install httpd-devel 這樣子就會有了 設定如下 : 編輯 httpd.conf APACHE v1.3 ———– DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 APACHE v2.0 ———– DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 10 |
2 樓住戶:小白 發表時間:2007-02-16 |
Denial of Service 或者可以稱為 “阻絕服務攻擊”。 這個名稱您也經常聽見,在很多地方都發生。 其實 Denial of Service 所傳送的請求和正常的是一樣,只是每分鐘傳送數以十計以上請求傳送至伺服器中。 令伺服器每秒處理十分大量的工作。 受到這一種攻擊,輕則只有伺服器暫時停止服務。重則張會把伺服器中的硬體破壞。 有不少例子都是由於伺服器在同一時間處理十分大量的工作後,CPU 最後壞了。 最近我的其中一個網站受到這些不明來歷的 Denial of Service 攻擊,令伺服器停了。 不過搜尋了不少網站,終於找到了一個方法。不過不知道是否可行的。 我所使用的是 mod_dosevasive。雖然是第一次用,不過是否真的能夠防止就必須等到下一次受到攻擊使知道。 mod_dosevasive 的使用方法: 首次下載 mod_dosevasive 1.1 版本。 然後解壓 mod_dosevasive_1.10.tar.gz tar zxvf mod_dosevasive_1.10.tar.gz 把您的 httpd.conf 備份 開始安裝 mod_dosevasive Apache 1.3.x: cd mod_dosevasive apxs -cia mod_dosevasive.c Apache 2.0.x: cd mod_dosevasive apxs -cia mod_dosevasive20.c 修改您的 httpd.conf 加入 Apache 1.3.x: DOSHashTableSize 3097 DOSPageCount 5 DOSSiteCount 100 DOSPageInterval 2 DOSSiteInterval 2 DOSBlockingPeriod 600 Apache 2.0.x: DOSHashTableSize 3097 DOSPageCount 5 DOSSiteCount 100 DOSPageInterval 2 DOSSiteInterval 2 DOSBlockingPeriod 10 DOSBlockingPeriod 600 這樣使完成。httpd.conf 當中的設定方面解釋: DOSHashTableSize 這是佔中您記憶體的大少。當數目越大處理越快,當您的伺服器是很多人流的,您必須加大這個數字。 DOSPageCount 同一頁同一人時能夠在同一個時區中請求幾多次,多於會禁止。時區可以在 DOSPageInterval 中設定。 DOSSiteCount 同一個網站同一人在伺服器中所佔有幾多個 Object,多於會禁止。時區可以在 DOSSiteInterval 中設定。 DOSPageInterval DOSPageCount 中所計算的每一個時區時間,以無秒計算。預設是 1 秒。 > DOSSiteInterval DOSSiteCount 中所計算的每一個時區時間,以無秒計算。預設是 1 秒。 DOSBlockingPeriod 當發現後暫停多久?預設是 10 秒。當發現後,他會接收到 403 (Forbidden) 的。 DOSEmailNotify 設定接收攻擊信息的電郵地址。 DOSEmailNotify [email protected] DOSSystemCommand 這是收到攻擊信息時所使用的指令。 DOSSystemCommand ”su - someuser -c \’/sbin/… %s …\’” DOSLogDir 記錄檔案設定。 DOSLogDir ”/var/lock/mod_dosevasive” |
姓名: | |||
佈告內容: | |||
其他選項: | |||
|