nginx降权及匹配php
1.nginx降权
1.1 capabilities的介绍与运用
1.2 用普通用户启动nginx
1.3 root用户权限赋予
1.4 查看普通用户的nginx权限
1.5 查看nginx的欢迎网页
2.nginx与php的相互匹配
2.1 安装php及php-fpm包
2.2 检查php-fpm服务运行状态
2.3 php-fpm上的配置
2.4 nginx上的配置
2.4 检测nginx与php是否匹配成功
1.nginx降权
1.1 capabilities的介绍与运用
在Linux内核2.2之前,为了检查进程权限,将进程区分为两类:特权进程(euid=0)和非特权进程。特权进程(通常为带有suid的程序)可以获取完整的root权限来对系统进行操作,但是如此操作会导致普通用户的权限过大,使得攻击者也会拥有重要进程的root权限,十分危险。
在linux内核2.2之后引入了capabilities机制,来对root权限进行更加细粒度的划分。如果进程不是特权进程,而且也没有root的有效id,系统就会去检查进程的capabilities,来确认该进程是否有执行特权操作的的权限。
这样一来,权限检查的过程就变成了:在执行特权操作时,如果线程的有效身份不是root,就去检查其是否具有该特权操作所对应的capabilities,并以此为依据,决定是否可以执行特权操作。
注意:如果Capabilities设置不正确,就会让攻击者有机可乘,实现权限提升。
可以通过man capabilities来查看具体的capabilities。
capability名称 | 描述 |
---|---|
CAP_AUDIT_CONTROL | 启用和禁用内核审计;改变审计过滤规则;检索审计状态和过滤规则 |
CAP_AUDIT_READ | 允许通过 multicast netlink 套接字读取审计日志 |
CAP_AUDIT_WRITE | 将记录写入内核审计日志 |
CAP_BLOCK_SUSPEND | 使用可以阻止系统挂起的特性 |
CAP_CHOWN | 修改文件所有者的权限 |
CAP_DAC_OVERRIDE | 忽略文件的 DAC 访问限制 |
CAP_DAC_READ_SEARCH | 忽略文件读及目录搜索的 DAC 访问限制 |
CAP_FOWNER | 忽略文件属主 ID 必须和进程用户 ID 相匹配的限制 |
CAP_FSETID | 允许设置文件的 setuid 位 |
CAP_IPC_LOCK | 允许锁定共享内存片段 |
CAP_IPC_OWNER | 忽略 IPC 所有权检查 |
CAP_KILL | 允许对不属于自己的进程发送信号 |
CAP_LEASE | 允许修改文件锁的 FL_LEASE 标志 |
CAP_LINUX_IMMUTABLE | 允许修改文件的 IMMUTABLE 和 APPEND 属性标志 |
CAP_MAC_ADMIN | 允许 MAC 配置或状态更改 |
CAP_MAC_OVERRIDE | 忽略文件的 DAC 访问限制 |
CAP_MKNOD | 允许使用 mknod() 系统调用 |
CAP_NET_ADMIN | 允许执行网络管理任务 |
CAP_NET_BIND_SERVICE | 允许绑定到小于 1024 的端口 |
CAP_NET_BROADCAST | 允许网络广播和多播访问 |
CAP_NET_RAW | 允许使用原始套接字 |
CAP_SETGID | 允许改变进程的 GID |
CAP_SETFCAP | 允许为文件设置任意的 capabilities |
CAP_SETPCAP | 参考 capabilities man page |
CAP_SETUID | 允许改变进程的 UID |
CAP_SYS_ADMIN | 允许执行系统管理任务,如加载或卸载文件系统、设置磁盘配额等 |
CAP_SYS_BOOT | 允许重新启动系统 |
CAP_SYS_CHROOT | 允许使用 chroot() 系统调用 |
CAP_SYS_MODULE | 允许插入和删除内核模块 |
CAP_SYS_NICE | 允许提升优先级及设置其他进程的优先级 |
CAP_SYS_PACCT | 允许执行进程的 BSD 式审计 |
CAP_SYS_PTRACE | 允许跟踪任何进程 |
CAP_SYS_RAWIO | 允许直接访问 /devport、/dev/mem、/dev/kmem 及原始块设备 |
CAP_SYS_RESOURCE | 忽略资源限制 |
CAP_SYS_TIME | 允许改变系统时钟 |
CAP_SYS_TTY_CONFIG | 允许配置 TTY 设备 |
CAP_SYSLOG | 允许使用 syslog() 系统调用 |
CAP_WAKE_ALARM | 允许触发一些能唤醒系统的东西(比如 CLOCKBOOTTIMEALARM 计时器) |
由于这里我们的目标是为nginx降权,所以我们这里主要使用的capabilities指令为CAP_NET_BIND_SERVICE 用它绑定 nginx 的端口赋予普通用户nginx的端口权限。(nginx的默认端口为80)
1.2 用普通用户启动nginx
现在在普通用户的 /www/env/nginx/sbin目录即 nginx安装目录下无法启动nginx服务说明,说明现在普通用户没有nginx的使用权限。
1.3 root用户权限赋予
指令:setcap CAP_NET_BIND_SERVICE=eip nginx
使用 getcap 指令查看nginx的端口权限绑定成功
注意:这里要更改nginx的所属关系为普通用户
1.4 查看普通用户的nginx权限
用普通用户启动nginx
查看nginx程序的进程都为普通用户创建
说明nginx的降权操作成功
1.5 查看nginx的欢迎网页
2.nginx与php的相互匹配
2.1 安装php及php-fpm包
apt install php
apt install php-fpm
2.2 检查php-fpm服务运行状态
systemctl status php8.1-fpm
2.3 php-fpm上的配置
在php的安装目录下找到 php/8.1/fpm/pool.d/www.conf 的配置文件打开
修改php监听的端口号为本机的9000端口
取消所选框字段的注释 listen.allowed_clients 字段是允许监听的服务端,这里设为只允许本机监听,否则会触发 php-fpm服务的未授权访问漏洞。
2.4 nginx上的配置
在nginx的安装目录下找到 nginx/conf/nginx.conf 的配置文件打开
找到所选框内关于与php相互匹配的注释,将注释取消,开通二者的匹配关系。
2.4 检测nginx与php是否匹配成功
在nginx/html 的目录下创建一个 index.php 文件:
文件内容:
<?php
phpinfo()
?>
从浏览器的nginx界面打开 index.php 文件
成功标志着nginx与php相互匹配成功。
nginx降权及匹配php相关推荐
- nginx降权+安装php
nginx降权 使用普通用户启动Nginx 为什么要让nginx服务使用普通用户 默认情况下,nginx的master进程使用的是root用户,worker进程使用的是nginx指定的普通用户,使用r ...
- nginx降权运行和php环境部署
nginx降权 示例环境:centos7 降权运行的应用场景 首先我们来看.默认模式下nginx的运行状态: [root@blackstone batman]# ps -elf | grep ngin ...
- 普通用户nginx访问不了_Nginx降权启动之使用普通用户管理 | it运维_it技术_linux运维-追梦人博客...
一.介绍 1.1.什么是nginx降权启动 降权启动:即nginx的启动与管理使用非root用户来启动与管理,这样就防止每次修改配置重启时都需要用root用户来重启了. 注意:普通用户只能只用1024 ...
- 榆熙电商:拼多多怎样判断商品是否被降权?原因有哪些?
很多商家可能在不经意间就被降权了,甚至都还可能不知道自己的店铺或产品被降权了,那么关于降权,作为商家的你知道如何进行判断吗?想要了解的小伙伴一起跟着榆熙电商小编来看看吧. 一.如何判断产品是否被降权? ...
- 导致网站首页降权的10个因素
网站降权是对网站来说是一件大事,会导致网站排名.关键词下降,甚至连新页面都不一定会被搜索引擎收录.那么,都有哪些因素可能导致网站被降权呢?接下来小编就跟大家分享下导致网站首页降权的原因,一起来看看吧! ...
- 抖音删除作品会有哪些影响,限流降权该如何挽回丨国仁网络资讯
玩抖音,我们常常会遇到一些操作上的问题,虽然听上去很简单,操作起来也很简单,但是,也有很多人不会操作. 更重要的是,一些小动作后面可能产生的影响大部分人都不知道.例如,最近频繁有人反馈猫哥,抖音怎么删 ...
- 弘辽科技:淘宝店铺被降权后,流量不短下滑,如何扭转局面
我们要注意,单品违规对流量的影响有大有小,常见的判断标准是: 1.店铺层级越高,影响越小,店铺层级越低,影响越大: 2.店铺基础越好,影响越小,店铺基础越差,影响越大: 3.竞品越多,影响越大,竞品越 ...
- 隐形降权是什么, 什么行为会导致店铺被隐形降权,如何避免降权
一.什么是隐形降权 隐形降权通俗来讲就是你的宝贝被淘宝监控了,质量得分被扣了较大的分数,导致排名直线下滑,甚至通过关键词搜索都找不到你的宝贝,通过关键词搜索怎么也找不到你的宝贝,就有被隐形降权的嫌疑了 ...
- 2022年电商商家如何用微查宝防止降权号引响店铺权重
天猫全球狂欢节十周年终于结束了,毫无悬念的一个新的记录诞生,2135亿.在11月11日这一天,全民再一次掀起了购物的高潮,众商家迎来了残暴的欢愉.就连电商商家背后的服务商也赫然加入到了狂欢的队伍当中. ...
最新文章
- 深度学习 dns tunnel检测 使用统计特征 全连接网络——精度99.8%
- arm开发板上电设置静态ip_与X86/Arm三分天下,RISCV还需几步?
- Linux /etc/init.d目录
- c++如何让字符串重复输出_2020.10.02错题总结之字符串相关函数
- BOM事件对象even
- File System Auditor 安装全程截图
- python用cmd运行失败_解决python在cmd运行时导入包失败,出现错误信息 ModuleNotFoundError: No module named ***...
- linux系统支持u盘格式,linux下U盘格式化
- matlab cftool 最小二乘,【转】最小二乘法与matlab拟合工具箱cftool
- 同济线性代数教材(第五版)-第2章 矩阵及其运算
- IDEA实用插件推荐
- vscode 格式化文件配置说明
- 六祎-简单的排版表(python)
- Visual C++网络编程经典案例详解 第9章 实用播放器 编程基础 播放mp3文件 读取文件
- Git提交前端代码遇到Lint errors found in the listed files.和husky - pre-push hook failed (add --no-verify)
- 重磅!李沐「动手学深度学习」中文课程笔记来了!
- 怎么禁用笔记本触摸板
- 信捷总线11轴伺服程序,本人原创,客户设备完美运行,plc程 序框架逻辑很顺畅,梯形图只有逻辑程序,不包含任何运算,运用大量c语言完美简化程序
- 百度人脸识别API 的使用
- vbox虚拟机运行android,利用VM或VBOX安装安卓虚拟机
热门文章
- python网易云_[Python] 网易云歌单/歌曲下载
- Java实现十字形开关问题(“飞行员兄弟“)
- 微信公众号链接更新静态资源文件
- 区块链实际应用中痛点
- sublime运行python只显示时间_sublime3-python 编译运行不显示内容
- JAVAFX窗口设置阴影效果
- 关于前端 后端 数据库 时间的设置与传递
- 命令行快速清理Mac版搜狗输入法
- 【BZOJ1123】[POI2008]BLO【割顶】
- 集中化运维管理——Puppet管理之路