温馨提示×

php-fpm在centos上如何安全设置

小樊
34
2025-12-27 04:49:12
栏目: 编程语言

在CentOS上安全设置PHP-FPM,可以遵循以下步骤:

  1. 安装PHP-FPM: 使用yum安装PHP-FPM。例如,要安装PHP 7.4,请运行以下命令:

    sudo yum install epel-release
    sudo yum install php74-php-fpm
    
  2. 配置PHP-FPM: 编辑PHP-FPM配置文件,通常位于/etc/php-fpm.d/www.conf。使用文本编辑器打开文件,例如:

    sudo vi /etc/php-fpm.d/www.conf
    
  3. 更改监听模式: 在www.conf文件中,找到listen指令。默认情况下,它可能设置为127.0.0.1:9000。将其更改为unix:/tmp/php-fpm.sock,以便使用Unix套接字进行通信,而不是TCP/IP。这将提高安全性,因为只有本地进程可以访问套接字。

    listen = /tmp/php-fpm.sock
    
  4. 设置用户和组: 确保PHP-FPM以非root用户身份运行。在www.conf文件中,找到usergroup指令,并将它们设置为非特权用户和组,例如apachenginx

    user = apache
    group = apache
    
  5. 限制访问权限: 在www.conf文件中,找到listen.allowed_clients指令。默认情况下,它可能为空,允许所有客户端连接。为了提高安全性,限制允许连接的IP地址范围。例如,只允许本地服务器连接:

    listen.allowed_clients = 127.0.0.1
    
  6. 禁用危险函数: 在php.ini文件中,禁用可能导致安全问题的危险函数。编辑/etc/php.ini文件,例如:

    sudo vi /etc/php.ini
    

    在文件中找到disable_functions指令,并添加要禁用的函数。例如:

    disable_functions = eval,exec,passthru,shell_exec,system
    
  7. 设置文件权限: 确保PHP文件和目录具有适当的权限。通常,文件权限应设置为644,目录权限应设置为755。使用chmodchown命令设置权限。

  8. 配置防火墙: 如果您的服务器运行防火墙,请确保仅允许必要的端口(如HTTP和HTTPS)通过。例如,使用firewalld:

    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd --reload
    
  9. 定期更新和监控: 定期更新PHP和PHP-FPM以获取最新的安全补丁。同时,监控服务器日志以检测潜在的安全问题。

遵循以上步骤,您可以在CentOS上安全地设置PHP-FPM。

0