在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上的安全性。建议根据具体的应用场景和服务器配置,进一步调整和优化这些安全设置。