【安全基线】-Nginx安全配置规范

1. 背景

苦恼于互联网上现有的基线资源不具备实时性,适用的版本比较老旧,甚至已逐步被企业淘汰。博主本着学习实验的心态,写下这篇博客,希望能给那些同我有着相同困扰的安全基线初学者铺块砖。恭候各位路过的大佬的指正!

2. 环境准备

操作系统:CentOS 7

1. 添加CentOS 7 EPEL仓库

sudo yum install epel-release

2. 安装Nginx

sudo yum install nginx

3. 查看是否正确安装

rpm -qa | grep nginx

4. 启动Nginx

sudo systemctl start nginx  //启动Nginx

sudo systemctl status nginx//查看Nginx状态

ps -ef |grep nginx|grep -v grep

nginx会自动根据当前主机的CPU的内核数目创建对应的进程数量。nginx进程在启动的时候,会附带一个守护进程,用于保护正式进程不被异常终止;如果守护进程一旦返现nginx继承被终止了,会自动重启该进程。守护进程一般会称为master进程,业务进程被称为worker进程

5. 设置开机自启Nginx

sudo systemctl enable nginx

6. 查看默认页面

如果正在运行防火墙,运行以下命令以允许HTTP和HTTPS通信:

sudo firewall-cmd --permanent --zone=public --add-service=http

sudo firewall-cmd --permanent --zone=public --add-service=https

sudo firewall-cmd --reload

在浏览器访问:http://Nginx服务器IP地址/,默认页面如下:

至此,已完成测试环境的搭建。

7. 查看配置文件nginx.conf

Nginx使用最多的三个核心功能是反向代理、负载均衡和静态服务器,不同的功能的使用,都跟Nginx的配置密切相关。

Nginx服务器的配置信息主要集中在nginx.conf这个配置文件中,可分为6个部分。

  • main:用于进行nginx全局信息的配置
  • events:用于nginx工作模式的配置
  • http:用于进行http协议信息的一些配置
  • server:用于进行服务器访问信息的配置
  • location:用于进行访问路由的配置
  • upstream:用于进行负载均衡的配置

接下去步入正题,测试安全配置加固项。

2. 安全配置

2.1 禁止Nginx显示目录列表


名称


禁止Nginx显示目录列表


描述


Nginx服务器默认目录:/usr/share/nginx/html

若文件根目录里有 index.html,浏览器就会显示 index.html的内容

若不存在 index.html,浏览器就会显示文件根目录的目录列表,目录列表包括文件根目录下的文件和子目录


问题影响


在nginx中开启autoindex,配置不规范而造成目录遍历漏洞


检查方法


核查配置文件cat /etc/nginx/nginx.conf |grep autoindex

确认autoindex不为ON


参考值


autoindex off; //默认情况下为off


加固步骤


1.备份nginx.conf

cp nginx.conf nginx.conf.bak

2.配置nginx.conf,设置

autoindex off;   或者注释#autoindex on;


回退步骤


恢复原有配置

cp nginx.conf.bak nginx.conf

原文地址:https://www.cnblogs.com/oumeixi/p/9109970.html

时间: 2024-10-22 06:12:23

【安全基线】-Nginx安全配置规范的相关文章

linux下Nginx配置文件(nginx.conf)配置设置详解(windows用phpstudy集成)

linux备份nginx.conf文件举例: cp /usr/local/nginx/nginx.conf /usr/local/nginx/nginx.conf-20171111(日期) 在进程列表里 面找master进程,它的编号就是主进程号. ps -ef | grep nginx 查看进程 cat /usr/local/nginx/nginx.pid 每次修改完nginx文件都要重新加载配置文件linux命令: /usr/local/nginx -t //验证配置文件是否合法 若ngin

nginx安装配置

一.下载Nginx源文件 进入nginx官网下载nginx的稳定版本,我下载的是1.10.0. 下载:wget http://nginx.org/download/nginx-1.10.0.tar.gz 解压:tar -zxvf nginx-1.10.0.tar.gz 二.检查安装依赖项 执行下面的命令安装nginx的依赖库: yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel11 三.配置Nginx安

FastDFS的php和nginx模块配置

一.FastDFS和php整合 1.安装php # 安装依赖包 yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel cu

Nginx下配置ThinkPHP的URL Rewrite模式和pathinfo模式支持

前面有关于lnmp环境的搭建,在此就不在赘述.下面就简述thinkPHP如何在nginx下开启url_rewrite和pathinfo模式支持 主要有两个步骤: 一.更改php.ini将;cgi.fix_pathinfo=0  改为cgi.fix_pathinfo=1 二.更改nginx配置文件中php的location设置pathinfo模式: location ~ \.php { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index in

dva+antd写的一个react例子--服务器nginx 的配置

location ^~ /crm { rewrite ^/crm/(.*)(\.js|\.css|\.png|\.jpg|\.jpeg|\.gif|index\.php|robots\.txt)$ /$1$2 break; rewrite .* /index.html break; root /etc/nginx/static2/CIF_crm-frontend/dist/crm/; } 以上是nginx的配置 { "entry": "src/index.js",

Nginx安装配置(转)

Nginx 安装配置 Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. 在高连接并发的情况下,Nginx是Apache服务器不错的替代品. Nginx 安装 系统平台:CentOS release 6.6 (Final) 64位. 一.安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtoo

Nginx + PHP 配置

最近在学习php的时候了解到了,顺便了解了一下php服务器的运行环境,php最常用的服务器肯定是Apache了,不过这几年Nginx发展也很快,相比Apache而言,它除了抗高并发以外,搭建环境的的时候配置也比较容易,在windows下几乎不需要任何安装步骤,只需要在控制台启动 .exe 程序就行了,而且反向代理机制也是一种比较灵活的机制. 1.在配置一个环境之前,我们先要下载php和nginx ,它们都可以在各自官网下载到,目前nginx最新稳定版是nginx 1.6,在下载php的时候要注意

nginx 转发配置

Nginx配置proxy_pass转发的/路径问题 在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/,当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理走;如果没有/,则会把匹配的路径部分也给代理走. location ^~ /static_js/ { proxy_cache js_cache; proxy_set_header Host js.test.com; proxy_pass http:

nginx常用配置系列-虚拟主机

本来准备详尽的出一份nginx配置讲解,但nginx功能配置繁多,平常使用中使用最多的一般有: 1. 虚拟主机配置 2. HTTPS配置 3. 静态资源处理 4. 反向代理 ================= 虚拟主机配置 ================= 先说虚拟主机配置,nginx的核心配置文件在nginx的安装目录下conf目录中(如果是CentOS通过yum安装则在/etc/nginx目录中) 在conf目录下创建vhost目录,方便管理虚拟主机的配置文件 mkdir vhost 以e