当前位置:首页 > 技术分享 > 正文内容

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

admin1年前 (2022-11-21)技术分享597

自从网站建立之初到现在网站有了规模后,每天都有无数个机器人来恶意扫描网站备份文件,日志多的让你觉的可怕,对于这种恶意扫描的方法就需要以彼之道,还施彼身,我们可以通过以下俩种方法来防止服务器被恶意扫描,其中以彼之道,还施彼身的方法,彧繎把它称为:防暴美学。

nginx禁止下载设置方法

方法一

此种方法比较暴力,就是以彼之道,还施彼身,利用伪静态规则进行跳转下载,比如:扫描根目录下的 /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;

    }

    ...
    
}

以上 Nginx 规则就是当有用户或恶意扫描访问网站上的 zip|rar|sql|tar|gz|7z 等资源时,直接返回 444 错误码。

最后说明

以上方法各有千秋,但我更加喜欢第一种方法,以彼之道,还施彼身,像我的性格,既然来了,我也不好意思让人家空手而归是吧,而方法二之所以没有选择,是因为本站毕竟提供下载服务,如果直接全部禁止访问,那么用户就没办法下载了,所以资源下载网站请慎用方法二。


扫描二维码推送至手机访问。

版权声明:本文由亿梦博客发布,如需转载请注明出处。

本文链接:https://blog.sdym.net/post/8.html

分享给朋友:
返回列表

没有更早的文章了...

下一篇:Windows版Kangle开通SQLServer数据库教程

“nginx禁止文件下载防止服务器被恶意扫描” 的相关文章

宝塔海外版aapanel中文语言包

这个是我在网上找的的宝塔海外版aapanel中文语言包。自从宝塔国内版强制登陆账号以来,不少用户转用宝塔海外版aapanel,但是却是全英文的。这个汉化包基于6.8.26版本制作,给一些不太习惯英文的用户使用。正常使用6.8.21汉化版的不建议更新。项目地址:https://gitee.com/ga...

分享一个查询域名备案信息的python程序

分享一个查询域名备案信息的python程序

特征:通过 https://beian.miit.gov.cn/ 查询信息,确保与管局实际信息一致;支持自动完成验证码拖动,存在极低的失败率支持循环翻页查询,获取企业名下的所有备案信息查询完毕后按任意键继续查询使用说明:需要安装Python 版本 => 3.6在CMD执行以下命令安装依赖:pi...