分享一个来自hostloc论坛的nginx安全配置规则

技术控 Loading... 阅读

代码如下:

当请求这些后缀和方法的时候会跳转到指定的链接。当然,也可以直接返回404或者444。

    if ($request_uri ~* "(\.gz)|(\")|(\.tar)|(admin)|(\.zip)|(\.sql)|(\.asp)|(\.rar)|(function)|($_GET)|(eval)|(\?php)|(config)|(\')|(\.bak)") {
        return 301 http://lg-dene.fdcservers.net/10GBtest.zip;
    }

    #禁止下载以 XXX 后缀的文件
    location ~ \.(zip|rar|sql|bak|gz|7z)$
    {
        return 444;
    }


    #访问链接里含有 test 直接跳转到百度
    if ($request_uri ~* test=) {
        return 301 https://www.baidu.com/;
    }
    if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup)) {
      return 444;
    }

宝塔中直接把上面这段代码放在配置文件中就行,位置放在

    access_log  /dev/null;
    error_log  /www/wwwlogs/mxooo.cn.error.log;

这两行的上面就行,位置千万别弄错了,不然保存可能无效。

分享一个来自hostloc论坛的nginx安全配置规则

当有人执行的时候会跳转下载一个10GB大小的垃圾文件,这么做有点对不起 lg-dene.fdcservers.net 这个网站的站长,虽说本来就是测试用的,良心过不去就改成 return 444; 即可。

具体的仔细研究一下,唯一难点就是这个规则的匹配。咱们日常使用宝塔就开启免费的防火墙插件即可,这个插件已经够用了。

===============

继续补充一个相对更完整点的规则。

 #请求这些敏感词时跳转下载10g文件
if ($request_uri ~* "(\.gz)|(%27)|(\.tar)|(admin)|(\.zip)|(\.sql)|(\.asp)|(\.rar)|(function)|($_GET)|(eval)|(\?php)|(config)|(%22)|(\.bak)|(")|(\\')") {
            return 301 http://lg-dene.fdcservers.net/10GBtest.zip;
        }


 #禁止下载以 XXX 后缀的文件
 location ~ \.(zip|rar|sql|bak|gz|7z)$ 
 { 
   return 444;
  }


 #访问链接里含有 test 直接跳转到公安网
 if ($request_uri ~* test=) {
  return 301 https://www.mps.gov.cn;
 }


 #防止SB爬虫
 if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup)) {
      return 444;
    }


 #屏蔽非常见蜘蛛爬虫配置
 if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup)) {
     return 444;
  }


 #禁止某个目录执行脚本
#uploads|templets|data 这些目录禁止执行PHP
 location ~* ^/(uploads|templets|data)/.*.(php|php5)$ {
    return 444;
  }

Tags:

版权声明:若无特殊注明,本文皆为《书蓝画青》原创,转载务必保留文章来源。

本文链接:分享一个来自hostloc论坛的nginx安全配置规则 & https://boke.slhq.cn/1745.html

推荐阅读
分享