学习整理nginx常用屏蔽规则,让网站更安全

学习整理nginx常用屏蔽规则,让网站更安全

注意

在开始之前,希望您已经熟悉的Nginx常用命令(如停止,重启等操作)及排查nginx的错误日志,以免出现问题不知所措。如无特殊注明,的以下命令:均添加到server段内,修改nginx的配置之前务必做好备份,修改完毕后需要重载一次nginx的,否则不会生效。

一、防止文件被下载

比如将网站数据库导出到站点根目录进行备份,很有可能也会被别人下载,从而导致数据丢失的风险。以下规则可以防止一些常规的文件被下载,可根据实际情况增减。

bash 复制代码
location ~ \.(zip|rar|sql|bak|gz|7z)$ {  
    return 444;     
}

二、屏蔽非常见蜘蛛(爬虫)

如果经常分析网站日志你会发现,一些奇怪的UA总是频繁的来访问网站,而这些UA对网站收录毫无意义,反而增加服务器压力,可以直接将其屏蔽。

bash 复制代码
if ($http_user_agent ~* (SemrushBot|python|MJ12bot|AhrefsBot|AhrefsBot|hubspot|opensiteexplorer|leiki|webmeup)) { 
    return 444;    
}

三、禁止某个目录执行脚本

比如网站上传目录,通常存放的都是静态文件,如果因程序验证不严谨被上传木马程序,导致网站被黑。以下规则请根据自身情况改为您自己的目录,需要禁止的脚本后缀也可以自行添加。

bash 复制代码
#uploads|templets|data 这些目录禁止执行PHP    
location ~* ^/(uploads|templets|data)/.*.(php|php5)$ { 
    return 444;
}

四、屏蔽某个IP或IP段

如果网站被恶意灌水或CC攻击,可从网站日志中分析特征IP,将其IP或IP段进行屏蔽。

bash 复制代码
#屏蔽192.168.5.23这个IP
deny 192.168.5.23;
#屏蔽192.168.5.* 这个段
denu 192.168.5.0/24;

再次强调,修改nginx的配置之前务必做好备份,修改完毕后需要重载一次nginx的,否则不会生效。

大部分上面规则报道查看444状态码而不是403,

因为444状态码在nginx的中有特殊含义,nginx的444状态是直接由服务器中断连接,不会向客户端再返回任何消息。

比返回403更加暴力

重启nginx服务

bash 复制代码
systemctl restart nginx.service
相关推荐
小弥儿6 小时前
GitHub今日热榜 | 2026-09-18:腾讯双项目上榜
学习·开源
EasyGBS6 小时前
终结训推割裂!EasyGBS×EasyAIS×DLTM,实现AI算法训推一体闭环落地!
服务器·深度学习·安全
云杂项6 小时前
现代密码学(杨波)【第五版】(个人笔记)
安全·密码学
程序员JerrySUN7 小时前
Jetson Edge AI 实战01:Nano、Xavier、Orin 怎么选?Jetson 硬件选型详解【视频讲解】
java·数据库·redis·安全·mybatis
知识分享小能手8 小时前
深度学习学习教程,从入门到精通,深度生成模型 —— 知识点详解与代码实现(20)
人工智能·深度学习·学习
m4Rk_8 小时前
【论文阅读】Agent 记忆机制(74):CompassMem——从相似度检索走向事件图上的记忆导航
论文阅读·人工智能·学习·开源·github
小李不想当小白8 小时前
DMA直接存储器存取(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·分享
打工仔折腾 AI9 小时前
FastAPI 从本机到生产服务器:Nginx+Gunicorn+Uvicorn 完整部署实录
人工智能·后端·python·nginx·fastapi·gunicorn
2601_962364979 小时前
红外活体模组,Windows 设备安全身份入口解析
windows·安全·电脑
2601_9499506310 小时前
练题簿在线练题全流程:从资料导入到模拟考试与错题复盘
学习·考研·小程序·刷题·小程序推荐