当前位置: 首页 > news >正文

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

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

    • 注意
    • 一、防止文件被下载
    • 二、屏蔽非常见蜘蛛(爬虫)
    • 三、禁止某个目录执行脚本
    • 四、屏蔽某个IP或IP段

注意

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

一、防止文件被下载

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

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

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

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

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;
}

四、屏蔽某个IP或IP段

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

#屏蔽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服务

systemctl restart nginx.service
http://www.lryc.cn/news/215334.html

相关文章:

  • 四十一、【进阶】索引使用SQL提示
  • AI智能分析网关高空抛物算法如何实时检测高楼外立面剥落?
  • 微信小程序 - 页面继承(非完美解决方案)
  • 智能配件管理系统有什么用?企业如何实现管理数字化转型?
  • @SuppressWarnings注解使用说明
  • 算法从入门到入土cpp版
  • 没有PDF密码,如何解密文件?
  • Sqlyog 无法连接 8 版本的mysql caching_sha2_password could not be loaded
  • 学习笔记三十三:准入控制
  • Unix/Linux C语言 获取控制台窗口尺寸
  • 界面控件DevExpress WinForms Gauge组件 - 实现更高级别数据可视化
  • vivo 自研蓝河操作系统 BlueOS 发布:支持大模型、BlueXlink 协议实现万物互联
  • opencv复习(很乱)
  • 于璠访谈录 | AI 框架应该和而不同?
  • 基于Springboot+MYSQL+Maven实现的宠物医院管理系统(源码+数据库+运行指导文档+项目运行指导视频)
  • 【数据结构二叉树】先序层序建立、递归非递归遍历层序遍历、树高、镜面、对称、子树、合并、目标路径、带权路径和等等
  • Mybatis延迟加载(缓存)
  • 我对美团的看法,作为美团的股东,我都有点懵
  • 【Java】文件操作和IO
  • uniapp页面间传参的方法
  • vsan 7.0.3部署后常见问题
  • 【Git】Git使用指南+上传项目踩坑总结
  • Django之登录注册
  • Android 10-11适配外部存储方案
  • 软件测试/测试开发丨Python:易学、强大、多用途的编程语言
  • 一、VPN基础
  • 淘宝协议最新版
  • AI“走深向实”,蚂蚁蚁盾在云栖大会发布实体产业「知识交互建模引擎」
  • 如何估计池塘里鱼的数目,周边有多少车辆?
  • docker中安装rabbitMq并配置启动