运维

运维

Products

当前位置:首页 > 运维 >

如何通过让Ubuntu中php-fpm安全策略更上一层楼?

96SEO 2025-06-22 15:45 1


一、 开启平安模式,筑牢第一道防线

在Ubuntu系统中,开启PHP-FPM的平安模式是一项基础且关键的步骤。这样做的优良处是PHP文件只能访问全部者和PHP文件全部者相同的文件,即使在chroot周围下也无法访问jail中属主不同的文件。这对于别让像PHP shell这样的后门打非常有用, PHP shell是一种流行的PHP后门,它兴许被用于不合法访问系统。

Ubuntu中php-fpm如何实现安全策略
sudo apt install selinux-basics selinux-policy-default
sudo setenforce 1

二、 安装并配置AppArmor

AppArmor是一种轻巧量级的有力制访问控制系统,能帮你管束进程能访问的材料。安装AppArmor并对其配置,能进一步加有力PHP-FPM的平安性。

sudo apt install apparmor apparmor-utilssudo aa-enforce /etc/apparmor.d/php-fpm

三、 配置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

四、启用PHP-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

如果你用的是SELinux或AppArmor,能进一步管束PHP-FPM的权限,搞优良平安性。

sudo apt install selinux-basics selinux-policy-default
sudo setenforce 1

九、 管束PHP-FPM进程数量

通过配置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

十、 配置PHP的平安选项

编辑/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系统中的平安性。


标签: ubuntu

提交需求或反馈

Demand feedback