nginx禁止文件下载防止服务器被恶意扫描

879次阅读
没有评论

方法一

此种方法比较暴力,就是以彼之道,还施彼身,利用伪静态规则进行跳转下载,比如:扫描根目录下的 /web.rar,那么就会触发规则跳转到大文件下载地址,100G让他慢慢下载,下个爽,磁盘爆了才开心。

打开网站 Nginx 配置文件,将以下规则加入 server 内,完成配置,规则如下:

server {

    ...
    
    # 专治扫描户
    rewrite \.rar/?$ http://speedtest.tele2.net/100GB.zip permanent;
    rewrite \.tar/?$ http://speedtest.tele2.net/100GB.zip permanent;
    rewrite \.zip/?$ http://speedtest.tele2.net/100GB.zip permanent;
    rewrite \.sql/?$ http://speedtest.tele2.net/100GB.zip permanent;
    rewrite \.gz/?$ http://speedtest.tele2.net/100GB.zip permanent;
    rewrite \.7z/?$ http://speedtest.tele2.net/100GB.zip permanent;
    
    # 或者使用
    rewrite \.(rar|zip|tar|sql|gz|7z)/?$ http://speedtest.tele2.net/100GB.zip permanent;
    
    ...
  
}

如果你觉得 100GB 响应时间有点长,那么下面的小文件下载地址,任你挑选,包你满意,地址如下

新加坡: http://lg-sin.fdcservers.net/10GBtest.zip 
日本: http://lg-tok.fdcservers.net/10GBtest.zip 
香港: http://lg-hkg.fdcservers.net/10GBtest.zip

方法二

此方法最简单粗暴,直接网站 Nginx 配置文件里面添加以下的规则,针对服务器上经常让扫描的文件,进行直接禁止访问,请注意:资源下载网站请慎用,规则如下:

server{

    ...

    # 禁止访问指定文件
    location ~ \.(zip|rar|sql|tar|gz|7z)$ {

        return 444;

    }

    ...
    
}
正文完
 3
评论(没有评论)