ubuntu下php-fpm安全设置有哪些
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),将user和group设置为非root用户(如www-data),降低权限滥用风险。
3. 限制PHP-FPM进程数量
在www.conf中调整进程管理参数,避免过多进程消耗系统资源:
pm = dynamic(动态进程管理模式);pm.max_children(最大子进程数,根据服务器内存调整,如50);pm.start_servers(启动时的子进程数,如5);pm.min_spare_servers(最小空闲进程数,如5);pm.max_spare_servers(最大空闲进程数,如35);pm.max_requests(每个进程处理的最大请求数,如500,防止内存泄漏积累)。
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
- 使用
open_basedir限制PHP脚本可访问的目录(如/var/www/html/:/tmp/),避免访问敏感系统文件。
6. 关闭错误显示与配置日志
- 在
php.ini中关闭错误显示(防止敏感信息泄露):display_errors = Off - 开启错误日志记录(便于排查问题):
log_errors = On error_log = /var/log/php-fpm/error.log - 在
www.conf中开启慢日志(监控性能瓶颈与潜在攻击):request_slowlog_timeout = 10s slowlog = /var/log/php-fpm/www-slow.log ```。
7. 配置防火墙限制访问
使用ufw(Uncomplicated Firewall)限制对PHP-FPM端口的访问:
- 若使用TCP端口(如9000),执行:
sudo ufw allow 9000/tcp - 若使用Unix socket,无需额外防火墙规则(仅本地访问);最后启用防火墙:
sudo ufw enable ```。
8. 使用SELinux或AppArmor增强权限控制
- AppArmor(Ubuntu默认启用):编辑PHP-FPM的AppArmor配置文件(
/etc/apparmor.d/usr.sbin.php-fpm),添加或修改规则限制其访问路径(如/var/www/html/),然后强制执行:sudo aa-enforce /etc/apparmor.d/usr.sbin.php-fpm - SELinux:若启用SELinux,设置适当的布尔值(如
httpd_can_network_connect_db)限制网络访问,或创建自定义策略。
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
```。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu下php-fpm安全设置有哪些
本文地址: https://pptw.com/jishu/735733.html
