凉风有信,秋月无边
亏我思娇的情绪、好比度日如年

分享一个nginx安全规则,有效防止绝大多数恶意请求

文章摘要

近日学习了Nginx的安全规则配置,成功设置后能够有效过滤绝大多数恶意请求,测试过程中也得到了不错的效果。但测试中发现,后台路径中包含“admin”或正常请求触发规则时,会出现一些问题。建议使用CDN的同学关闭“回源跟随”功能,避免缓存并分发敏感规则文件,导致流量损失。此外,规则中包含对特定文件类型(如zip、rar等)的限制,以及跳转特定链接的功能,同时禁止某些用户agent的请求。这些设置能够有效保障服务器的安全性,建议对感兴趣的朋友进行实践操作。

最近学到了一个nginx的安全规则,配置好了以后可以防止绝大多数的恶意请求。自己配置测试了一下觉得不错,感兴趣的小伙伴们可以尝试一下。

当然了,梦想之路在测试的时候发现也会出现一些小问题,主要就是自己的后台路径中带有admin,或者是其他一些正常的请求触发了规则,这个时候大家只要把它注释掉或者删除就好了。或者修改下面的nginx规则只留下自己想用的就可以了。

还有一个值得注意的是,使用cdn的同学要关闭“回源跟随”,一定要关闭,一定要关闭,一定要关闭回源跟随,不然的话cdn是会缓存并分发第一个规则中的这个10g文件的,造成流量损失。当然,直接返回404也可以。

#触发下面的规则返回一个10g的文件
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.mps.gov.cn;
}
#禁止一些不必要的爬虫
if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup)) {
      return 444;
    }
赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《分享一个nginx安全规则,有效防止绝大多数恶意请求》
文章链接:https://www.1004619.com/biji/2023073177.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫