nginx安全优化(四)降权

使用普通用户启动Nginx
1.1让Nginx服务使用普通用户

默认情况下,Nginx的Master进程使用的是root用户,Worker进程使用的是Nginx指定的普通用户,使用root用户跑Nginx的Master进程有两个最大的问题
管理权限必须是root,这就使得最小化分配权限原则遇到难题
使用root跑Nginx服务,一旦网站出现漏洞,用户就可以很容易获得服务器的root权限

1.2 给Nginx服务降权解决方案
解决方案如下:

给Nginx服务维权,用inca用户跑Nginx服务,给开发及运维设置普通账号,只要和inca同组即可管理Nginx,该方案解决了Nginx管理问题,防止root分配权限过大。
开发人员使用普通账户即可管理Nginx服务以及站点下的程序和日志
采取项目负责制度,即谁负责项目维护出了问题就是谁负责

配置普通用户启动nginx

1)添加用户并创建相关目录
useradd inca
su -inca
pwd
mkdir conf logs www #创建三个目录
cp /applicaction/nginx/conf/mime.types ./conf/
echo inca > www/index.html
2)配置Nginx配置文件,配置后的查看命令如下:
vim conf/nginx.conf
修改路径 为普通用户下的路径

worker_processes  4;
worker_rlimit_nofile 65535;
error_log  /home/inca/logs/error.log;
user inca inca;
pid  /home/inca/logs/nginx.pid;
events {
    use epoll;
    worker_connections  1024;
}
http {
    include       /home/inca/conf/mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       8080;
        server_name  localhost;
        root  /home/inca/www;
        location / {
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
        access_log  /home/inca/logs/access.log;
    }
}

说明:

所有参数的值带路径的都要改成/home/inca
特权用户root使用的80端口,改为普通用户使用的端口,在1024以上,上面使用8080

启动nginx,命令如下
全路径启动nginx -c参数使用指定的配置文件而不是conf目录下的nginx.conf

/application/nginx/sbin/nginx -c /home/inca/conf/nginx.conf   &>/dev/null

ps -ef | grep nginx | grep -v grep
在这里插入图片描述

访问效果:
在这里插入图片描述

1.3 解决普通端口非80提高服务的问题
用负载均衡器解决Web服务非80端口的转换问题,负载均衡器可用Haproxy,F5等
本解决方案的优点如下:

 给Nginx服务降权,让网站更安全
 按用户设置站点权限,使站点更独立(无需虚拟化隔离)
 开发不需要用root即可完成管理服务及站点
 可实现对责任划分:网络问题属于运维的责任,网站打不开就是开发责任或共同承担

我是用nginx的转发功能实现的 把端口转到80端口
80端口的nginx配置转发功能:
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSDN IT狂飙上传的代码均可运行,功能ok的情况下才上传的,直接替换数据即可使用,小白也能轻松上手 【资源说明】 基于MATLAB实现的有限差分法实验报告用MATLAB中的有限差分法计算槽内电位;对比解析法和数值法的异同点;选取一点,绘制收敛曲线;总的三维电位图+使用说明文档 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2020b;若运行有误,根据提示GPT修改;若不会,私信博主(问题描述要详细); 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可后台私信博主; 4.1 期刊或参考文献复现 4.2 Matlab程序定制 4.3 科研合作 功率谱估计: 故障诊断分析: 雷达通信:雷达LFM、MIMO、成像、定位、干扰、检测、信号分析、脉冲压缩 滤波估计:SOC估计 目标定位:WSN定位、滤波跟踪、目标定位 生物电信号:肌电信号EMG、脑电信号EEG、心电信号ECG 通信系统:DOA估计、编码译码、变分模态分解、管道泄漏、滤波器、数字信号处理+传输+分析+去噪、数字信号调制、误码率、信号估计、DTMF、信号检测识别融合、LEACH协议、信号检测、水声通信 5、欢迎下载,沟通交流,互相学习,共同进步!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值