nginx基线安全,修复步骤。主要是由于使用了root用户启动nginx。为了安全应该使用非root用户启动nginx
一、检查项和问题
检查项分类 | 检查项名称 |
身份鉴别 | 检查是否配置Nginx账号锁定策略。 |
服务配置 | 检查Nginx进程启动账号。 |
服务配置 | Nginx后端服务指定的Header隐藏状态 |
服务配置 | Nginx的WEB访问日志记录状态 |
服务配置 | Nginx的WEB访问日志记录状态 |
服务配置 | Nginx的WEB访问日志记录状态 |
服务配置 | Nginx的WEB访问日志记录状态 |
服务配置 | Nginx的WEB访问日志记录状态 |
服务配置 | 检查Nginx进程启动账号。 |
身份鉴别 | 检查是否配置Nginx账号锁定策略。 |
身份鉴别 | 检查是否配置Nginx账号锁定策略。 |
服务配置 | 检查Nginx进程启动账号。 |
身份鉴别 | 检查是否配置Nginx账号锁定策略。 |
服务配置 | 检查Nginx进程启动账号。 |
身份鉴别 | 检查是否配置Nginx账号锁定策略。 |
服务配置 | 检查Nginx进程启动账号。 |
身份鉴别 | 检查是否配置Nginx账号锁定策略。 |
服务配置 | 检查Nginx进程启动账号。 |
身份鉴别 | 检查是否配置Nginx账号锁定策略。 |
身份鉴别 | 检查是否配置Nginx账号锁定策略。 |
服务配置 | 检查Nginx进程启动账号。 |
身份鉴别 | 检查是否配置Nginx账号锁定策略。 |
服务配置 | 检查Nginx进程启动账号。 |
服务配置 | Nginx后端服务指定的Header隐藏状态 |
二、修复步骤
1. 创建专用用户和组
sudo groupadd nginx
sudo useradd -g nginx -s /sbin/nologin -M nginx
2、
2. 修改 Nginx 配置文件
编辑主配置文件 /etc/nginx/nginx.conf
,在顶部添加或修改:
user nginx nginx;
3. 调整文件和目录权限
# 修改 Nginx 主目录权限
sudo chown -R nginx:nginx /var/log/nginx
sudo chown -R nginx:nginx /var/cache/nginx
sudo chown -R nginx:nginx /etc/nginx
# 确保日志目录可写
sudo chmod -R 755 /var/log/nginx
4. 修改端口问题
非 root 用户无法绑定 1024 以下端口,有两种解决方案:
server {
listen 8080;
# 其他配置...
}
5. 测试配置并启动
# 测试配置
sudo nginx -t
# 以非root用户启动
sudo -u nginx nginx
6. 设置开机启动(可选)
编辑 systemd 服务文件 /lib/systemd/system/nginx.service
,修改 User
和 Group
:
[Service]
User=nginx
Group=nginx
注意事项
确保非 root 用户对网站文件有读取权限
如果使用 SSL 证书,确保证书文件可读
某些功能(如平滑升级)可能需要 root 权限
监控日志确保没有权限问题
通过以上步骤,Nginx 将以非 root 用户身份运行,提高系统安全性。