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

2022-07-13
250次阅读
没有评论

代码如下:

当请求这些后缀和方法的时候会跳转到指定的链接。当然,也可以直接返回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;
  }

正文结束
居烽
版权声明:本站原创文章,由 居烽 于2022-07-13发表,共计1492字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。