nginx加固笔记!

检查是否配置Nginx账号锁定策略。身份鉴别

描述
1.执行系统命令passwd -S nginx来查看锁定状态 出现Password locked证明锁定成功 如:nginx LK ..... (Password locked.)或nginx L .... 2.默认符合,修改后才有(默认已符合) 3.执行系统命令passwd -l nginx进行锁定

检查提示
--
加固建议
配置Nginx账号登录锁定策略: Nginx服务建议使用非root用户(如nginx,nobody)启动,并且确保启动用户的状态为锁定状态。可执行passwd -l <Nginx启动用户> 如`passwd -l nginx` 来锁定Nginx服务的启动用户。命令 `passwd -S <用户>` 如`passwd -S nginx`可查看用户状态。 修改配置文件中的nginx启动用户修改为nginx或nobody 如: `user nobody;`

操作时建议做好记录或备份
确定

检查Nginx进程启动账号。服务配置

描述
Nginx进程启动账号状态,降低被攻击概率

检查提示
--
加固建议
修改Nginx进程启动账号: 1、打开`conf/nginx.conf`配置文件; 2、查看配置文件的user配置项,确认是非root启动的; 3、如果是`root`启动,修改成`nobody`或者`nginx账号`; 备注: 4、修改完配置文件之后需要重新启动Nginx。

操作时建议做好记录或备份
确定

确保NGINX配置文件权限为644文件权限

描述
把控配置文件权限以抵御外来攻击

检查提示
--

加固建议
修改Nginx配置文件权限: 执行`chmod 644 <conf_path>`来限制Nginx配置文件的权限;(<conf_path>为配置文件的路径,如默认/安装目录/conf/nginx.conf或者/etc/nginx/nginx.conf,或用户自定义,请 自行查找)

操作时建议做好记录或备份

确定

针对Nginx SSL协议进行安全加固服务配置

描述
Nginx SSL协议的加密策略进行加固
检查提示
--

加固建议
Nginx SSL协议采用TLSv1.2: 1、打开`conf/nginx.conf`配置文件(or include file in the main configuration file); 2、配置


server { 
               ...
              ssl_protocols TLSv1.2;
               ...
      }


备注:配置此项请确认nginx支持OpenSSL,运行`nginxv -V` 如果返回中包含`built with OpenSSL`则表示支持OpenSSL。如果不支持,请重新编译nginx

操作时建议做好记录或备份
确定

Nginx/OpenResty在特殊配置下存在内存泄漏或目录穿越漏洞入侵防范

描述
Nginx 的 rewrite 指令在没有检查用户输入的情况下,会导致目录穿越 Nginx 的 rewrite 指令在没有检查用户输入的情况下,会导致内存泄漏

检查提示
--

加固建议
升级版本至 最新版本 或禁用类似配置


location ~ /memleak {
    rewrite_by_lua_block {
        ngx.req.read_body();
        local args, err = ngx.req.get_post_args();
        ngx.req.set_uri( args["url"], true );
    }
}

location ~ /rewrite {
    rewrite ^.*$ $arg_x;
}

修改前请评估风险以确保业务连续性,做好备份操作

操作时建议做好记录或备份
确定

任意文件读取入侵防范

描述
缺少斜杠可能导致目录穿越

检查提示
--

加固建议
不建议存在


location /files {
    alias /home/;
}


如上配置 建议 把`/files`改为`/files/`的格式,以/结尾
操作时建议做好记录或备份
确定

Nginx 文件名逻辑漏洞入侵防范

描述
正则遇到\0是不会停止匹配的,但是nginx遇到\0就会停止,版本存在漏洞,请升级到最新版本

检查提示
--

加固建议
升级到最新版本

操作时建议做好记录或备份
确定

隐藏Nginx服务的Banner服务配置

描述

Nginx服务的Banner隐藏状态
检查提示

--
加固建议

Nginx后端服务指定的Header隐藏状态隐藏Nginx服务Banner的状态: 1、打开`conf/nginx.conf`配置文件; 2、在server栏目下,配置`server_tokens`项 `server_tokens off;`

操作时建议做好记录或备份
确定

nginx 至 1.13.2 Range Filter Request 整数溢出漏洞入侵防范

描述
在Nginx标准模块中,如果攻击者从缓存返回响应,则可以获取缓存文件头。黑客可以通过缓存文件头获取后端服务器的IP地址或其他敏感信息,从而导致信息泄露。

检查提示
--

加固建议

Nginx以下版本存在漏洞,容易被入侵 1.132之前版本 Nginx范围过滤器模块中存在整数溢出漏洞,允许远程攻击者利用漏洞提交特殊的请求,获取敏感信息或使应用程序崩溃。 如当前版本不方便升级,建议在配置文件server段新增,max_ranges 1(禁用multipart range分片功能,注意评估风险) 或直接升级到最新版本以确保安全性

操作时建议做好记录或备份

确定

PHP-fpm 远程代码执行漏洞入侵防范

描述
攻击者可以使用换行符(编码格式为%0a)来破坏`fastcgi_split_path_info`指令中的regexp,regexp损坏将导致空PATH_INFO,从而触发该漏洞 另外该漏洞为漏洞链条中的一环,属脆弱性,需与php(PHP 5.6,PHP 7.0 、PHP 7.1 、PHP 7.2 、PHP 7.3)联合复现

检查提示

--

加固建议

Nginx0.7.31前的版本存在配置风险, 若存在以下类似的配置建议删除


   location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        fastcgi_param PATH_INFO       $fastcgi_path_info;
        fastcgi_pass   php_ip:9000;
        ...
  }
}


删除前评估风险,请确保业务连续性,建议备份后删除,或升级到最新版本

操作时建议做好记录或备份

确定

proxy_pass反向代理导致的SSRF入侵防范

描述
确保proxy_pass的参数不为用户所控制,可以有效抵御ssrf

检查提示

--

加固建议

反向代理未过滤内网ip导致的ssrf漏洞

proxy_pass参数应尽量不为变量,否则一旦正则被绕过,则触发ssrf漏洞

操作时建议做好记录或备份

确定

Nginx后端服务指定的Header隐藏状态服务配置

描述
隐藏Nginx后端服务X-Powered-By头

检查提示
--

加固建议
隐藏Nginx后端服务指定Header的状态: 1、打开`conf/nginx.conf`配置文件(或主配置文件中的inlude文件); 2、在`http`下配置`proxy_hide_header`项; 增加或修改为 `proxy_hide_header X-Powered-By;` `proxy_hide_header Server;`

操作时建议做好记录或备份

确定

Nginx的WEB访问日志记录状态服务配置

描述
应为每个核心站点启用access_log指令。默认情况下启用。

检查提示

--

加固建议

开启Nginx的WEB访问日志记录: 1、打开`conf/nginx.conf`配置文件(或主配置文件中的inlude文件); 2、在http下配置`access_log`项
`access_log logs/host.access.log main;` 3、并在主配置文件,及主配置文件下的include文件中 删除`off`项或配置为适当值

操作时建议做好记录或备份

确定

推荐阅读更多精彩内容

  • 《老男孩Linux运维》笔记 隐藏Nginx软件版本号 一般来说,软件的漏洞都和版本有关。因此要尽量隐藏对访问用户...
    Zhang21阅读 3,279评论 0 28
  • 什么是文件上传漏洞? 文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其...
    Smi1e_阅读 22,725评论 0 22
  • 架构师必须知道的26项PHP安全实践 PHP是一种开源服务器端脚本语言,应用很广泛。Apache web服务器提供...
    meng_philip123阅读 5,882评论 1 161
  • https://www.cnblogs.com/lgf01010/articles/9610411.html 文件...
    卿酌南烛_b805阅读 2,954评论 0 1
  • 要设计一个安全的系统,除了要了解一些前面讲到的常用的保护手段和技术措施外,还要对系统中可能出现的安全问题或存在的安...
    deniro阅读 538评论 0 3
  • 1:描述tcp/udp的区别及优劣,及其发展前景 TCP 建立连接 完整性强 速度慢—当数据传输的性能必须让位于数...
    Triplesc阅读 739评论 0 1
  • 63期 一、判断 1、测试过程中出现的异常情况,让对方恢复即可不需要及时记录(X ) 2、习近平总书记说“没有信息...
    W_4ae4阅读 2,013评论 2 0
  • 在这篇文章中: 深入分析,查找入侵原因一、检查隐藏账户及弱口令二、检查恶意进程及非法端口三、检查恶意程序和可疑启动...
    白帽札记阅读 707评论 0 0
  • ![Flask](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW...
    极客学院Wiki阅读 6,254评论 0 3
  • 不知不觉易趣客已经在路上走了快一年了,感觉也该让更多朋友认识知道易趣客,所以就谢了这篇简介,已做创业记事。 易趣客...
    Physher阅读 2,943评论 1 2
  • 双胎妊娠有家族遗传倾向,随母系遗传。有研究表明,如果孕妇本人是双胎之一,她生双胎的机率为1/58;若孕妇的父亲或母...
    邺水芙蓉hibiscus阅读 3,198评论 0 2
  • 今天理好了行李,看到快要九点了,就很匆忙的洗头洗澡,(心存一份念想,你总会打给我的🐶)然后把洗头液当成沐浴液了😨,...
    bevil阅读 2,439评论 1 1
  • 那年我们15,像阳光一样温暖的年纪。每天我都会骑自行车上学,路过田野,工厂,医院,村庄,有微风,有阳光,有绿...
    木偶说爱你阅读 2,121评论 0 3
  • 最近身边有两对小两口在冷战,感觉战事随时能升级到要分开的地步。不幸的人各有各的不幸,然而在刚刚在一起的时候他们并不...
    苏觅觅阅读 2,488评论 0 1
  • 在上大学之前从来没有看过言情小说,不是觉得浪费时间而是觉得里面的主人公大多在无病呻吟,感觉很奇怪。后来大家都在看...
    半瓶子水阅读 5,363评论 0 1
  • 明知道这样不对,却偏不想改,不想主动联系她,我知道这样很小孩子气、很任性,就是气不过,可能是我真的太小心眼了吧😔,...
    醒着做梦Ray阅读 1,257评论 0 1
  • 版本号: android v5.4.0 一、战略层(产品目标of公司,用户需求of用户) -产品定位:电影购票平台...
    LJ说_LjNotes阅读 1,717评论 0 49
  • 你以为永远不会离开的人一个转身就永远消失在人海了。你以为付出全部就可以留下你爱的人了其实付出再多也不定是对方想要的...
    Ann曦阅读 746评论 0 2