apache屏蔽恶意User-Agent

post by rocdk890 / 2012-2-19 15:37 Sunday linux技术

 今天检查服务器的网站日志,发现老是有人来扫描phpmyadmin这个软件,我也知道这个软件的漏洞很多,但我根本就没有在服务器上安装,老是去屏蔽他们的ip让我很烦躁了,决定直接屏蔽User-Agent来解决这个问题了.

  系统:centos 5.5
  软件:apache 2.2.21

1.查看apache日志后,记住要屏蔽的User-Agent

 点击查看原图

从上图可以看到恶意的User-Agent是ZmEu,那可以在httpd.conf配置文件里:

DocumentRoot /var/www/xxxxx

    <Directory "/var/www/xxxxx">
        Order allow,deny
        Allow from all
    </Directory>

加多两行就可以了

DocumentRoot /var/www/xxxxx

    <Directory "/var/www/xxxxx">
        SetEnvIfNoCase User-Agent "ZmEu" getout
        Order allow,deny
        Allow from all
       deny from env=getout
    </Directory>

ZmEu是捣乱者的user agent含有的字符,按具体情况修改,可以添加多行 SetEnvIfNoCase User-Agent "Made by ZmEu" getout

2.使用.htaccess屏蔽User-Agent
在.htaccess里添加

RewriteCond %{HTTP_USER_AGENT} ".*ZmEu.*" [OR]
RewriteCond %{HTTP_USER_AGENT} ".*Made by ZmEu.*" [OR]
RewriteCond %{HTTP_USER_AGENT} ".*whitehat.*" [OR]
RewriteCond %{HTTP_USER_AGENT} "^Mozilla/4.0$"
RewriteRule ^(.*)$ https://blog.slogra.com/

如果你觉得有用,添加rewrite规则前,不妨先分析一下自己的网站日志,根据自己的需要定制.推荐使用Firefox+User Agent Switcher测试效果.

夜空- 本站版权
1、本站所有主题由该文章作者发表,该文章作者与夜空享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和夜空的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:blog.slogra.com/post-135.html

标签: apache centos .htaccess user-agent agent 屏蔽 user agent 禁止 恶意

  1. 2014-07-16 23:53
    @望舒:我的意思是你可以把这些有恶意的User-Agent指到你想指的网站,我这里这样写是为了起到一个文章版权的一个保护.
  1. gravatar 望舒
    2014-07-15 14:56
    楼主你这是把那些USER_AGENT都跳转到你这个博客是吗?有点不理解,这不是屏蔽吧?
  1. 2012-03-08 14:59
    @蒲公英博客:是会对IE6老浏览器有影响,但基本上可以忽略了.
  1. gravatar 蒲公英博客
    2012-03-08 12:01
    弱弱的问一个问题,
    RewriteCond %{HTTP_USER_AGENT} "^Mozilla/4.0$"
    会不会导致比如IE6等比较老的浏览器不能访问?
    对于htaccess正则表达式不太了解,还请不吝赐教
  1. 2012-03-07 14:46
    @蒲公英博客:不客气,解决了就好
  1. gravatar 蒲公英博客
    2012-03-07 13:54
    我也遇到了同样的问题,也是这个Useragent,搞的我头疼,不过问题在你的帮助下解决了 ,谢谢

评论: