ubuntu

ubuntu下php-fpm安全设置有哪些

小樊
46
2025-10-26 23:57:16
栏目: 编程语言

1. 更新系统与PHP-FPM至最新版本
定期执行sudo apt update && sudo apt upgrade -y,确保Ubuntu系统、PHP核心及PHP-FPM组件为最新版本,及时修复已知安全漏洞。

2. 配置PHP-FPM以非特权用户/组运行
编辑PHP-FPM进程池配置文件(路径通常为/etc/php/{version}/fpm/pool.d/www.conf),将usergroup设置为非root用户(如www-data),降低权限滥用风险。

3. 限制PHP-FPM进程数量
www.conf中调整进程管理参数,避免过多进程消耗系统资源:

4. 配置监听地址与权限
修改www.conf中的listen指令,优先使用Unix socket(如/run/php/php{version}-fpm.sock)替代TCP端口(如127.0.0.1:9000),减少网络暴露风险;若使用socket,需设置正确权限:

sudo chown www-data:www-data /run/php/php{version}-fpm.sock  
sudo chmod 755 /run/php/php{version}-fpm.sock  
```。  

**5. 禁用危险函数与限制文件访问**  
- 在`php.ini`中禁用高危函数(如`exec`、`system`、`passthru`、`shell_exec`),防止恶意代码执行:  
  ```ini
  disable_functions = exec,passthru,shell_exec,system

6. 关闭错误显示与配置日志

7. 配置防火墙限制访问
使用ufw(Uncomplicated Firewall)限制对PHP-FPM端口的访问:

8. 使用SELinux或AppArmor增强权限控制

9. 定期监控与日志审计
定期检查PHP-FPM日志文件(/var/log/php-fpm/error.log/var/log/php-fpm/www-slow.log),使用工具(如fail2ban)监控异常进程(如频繁崩溃的进程),及时发现并处理潜在攻击。

10. 启用HTTPS加密传输
使用Let’s Encrypt免费获取SSL证书,配置Nginx/Apache启用HTTPS,加密客户端与服务器之间的数据传输,防止中间人攻击:

sudo apt install certbot python3-certbot-nginx  
sudo certbot --nginx -d yourdomain.com  
```。

0
看了该问题的人还看了