在Ubuntu系统上配置PHP-FPM时,安全性是一个重要的考虑因素。以下是一些关键的安全配置要点:
使用非root用户运行PHP-FPM:
www-data用户和组运行。配置监听地址和端口:
ufw)限制访问。设置进程池参数:
pm.max_children:控制进程池中最多能有多少个进程,根据服务器的内存和负载情况设置。pm.start_servers:PHP-FPM启动时创建的进程数。pm.min_spare_servers和pm.max_spare_servers:定义进程池中的最小和最大空闲进程数。pm.max_requests:每个子进程在重启前处理的请求数,防止内存泄漏。限制资源使用:
rlimit_files和rlimit_core限制PHP-FPM进程可以打开的文件数量和核心转储文件大小,防止资源耗尽攻击。配置日志文件:
启用错误日志和慢查询日志:
php_flag[display_errors]:关闭错误信息显示,防止敏感信息泄露。php_admin_value[error_log]:指定错误日志路径。php_admin_flag[log_errors]:开启错误日志记录。php_admin_value[error_reporting]:设置错误报告级别,记录所有信息。使用安全的文件权限:
定期更新和监控:
php-fpm-status)监控PHP-FPM的运行状态,及时发现和处理异常。配置防火墙:
ufw或iptables限制对PHP-FPM端口的访问,仅允许必要的IP访问。通过以上配置,可以显著提高Ubuntu系统上PHP-FPM的安全性,减少潜在的安全风险。