Ubuntu PHP-FPM的安全策略主要包括以下几个方面:
更新系统和软件包:
sudo apt update sudo apt upgrade 安装PHP和PHP-FPM:
sudo apt install php php-fpm php-mysql php-curl php-gd php-imagick php-mbstring php-zip 配置PHP.ini:
memory_limit设置内存使用上限,防止单个脚本消耗过多内存。upload_max_filesize和post_max_size限制上传文件的大小。eval()、exec()等危险函数。display_errors设置为Off,并通过error_reporting设置错误报告级别。memory_limit = 256M upload_max_filesize = 128M post_max_size = 128M display_errors = Off error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_WARNING 配置PHP-FPM:
user和group配置项指定非root用户和用户组运行PHP-FPM。127.0.0.1:9000,确保只接受本地访问。pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers和pm.max_requests等参数设置进程池的行为,例如限制最大子进程数和每个进程的最大请求数。user = www-data group = www-data listen = 127.0.0.1:9000 pm.max_children = 50 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 35 pm.max_requests = 500 重启服务:
sudo systemctl restart php{version}-fpm sudo systemctl restart nginx 配置防火墙:
sudo ufw allow 'Nginx Full' sudo ufw enable SELinux/AppArmor配置(可选):
sudo semanage fcontext -a -t httpd_sys_content_t "/var/www/html(/.*)?" sudo restorecon -Rv /var/www/html 定期更新和监控:
通过上述步骤,可以有效地加固Ubuntu上的php-fpm环境,提高系统的安全性。建议定期审查和更新安全配置,以应对新的安全威胁。