Web经验菜鸟运维

原创经验:设置Nginx/Apache规则屏蔽来源为site.ru的恶意扫描器

最近在查看web日志统计的时候发现了一个怪现象,日志中发现有大量的404转向,并且发现有不少标记来源地址是http://site.ru,访问的文件目录都是些敏感路径。

在用goaccess量化显示之后,其中的“请求地址(REQUESTED URLs)”统计选项中可以看到大量无效的文件名/目录被访问。

如果我们直接访问http://site.ru的话,显示的是“503 Service Temporarily Unavailable”,也就是说是一个无效网站。

通过百度/bing查搜索site.ru没有任何结果,出去google了一下才发现国外网友也和我一样饱受site.ru这个问题困扰。

最近在查看web日志统计的时候发现了一个怪现象,日志中发现有大量的不同IP的404转向,并且发现有不少标记来源地址是http://site.ru,访问的文件目录都是些敏感路径。

block_site.ru-1.jpg插图

在用goaccess量化显示之后,其中的“请求地址(REQUESTED URLs)”统计选项中可以看到大量无效的文件名/目录被访问。

block_site.ru-2.jpg插图(1)

如果我们直接访问http://site.ru的话,显示的是“503 Service Temporarily Unavailable”,也就是说是一个无效网站。

通过百度/bing查搜索site.ru没有任何结果,出去google了一下才发现国外网友也和我一样饱受site.ru这个问题困扰。

block_site.ru-3.jpg插图(2)

 

目前看来这铁定是个冒充http://site.ru来源的恶意扫描器,为了安全起见我们要解决这个问题的最好方法就是屏蔽掉它:

写入Nginx配置就非常简单了,配置代码如下:

http {
.............
     
      server {
..............
#加在server段落下生效


      location / {
      root   /var/mysite/andyx.net/;
      index  index.html index.htm;

#若需要在阻止的同时不记录日志,则需要放在location段落下

      if ($http_referer ~* "http://site.ru") { 
                   access_log off;
                   return 444; 
                 }


               }

..............
             }

     }

block_site.ru-4.jpg插图(3)

Nginx配置文件通常在:/etc/nginx/nginx.conf  或者 /usr/local/nginx/conf/nginx.conf 目录下。

然后执行命令 nginx  -s  reload 或者 systemctl  reload  nginx 使配置生效。

 

而Apache则可以配合.htaccess文件进行屏蔽,配置代码如下:

《IfModule mod_rewrite.c>
RewriteCond %{HTTP_REFERER} site\.ru [NC]
RewriteRule ^(.*)$ – [L,R=403]
《/IfModule>

# 使用前请将《符号替换为正常的小于号

将其写入网站根目录下的.htaccess文件,若文件不存在则自己创建一个即可。

PS:科普一下L,R,F标记的意思:
[F] —— Forbidden(禁止): 命令服务器返回 403 Forbidden错误给用户浏览器
[L] —— Last rule(最后一条规则): 告诉服务器在本条规则执行完后停止重写URL。立即停止重写操作,并不再应用其他重写规则。这个标记用于阻止当前已被重写的URL被后继规则再次重写。
[R] —— Redirect(重定向): 命令服务器发出重定向消息,以便用户浏览器发出rewritten/modified(重写/修改)URL的请求。通常,你还会希望停止重写操作而立即重定向,那么就还需要与”L’标记连用。

当然,你也可以参考Nginx规则设置黑名单,阻止恶意扫描器的访问,参见《如何使用Nginx给服务器简单设置黑名单屏蔽IP教程》。

若想学习更多Nginx规则玩法,请参见《详解Nginx的rewrite规则写法 与配置location段落总结》。

(END)

若需转载本文,请标注来源与链接:原创内容AndyX.Net版权所有 https://andyx.net/how_to_block_site_ru_scanner_by_nginx_apache/

部分资料参考自 wordpress.org