ubuntu

如何确保Ubuntu上PHP-FPM的安全性

小樊
45
2025-08-13 16:08:29
栏目: 编程语言

确保Ubuntu上PHP-FPM的安全性可从以下方面入手:

  1. 系统与软件更新
    定期更新系统和PHP-FPM及相关软件包,修复安全漏洞:

    sudo apt update && sudo apt upgrade -y  
    
  2. 用户与权限配置

    • 以非root用户(如www-data)运行PHP-FPM,在配置文件中指定:
      user = www-data  
      group = www-data  
      
    • 限制文件目录权限,确保Web根目录仅允许必要用户访问:
      sudo chown -R www-data:www-data /var/www/html  
      sudo chmod -R 755 /var/www/html  
      
  3. 配置文件安全设置

    • 限制监听方式:优先使用Unix Socket(如listen = /run/php/php{version}-fpm.sock),避免暴露TCP端口;若需使用TCP,需限制仅本地访问(listen = 127.0.0.1:9000)并配置防火墙。
    • 禁用危险函数:在php.ini中注释或删除execsystem等高风险函数。
    • 控制进程资源:通过pm.max_children等参数限制进程数量,避免资源耗尽攻击。
  4. 防火墙与网络隔离
    使用ufw限制端口访问,仅允许HTTP/HTTPS及必要的管理端口:

    sudo ufw allow 'Nginx Full'  
    sudo ufw enable  
    
  5. 日志与监控

    • 启用PHP-FPM日志记录,定期检查异常行为:
      php_admin_flag[log_errors] = on  
      error_log = /var/log/php-fpm/error.log  
      
    • 部署安全监控工具(如Fail2Ban)识别恶意请求。
  6. 高级安全增强(可选)

    • 启用SELinux或AppArmor限制PHP-FPM权限,禁止访问非必要文件。
    • 部署Web应用防火墙(WAF)拦截恶意流量。

关键操作参考来源

0
看了该问题的人还看了