1.检查是否配置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; 如果您是docker用户,可忽略该项(或添加白名单)

2.检查Nginx进程启动账号

描述

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

加固建议

修改Nginx进程启动账号:

1、打开conf/nginx.conf配置文件;

2、查看配置文件的user配置项,确认是非root启动的;

3、如果是root启动,修改成nobody或者nginx账号;

4、修改完配置文件之后需要重新启动Nginx。

3.Nginx后端服务指定的Header隐藏状态

描述

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

加固建议

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

1、打开conf/nginx.conf配置文件;

2、在http下配置proxy_hide_header项; 增加或修改为 proxy_hide_header X-Powered-By; proxy_hide_header Server;

4.隐藏Nginx服务的Banner

描述

Nginx服务的Banner隐藏状态

加固建议

Nginx后端服务指定的Header隐藏状态隐藏Nginx服务Banner的状态:

1、打开conf/nginx.conf配置文件;

2、在server栏目下,配置server_tokens项 server_tokens off; 如出现多项不支持,执行ln <conf_path> /etc/nginx/nginx.conf

5.针对Nginx SSL协议进行安全加固

描述

Nginx SSL协议的加密策略进行加固

加固建议

Nginx SSL协议采用TLSv1.2: 1、打开conf/nginx.conf配置文件(或主配置文件中的inlude文件); 2、配置


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

备注:配置此项请确认nginx支持OpenSSL,运行nginx -V 如果返回中包含built with OpenSSL则表示支持OpenSSL。 如不支持,可能需要增加配置ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 如果尚未配置ssl协议,请尽快配置(参考连接https://www.nginx.cn/doc/optional/ssl.html)

6.Nginx的WEB访问日志记录状态

描述

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

加固建议

开启Nginx的WEB访问日志记录:

1、打开conf/nginx.conf配置文件,含主配置文件中include项包含的子配置文件;

2、在http下配置access_log项access_log logs/host.access.log main;

3、并在主配置文件,及主配置文件下的include文件中 删除off项或配置为适当值

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

描述

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

加固建议

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

8.确保已禁用自动索引模块

描述

自动索引模块处理以斜杠字符结尾的请求。此功能启用目录列表,这在攻击者侦察中可能很有用,因此应将其禁用。

加固建议

执行以下操作以禁用自动索引模块: 搜索NGINX配置文件(NGINX.conf和任何包含的配置文件)以查找autoindex指令。

egrep -i '^\s*autoindex\s+' <main_config_path> egrep -i '^\s*autoindex\s+' <sub_config_path> 在location下删除或者修改为 autoindex off;

Nginx安全检查的更多相关文章

  1. 【原创】C#通用权限管理-程序安全检查,这些你一定要考虑到位

    接触通用权限已经一年,现在使用已经很熟练,分享通用权限管理下面的一些好的开发思想. 安全漏洞对于一个小项目来说,可能不是特别的重视,对于一个大项目来说,这是特别重要需要注意的,特别是在项目开发中的就要 ...

  2. CentOS 7 yum nginx MySQL PHP 简易环境搭建

    用centos自带的yum源来安装nginx,mysql和php,超级方便,省去编译的麻烦,省去自己配置的麻烦,还能节省非常多的时间. 我们先把yum源换成国内的阿里云镜像源(当然不换也可以),先备份 ...

  3. 关于nginx架构探究(3)

    Nginx 模块综述 Nginx 所有的代码都是以模块的新式组织的,包括核心模块和功能模块.Nginx加载模块的时候不想Apache一样动态加载,它是直接被编译到二进制执行文件中,所以,如果想要加载新 ...

  4. C#通用权限管理-程序安全检查,这些你一定要考虑到位

    接触通用权限已经一年,现在使用已经很熟练,分享通用权限管理下面的一些好的开发思想. 安全漏洞对于一个小项目来说,可能不是特别的重视,对于一个大项目来说,这是特别重要需要注意的,特别是在项目开发中的就要 ...

  5. CentOS 7 yum nginx MySQL PHP7 简易环境搭建(精)

    用centos自带的yum源来安装nginx,mysql和php,超级方便,省去编译的麻烦,省去自己配置的麻烦,还能节省非常多的时间. 我们先把yum源换成国内的阿里云镜像源(当然不换也可以),先备份 ...

  6. linux搭建FTP服务器并整合Nginx

    操作系统:Centos7 1.1.服务器配置 # 关闭SELINUX,把SELINUX=enforcing改为SELINUX=disabled,reboot重启服务器生效 vim /etc/sysco ...

  7. LNMP, CentOS7.0+Nginx+Mysql5.7+PHP7环境安装

    LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构.这里和家分享一下,如何在CentOS 7.0上搭建一个这样的环境,其中软件使用yum方式安装. 进入CentOS ...

  8. wnmp(windows+nginx+mysql+php)环境搭建和配置

    要求 必备知识 熟悉基本编程环境搭建. 运行环境 windows 7(64位); nginx-1.4.7;MySQL Server 5.5php-5.4.39-nts 下载地址 环境下载 Nginx是 ...

  9. Linux 下 Nginx + JDK + Tomcat + MySQL 安装指南

    转载请注明出处:http://blog.csdn.net/smartbetter/article/details/52026342 Nginx 是一款高性能的 http 服务器/反向代理服务器/电子邮 ...

随机推荐

  1. UNCTF2020 web writeup

    1.Easy_ssrf 给了file_get_contents,直接读取flag即可 2.Easyunserialize 利用点在 构造uname反序列化逃逸即可 3.Babyeval 两个过滤,绕过 ...

  2. 花了30天才肝出来,史上最全面Java设计模式总结,看完再也不会忘

    本文所有内容均节选自<设计模式就该这样学> 序言 Design Patterns: Elements of Reusable Object-Oriented Software(以下简称&l ...

  3. nginx配置8081端口异常

    1.为nginx配置8081端口,结果nginx报错. (nginx配置8081端口监听,通过查看日志,出现nginx: [emerg] bind() to 0.0.0.0:8081 failed ( ...

  4. git不显示提交代码

    今天提交代码找不到提交的具体代码,找了好半天,最后发现是右边能下拉能拉下去,尴尬.

  5. Java跟JavaScript两者间的关系和区别

    想必很多人在刚接触和认识Java的时候,都好奇它与JavaScript之间的关系,长得这么像,难道是出自同门的升级版?嗯,他们的发明者确实颇具渊源,而且客观来说,JS确实相较Java更加简洁大众,但它 ...

  6. 自然溢出哈希 hack 方法

    今天不知道在什么地方看到这个东西,感觉挺有意思的,故作文以记之( 当 \(base\) 为偶数时,随便造一个长度 \(>64\) 的字符串,只要它们后 \(64\) 位相同那么俩字符串的哈希值就 ...

  7. Vue 中使用 extent 开发loading等全局 组件

    Vue 中使用 extend 开发组件 简介:再开发过程中那面会遇到自定义 loading alert 等全局组件,这里我们可以使用 vue 中的extend 来帮助我们完成 一个简单extend例子 ...

  8. C语言 自定义函数按行读入文件

    在之前的博客中 https://www.cnblogs.com/mmtinfo/p/13036039.html 读取一行的getline()函数是GNU 的扩展函数. 这里用自定义函数实现这个功能,从 ...

  9. Python获取随机数

    Python当中,可用random模块来获取随机数 import random """ random模块,用于获取随机数 """ print ...

  10. ICCV2021 | TOOD:任务对齐的单阶段目标检测

    ​前言  单阶段目标检测通常通过优化目标分类和定位两个子任务来实现,使用具有两个平行分支的头部,这可能会导致两个任务之间的预测出现一定程度的空间错位.本文提出了一种任务对齐的一阶段目标检测(TOOD) ...