Products
96SEO 2025-06-22 15:45 1
在Ubuntu系统中,开启PHP-FPM的平安模式是一项基础且关键的步骤。这样做的优良处是PHP文件只能访问全部者和PHP文件全部者相同的文件,即使在chroot周围下也无法访问jail中属主不同的文件。这对于别让像PHP shell这样的后门打非常有用, PHP shell是一种流行的PHP后门,它兴许被用于不合法访问系统。
sudo apt install selinux-basics selinux-policy-default
sudo setenforce 1
AppArmor是一种轻巧量级的有力制访问控制系统,能帮你管束进程能访问的材料。安装AppArmor并对其配置,能进一步加有力PHP-FPM的平安性。
sudo apt install apparmor apparmor-utilssudo aa-enforce /etc/apparmor.d/php-fpm
确保PHP-FPM以非特权用户和组运行,能少许些潜在的平安凶险。以下命令将PHP-FPM配置为以`www-data`用户和组运行:
sudo apt install php-fpm
sudo usermod -a -G www-data www-data
sudo systemctl restart php7.4-fpm
启用磨蹭日志能帮你监控和调试潜在的性能问题。
sudo sed -i 's/error_log = \/\1磨蹭日志 = /var/log/php-fpm/www_slow.log/' /etc/php/7.4/fpm/php-fpm.conf
sudo systemctl restart php7.4-fpm
定期更新鲜系统和PHP-FPM以修补已知的平安漏洞是确保平安的关键。以下命令能更新鲜系统并安装最新鲜的PHP-FPM版本:
sudo apt update
sudo apt upgrade php-fpm
用ufw或iptables管束对PHP-FPM端口的访问,能别让未授权的访问。以下命令将允许访问9000端口:
sudo ufw allow 9000/tcp
sudo ufw enable
定期检查PHP-FPM的日志文件,监控异常行为,是找到潜在平安问题的有效手段。以下命令能查看PHP-FPM的访问日志:
tail -f /var/log/php-fpm/www
如果你用的是SELinux或AppArmor,能进一步管束PHP-FPM的权限,搞优良平安性。
sudo apt install selinux-basics selinux-policy-default
sudo setenforce 1
通过配置pm.max_children、pm.start_servers、pm.min_spare_servers、pm.max_spare_servers和pm.max_requests参数来管束PHP-FPM进程的数量,能有效控制材料用并搞优良平安性。
pm = dynamic_children
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
编辑/etc/php/{version}/cli/和/etc/php/{version}/fpm/文件,配置以下平安选项:
display_errors = Off
log_errors = On
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
open_basedir = /var/www/html/:/tmp/
disable_functions = exec,passthru,shell_exec,system
通过以上步骤,你能显著搞优良PHP-FPM在Ubuntu系统中的平安性。
Demand feedback