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