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



    比如将网站数据库导出到站点根目录进行备份,很有可能也会被别人下载,从而导致数据丢失的风险。以下规则可以防止一些常规的文件被下载,可根据实际情况增减。我们可以通过以下俩种方法来防止服务器被恶意扫描,其中以彼之道,还施彼身的方法,彧繎把它称为:防暴美学。
    方法一:
    此种方法比较暴力,就是以彼之道,还施彼身,利用伪静态规则进行跳转下载,比如:扫描根目录下的 /web.rar,那么就会触发规则跳转到大文件下载地址,100G让他慢慢下载,下个爽,磁盘爆了才开心。
    打开网站 Nginx 配置文件,将以下规则加入 server 内,完成配置,规则如下:

    1. server {
    2. ...
    3. # 专治扫描户
    4. rewrite .rar/?$ http://speedtest.tele2.net/100GB.zip permanent;
    5. rewrite .tar/?$ http://speedtest.tele2.net/100GB.zip permanent;
    6. rewrite .zip/?$ http://speedtest.tele2.net/100GB.zip permanent;
    7. rewrite .sql/?$ http://speedtest.tele2.net/100GB.zip permanent;
    8. rewrite .gz/?$ http://speedtest.tele2.net/100GB.zip permanent;
    9. rewrite .7z/?$ http://speedtest.tele2.net/100GB.zip permanent;
    10. # 或者使用
    11. rewrite .(rar|zip|tar|sql|gz|7z)/?$ http://speedtest.tele2.net/100GB.zip permanent;
    12. ...
    13. }

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

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

    方法二:
    直接网站Nginx配置文件里面添加以下的规则防止文件被下载

    1. location ~ \.(zip|rar|sql|bak|gz|7z)$ {
    2. return 444;
    3. }

    以上Nginx规则就是当有用户或恶意扫描访问网站上的 zip|rar|sql|tar|gz|7z 等资源时,直接返回错误码
    最后说明:
    如果直接全部禁止访问,那么用户就没办法下载了,所以资源下载网站请慎用方法二。

     

  • 相关阅读:
    Haskell Stack编译cannot encode character ‘8226‘ 错误 (Win10)
    Java客户端_Apache Curator操作Zookeeper
    SpringBoot3集成PostgreSQL
    vue3使用腾讯地图选择地点
    文件上传笔记
    《C++代码简洁之道》学习笔记:C++代码整洁的基本规范
    经纬度/墨卡托坐标互转
    Redis学习笔记17:基于spring data redis及lua脚本批处理scan指令查询永久有效的key
    tkinter控件样式
    ChatGPT解决hmm...something seems to have gone wrong.
  • 原文地址:https://blog.csdn.net/m0_66047725/article/details/127678780