y-ken / mod_dosdetector-fork Goto Github PK
View Code? Open in Web Editor NEWA fork of mod_dosdetector http://sourceforge.net/projects/moddosdetector/
Home Page: http://wp.serpere.info/
A fork of mod_dosdetector http://sourceforge.net/projects/moddosdetector/
Home Page: http://wp.serpere.info/
**** MOD_DOSDETECTOR-FORK **** This is a fork of mod_dosdetector hosted at SourceForge.net (http://sourceforge.net/projects/moddosdetector/). このソフトウェアはShinji Tanaka氏作のApacheモジュール`mod_dosdetector'の改造版です。 オリジナルのmod_dosdetectorと同じライセンス(mod_dosdetector.cに記載)で公開されます。 この改造版についてのバグ報告や質問などは 改造版の作者であるTakayuki Miwa <[email protected]>宛てに送ってください。 --------------------------------------- オリジナルのmod_dosdetectorとの違い --------------------------------------- - DoSチェックの対象としないアクセスを環境変数で指定できる - 不要なサブリクエストの生成処理を取り除くことでパフォーマンスが改善されている - 共有メモリ処理が改善されている --------------------------------------- mod_dosdetectorとは? --------------------------------------- mod_dosdetectorはDoS攻撃を検出するためのApacheモジュールです。 検出結果は環境変数に設定されるため、 他のモジュールと連携することで柔軟な防御・回避アクションを実行すること可能です。 --------------------------------------- インストール --------------------------------------- tar xvzf mod_dosdetector-fork-X.Y.Z.tar.gz cd mod_dosdetector-fork-X.Y.Z sudo make install apxsコマンドのパスが環境変数PATHに含まれていない場合、 makeに対する引数として設定してください。 sudo make PATH=/usr/sbin:$PATH install 下記の設定例に従って設定を行った後、 Apacheを再起動してください。 --------------------------------------- 設定例 --------------------------------------- ##### どのような基準でDoS攻撃と見なすかを設定 ##### httpd.confに記述してください # mod_dosdetectorを有効にする DoSDetection on # DoSチェクの対象としないルールの記述 <IfModule setenvif_module> # 画像、CSS、JavaScriptファイルをDoSチェックの対象としない SetEnvIf Request_URI "\.(gif|jpe?g|ico|js|css|png)$" NoCheckDoS # 特定のVirtualDomain(Host:の値を見る)をDoSチェックの対象としない SetEnvIf Host "img.example.com" NoCheckDoS # 特定のUserAgentをDoSチェックの対象としない SetEnvIf User-Agent "Googlebot" NoCheckDoS # 特定の接続元IPからの接続をDoSチェックの対象としない SetEnvIf Remote_Addr 192.168. NoCheckDoS </IfModule> # 1. 同一IPアドレスから5秒間に20回以上のアクセスがあった場合 # 「DoS攻撃の疑いあり」と見なし、その後30秒間のアクセスに対しては # 環境変数 SuspectDoS をセットする(値は”1″) # 2. さらに5秒間のアクセス回数が35回に達した場合、 # 「激しいDoS攻撃の疑い」と見なし、環境変数 SuspectHardDoS もセットする(値は”1″) # 3. 初めに「DoS攻撃の疑いあり」と判定してから30秒が経過したら、 # 次のアクセスでもう一度判定をやり直す。直近5秒のアクセスが20回を下回っていれば、疑いは晴れる DoSPeriod 5 DoSThreshold 20 DoSHardThreshold 35 DoSBanPeriod 30 # 同時に追跡するIPアドレスは100件まで DoSTableSize 100 # モジュールが使用する共有メモリの名称 DoSShmemName mod_dosdetector # setenvifモジュールが使用不可能な場合はcontent-typeを用いて # DoSチェックの対象としないアクセスを指定することもできる # (ただしパフォーマンスは劣る) <IfModule !setenvif_module> DoSIgnoreContentType image|javascript|css </IfModule> ##### DoS攻撃と見なされたアクセスに対して、どのように対応するかを設定 ##### 必要に応じて<VirtualHost>セクションや.htaccessに記述してください # 「DoS攻撃の疑いあり」と見なされたアクセスを通常のログとは分けて記録する LogFormat "%{SuspectHardDoS}e %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" dosdetector CustomLog logs/dos_suspect_log dosdetector env=SuspectDoS # 「激しいDoS攻撃の疑い」と見なされたクライアントに対し、503エラーレスポンスを返す # (mod_rewriteモジュールが必要) RewriteEngine On RewriteCond %{ENV:SuspectHardDoS} =1 RewriteRule .* - [R=503,L] --------------------------------------- 変更履歴 --------------------------------------- 2009-08-17 Takayuki Miwa <[email protected]> - 1.0.0 * Initial release.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.