在Ubuntu上配置PHP-FPM时,可以采取以下安全措施来提高系统的安全性:
配置监听地址和端口:
listen 127.0.0.1:9000
listen.allowed_clients 127.0.0.1
使用非root用户运行PHP-FPM:
/etc/php/{version}/fpm/pool.d/www.conf 中设置 user 和 group 参数。限制文件系统访问:
open_basedir 来限制PHP可以访问的系统目录,防止非法访问。关闭不必要的PHP功能:
display_errors 设置为 Off,并将错误信息记录到日志文件中。register_globals 设置为 Off,以防止表单数据被自动注册为全局变量。php.ini 文件中禁用不必要的函数,如 exec、shell_exec、system 等。启用Suhosin扩展:
配置进程池:
pm.max_children、pm.start_servers、pm.min_spare_servers 和 pm.max_spare_servers,以优化性能并防止资源耗尽攻击。配置防火墙:
ufw(Uncomplicated Firewall)来限制对PHP-FPM端口的访问。例如,允许PHP-FPM端口的访问:sudo ufw allow 9000/tcp
sudo ufw enable
定期更新和监控:
使用HTTPS:
日志审计:
/var/log/php{version}-fpm.log)以发现任何可疑活动。通过上述措施,可以显著提高PHP-FPM在Ubuntu上的安全性。建议根据具体的应用场景和服务器配置,进一步调整和优化这些安全设置。