php-fpm在ubuntu上如何进行安全加固

602
2025/3/16 15:32:45
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu上对php-fpm进行安全加固是一个重要的过程,可以提高服务器的安全性和稳定性。以下是一些关键步骤和建议:

更新系统和软件包

确保系统和所有软件包都是最新的,以修复已知的安全漏洞:

sudo apt update
sudo apt upgrade

安装和配置php-fpm

安装php-fpm及其必要的扩展:

sudo apt install php-fpm php-mysql

配置php-fpm

编辑php-fpm的主要配置文件 /etc/php/版本号/fpm/php.ini,进行以下配置:

  • 限制内存使用:例如,memory_limit = 256M 防止单个脚本消耗过多内存。
  • 限制上传文件大小upload_max_filesize = 10M 防止大文件上传。
  • 禁用危险函数:例如,disable_functions = eval, exec, system 防止执行恶意代码。
  • 设置正确的文档根目录doc_root = /var/www/html 确保网站文件存储在非Web根目录下。

配置进程池

编辑php-fpm的进程管理配置文件 /etc/php/版本号/fpm/pool.d/www.conf,进行以下配置:

  • 用户和用户组:将 usergroup 设置为非root用户和组,例如 user = www-data group = www-data
  • 监听地址和端口:默认情况下,php-fpm监听127.0.0.1:9000。如果需要更改,请修改 listen 配置项。
  • 进程管理:根据服务器硬件配置调整 pm.max_children(最大子进程数)、pm.start_servers(启动时的子进程数)等参数。

配置Nginx与php-fpm的连接

编辑Nginx的配置文件 /etc/nginx/conf.d/default.conf,添加以下配置段:

location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass unix:/var/run/php/php版本号-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

重启服务

重启php-fpm和Nginx服务以应用更改:

sudo systemctl restart php{版本号}-fpm
sudo systemctl restart nginx

防火墙配置

配置防火墙允许外部访问php-fpm(如果需要):

sudo ufw allow 'Nginx Full'

SELinux/AppArmor配置(如果适用)

如果使用SELinux或AppArmor,确保它们不会阻止php-fpm的正常运行。可能需要设置适当的策略。

定期安全检查和更新

定期检查系统和软件包的安全性,并进行更新:

sudo apt update
sudo apt upgrade

通过以上步骤,可以显著提高php-fpm在Ubuntu上的安全性。建议定期审查和更新安全配置,以应对新的安全威胁。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: ubuntu dopra怎么安装