Nginx常用的安全屏蔽规则

这篇具有很好参考价值的文章主要介绍了Nginx常用的安全屏蔽规则。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Nginx 是一个高性能的 HTTP 和反向代理服务,目前很大一部分网站均使用了 Nginx 作为 WEB 服务器,Nginx 虽然非常强大,但默认情况下并不能阻挡恶意访问,整理了一份常用的 Nginx 的屏蔽规则,希望对各位站长有所帮助。

在开始之前,请备份你的 Nginx 配置,修改完毕后需要重载一次 Nginx 的,否则不会生效。

如无特殊注明,下面命令均添加到 server 段内。

一、防止文件被下载

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

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 这些目录禁止执行 <a href="https://hexsen.com/tag/phpcode" title="更多关于 PHP 的文章" target="_blank">PHP</a>   location ~* ^/(uploads|templets|data)/.*.(php|php5)$ {     return 444;}

四、屏蔽某个 IP 或 IP 段

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

#屏蔽 192.168.5.23 这个 IPdeny 192.168.5.23;#屏蔽 192.168.5.* 这个段denu 192.168.5.0/24;

上面规则报道查看 444 状态码而不是 403。444 状态码在 nginx 的中有特殊含义,nginx 的 444 状态是直接由服务器中断连接,不会向客户端再返回任何消息。比返回 403 更加暴力。文章来源地址https://www.toymoban.com/news/detail-853340.html

到了这里,关于Nginx常用的安全屏蔽规则的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nginx禁止/屏蔽攻击服务器的IP地址

    nginx安装在IP为x.x.x.x的服务器上 第一步,nginx安装。 第二步,nginx配置。 第三步,nginx启动和访问站点。 第四步,nginx服务关闭和重启。 第五步,新建nginx启动脚本可以不进入nginx根目录即可进行相应的操作,设置服务器重启时nginx会自动启动。 第一步,在/etc/nginx文件夹中新

    2024年02月06日
    浏览(53)
  • Nginx配置IP拦截

    最近百家饭团队开源了一个Nginx日志分析工具APIcat,这周在生成报告的基础上,实现了基于Nginx的自动拦截防护,正好研究了一下Nginx配置IP拦截的配置 nginx配置ip拦截基本是通过deny和allow两个配置来实现的。可以配置单ip的拦截放行,也可以配置网段的拦截放行,比如:

    2023年04月08日
    浏览(34)
  • nginx配置拦截访问域名

    1、Nginx Referer模块 nginx模块ngx_http_referer_module通常用于阻挡来源非法的域名请求。当一个请求头的Referer字段中包含一些非正确的字段,这个模块可以禁止这个请求访问站点。构造Referer的请求很容易实现,所以使用这个模块并不能100%的阻止这些请求。 2、valid_referers 指令 语法

    2024年02月13日
    浏览(54)
  • 【nginx】nginx之location规则详解:

    一、语法规则: 二、优先级: 三、验证: 1、精确匹配: 在conf.d文件夹下创建配置文件test.com.conf,内容如下: 上图中第一个和第二个location匹配条件一样,都是/test.html,但第二个为精准匹配到静态路径,因此第一个不会执行,会执行第二个,www.test.com为本地域名解析,ac

    2024年02月15日
    浏览(43)
  • nginx拦截指定的url

    在配置nginx规则拦截的时候我们要清楚自己的需求 需求如下: 外网地址: 不能被访问 内网地址: 能访问 外网地址如下:外网ip+端口/pac/pul/check     (这里域名ip都可以) 内网地址如下:内网ip+端口/pac/pul/check               (内网ip不做拦截) nginx配置如下: 上面的配置和

    2024年01月23日
    浏览(35)
  • nginx路由匹配规则解析

    精确匹配 精确匹配使用 = 表示,nginx进行路由匹配的时候,精确匹配具有最高的优先级,请求一旦精确匹配成功nginx会停止搜索其他到匹配项。 配置实例: 精确前缀匹配 精确前缀匹配的优先级仅次于精确匹配,nginx对一个请求精确前缀匹配成功后,停止继续搜索其他到匹配

    2024年02月16日
    浏览(38)
  • Nginx——SeverName配置规则

    Nginx作为一个服务器,具有众多转发规则。工作中用到使用Nginx配置一个端口下多个路径转发到html下不同目录。目前知道的有三种方法可以实现,分别是使用root+location、alias、try_files。 假设一个场景,目前/var/www/目录下放了两个项目,目录名分别为masrt,backup,现在需要通过

    2024年02月12日
    浏览(37)
  • Nginx扩展篇之Location语法规则

    语法规则: location [=| | *|^~] /uri/ {… } 首先匹配 =,其次匹配^~,其次是按文件中顺序的正则匹配,最后是交给 /通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。 符号 含义 = = 开头表示精确匹配 ^~ ^~开头表示uri以某个常规字符串开头,理解为匹配 url路径即

    2024年02月08日
    浏览(45)
  • 基于Geoip2实现Nginx拦截国外IP访问网站

    最近公司上线了一个APP,过段时间发现告警群总有些莫名的异常,通过排查发现是被攻击了,并且攻击IP全是国外的,基于APP业务全在国内,最简单办法就是屏蔽这些IP。云上虽有产品但收费,自己动手才是王道。 目录 一、实现思路 二、配置方法    2.1 软件下载 2.1.1 Nginx下

    2024年01月16日
    浏览(38)
  • nginx使用详解:转发规则、负载均衡、server_name

    该指令用于匹配 URL,语法如下: 指令 说明 = 用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配 成功,就停止继续向下搜索并立即处理该请求。 ~ 用于表示 uri 包含正则表达式,并且区分大小写。 ~* 用于表示 uri 包含正则表达式,并且不区分大小写。

    2024年01月17日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包