Nginx& PHP -fpm.sock 文件权限如何设置 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
seers
V2EX    NGINX

Nginx& PHP -fpm.sock 文件权限如何设置

  •  
  •   seers 2018-02-09 00:12:08 +08:00 4606 次点击
    这是一个创建于 2882 天前的主题,其中的信息可能已经有所发展或是发生改变。

    默认 Nginx 使用 Nginx:Nginx,无权访问 www-data:www-data 创建的 unix socket,导致无法处理 php 请求,搜了一圈大多数方法是 fpm 接口改为 127.0.0.1:9000,但我想使用 sock 接口权限该如何设置呢?

    目前两种想法 1.Nginx 加入 www-data 组 2.socket 的 listen&write 权限由 www-data 改为 Nginx

    不知哪种更符合安全?

    16 条回复    2022-01-25 13:04:03 +08:00
    0ZXYDDu796nVCFxq
        1
    0ZXYDDu796nVCFxq  
       2018-02-09 00:33:22 +08:00
    如果没有不同服务共用 用户 用户组,两种方法没区别
    如果有其他服务共用服务,可能会造成一定的安全隐患

    如果要做非常细致的权限隔离,docker 欢迎你
    cxbig
        2
    cxbig  
       2018-02-09 02:38:21 +08:00 via iPhone
    不考虑 docker 的话
    nginx 和 php 共用一个 www 用户
    代码部署用 deploy 用户,log 文件夹给 www 写权限,其他只读
    cxbig
        3
    cxbig  
       2018-02-09 02:41:53 +08:00 via iPhone
    127.0.0.1:9000 就是本机可访问,有什么安全隐患?
    stabc
        4
    stabc  
       2018-02-09 03:23:44 +08:00
    道听途说 socket 方式优于 127.0.0.1:9000,所以推荐第一种。
    cs8425
        5
    cs8425  
       2018-02-09 03:30:34 +08:00
    @cxbig #3
    SSRF, 可以 payload 到 fpm 跑任何想跑的 code
    julyclyde
        6
    julyclyde  
       2018-02-09 08:11:49 +08:00
    @cs8425 首先要解决怎么连上的问题,其次才能谈传什么
    julyclyde
        7
    julyclyde  
       2018-02-09 08:12:47 +08:00
    www-data 应该是 debian 系的?
    nginx 不是系统自带的包吗?

    考虑到 nginx 也得提供静态文件服务,应该把它改为 www-data 身份
    singer
        8
    singer  
       2018-02-09 08:44:32 +08:00 via iPhone
    上 docker 吧,权限配错了问题也不大的。
    eoo
        9
    eoo  
       2018-02-09 09:11:27 +08:00 via Android
    chmod 777 ****.socket
    DuckJK
        10
    DuckJK  
       2018-02-09 09:17:07 +08:00
    @julyclyde 请谷歌 SSRF
    DuckJK
        11
    DuckJK  
       2018-02-09 09:18:25 +08:00
    @julyclyde 看错了,是应该先连上去
    Xrong
        12
    Xrong  
       2018-02-09 09:48:12 +08:00
    [root@proxy ~]# ps -ef | grep nginx
    root 10349 10314 0 09:41 pts/0 00:00:00 grep --color=auto nginx
    root 10708 1 0 Feb08 ? 00:00:00 nginx: master process /usr/local/openresty/nginx/sbin/nginx -c /usr/local/openresty/nginx/conf/nginx.conf
    nginx 10709 10708 0 Feb08 ? 00:01:54 nginx: worker process
    nginx 10710 10708 0 Feb08 ? 00:01:33 nginx: worker process

    [root@proxy ~]# ps -ef | grep php-fpm
    root 1197 1 0 Feb08 ? 00:00:04 php-fpm: master process (/etc/php-fpm.conf)
    php-fpm 2890 1197 0 07:50 ? 00:00:49 php-fpm: pool www
    php-fpm 3288 1197 0 07:59 ? 00:00:47 php-fpm: pool www
    php-fpm 4409 1197 0 08:19 ? 00:00:40 php-fpm: pool www

    [root@proxy ~]# ls -tal /run/php-fpm/www.sock
    srw-rw---- 1 nginx nginx 0 Feb 8 11:29 /run/php-fpm/www.sock

    然后 /etc/php-fpm.d/www.conf 里头的几个重要配置如下
    listen = /run/php-fpm/www.sock
    user = php-fpm
    group = php-fpm
    listen.owner = nginx
    listen.group = nginx

    给楼主参考一下,应该会有所帮助。
    cs8425
        13
    cs8425  
       2018-02-09 16:12:41 +08:00
    @julyclyde #6
    如果本在跑的 php/其他服有 SSRF 的漏洞
    (你很保永不有 SSRF 漏洞的啊)
    就有可能直 127.0.0.1:9000 跑 payload 的
    字: SSRF fcgi
    主是可能的患才想只用 unix socket 的...?
    cxbig
        14
    cxbig  
       2018-02-09 17:08:37 +08:00 via iPhone
    @cs8425 app 有问题,没有有效过滤上传内容和参数。关 fpm 什么事?
    1Tn1lpo7nb8DUMs2
        15
    1Tn1lpo7nb8DUMs2  
       2022-01-25 11:56:23 +08:00
    @julyclyde 我用了快十年了,没听说过 nginx 是系统自带的。
    julyclyde
        16
    julyclyde  
       2022-01-25 13:04:03 +08:00
    @DogeOW 我指的是 linux 发行版里包含的软件包
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4882 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 03:48 PVG 11:48 LAX 19:48 JFK 22:48
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86