Kzq*_*qai 8 blacklist intrusion-prevention useragent
我有一个脚本编写者使用代理来攻击我正在服务的网站。
我注意到他们倾向于通过带有某个通用用户代理字符串的软件访问该站点(即http://www.itsecteam.com/en/projects/project1_page2.htm“Havij高级 sql 注入软件”带有 user_agent 字符串的Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) Havij)。我知道任何值得称道的破解软件都可能能够修改它的用户代理字符串,但我对脚本编写者在某些时候必须处理该功能感到满意。
那么,是否有任何软件可以通过匹配用户代理字符串来自动阻止访问和永久列入黑名单?
Dmy*_*nko 18
您可以通过 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>
Run Code Online (Sandbox Code Playgroud)
要永久阻止它们,您必须编写自定义日志文件并使用 fail2ban 例如使用 iptables 禁止它们
例如创建 LogFormat
LogFormat "%a %{User-agent}i" ipagent
Run Code Online (Sandbox Code Playgroud)
将日志记录添加到您的虚拟主机/服务器范围内
CustomLog /var/log/apache2/useragent.log ipagent
Run Code Online (Sandbox Code Playgroud)
/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$
Run Code Online (Sandbox Code Playgroud)
/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
Run Code Online (Sandbox Code Playgroud)
小智 6
我想我明白你的问题。如果这是您正在寻找的内容,我将提供更详细的解释。(这也可以作为其他事情的陷阱)
RewriteMap badlist txt:~/bad_useragent_listRewriteCond %{HTTP_USER_AGENT} .* [NC]RewriteCond ${badlist:%1|white} ^black$ [NC]RewriteRule (.*) "/trap.php" [L]