プロキシを使用して、提供しているWebサイトを攻撃しているスクリプト作成者がいます。
私は、彼らが特定の一般的なユーザーエージェント文字列(つまり http://www.itsecteam.com/en/projects/project1_page2.htm "Havij advanced sql注入ソフトウェア」のuser_agent文字列はMozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) Havij
)です。ソルトに値するクラッキングソフトウェアであれば、おそらくユーザーエージェント文字列を変更できることは承知していますが、スクリプト作成者がいつかその機能を処理しなければならないのは問題ありません。
では、ユーザーエージェント文字列を照合してアクセスを自動的にブロックし、恒久的にブラックリストに登録するためのソフトウェアはありますか?
browserMatchによるアクセスを拒否し、SetEnvIfから拒否できます。例:
SetEnvIfNoCase User-Agent "^Wget" bad_bot
SetEnvIfNoCase User-Agent "^EmailSiphon" bad_bot
SetEnvIfNoCase User-Agent "^EmailWolf" bad_bot
<Directory "/var/www">
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</Directory>
それらを恒久的にブロックするには、カスタムログファイルを作成し、fail2banを使用して、たとえばiptablesでそれらを禁止する必要があります。
たとえば、LogFormatを作成します。
LogFormat "%a %{User-agent}i" ipagent
Vhost/server-wideにロギングを追加します
CustomLog /var/log/Apache2/useragent.log ipagent
/etc/fail2ban/filter.d/baduseragent.conf
[Definition]
failregex = ^<Host> Mozilla/4\.0 \(compatible; MSIE 7\.0; Windows NT 5\.1; SV1; \.NET CLR 2\.0\.50727\) Havij$
/etc/fail2ban/jail.conf
[Apache-bad-user-agent]
enabled = true
port = 80,443
protocol = tcp
filter = baduseragent
maxretry = 1
bantime = 86400
logpath = /var/log/Apache2/useragent.log
私はあなたの質問を理解したと思います。これがあなたが探しているものであるならば、私はより詳細な説明を提供します。 (これは他のもののトラップとしても機能します)
RewriteMap badlist txt:~/bad_useragent_list
_RewriteCond %{HTTP_USER_AGENT} .* [NC]
_RewriteCond ${badlist:%1|white} ^black$ [NC]
_RewriteRule (.*) "/trap.php" [L]