阅读量:0
以下是在Ubuntu上配置PHP安全设置的关键步骤:
-
系统更新
定期更新系统和软件包,修复安全漏洞:sudo apt update && sudo apt upgrade -
配置PHP核心参数(php.ini)
- 禁用危险函数:
disable_functions = exec, system, passthru, shell_exec, eval - 限制文件访问:
open_basedir = /var/www/html:/tmp - 关闭信息泄露:
expose_php = Off display_errors = Off log_errors = On error_log = /var/log/php_errors.log - 限制上传文件:
upload_max_filesize = 2M post_max_size = 8M
- 禁用危险函数:
-
配置PHP-FPM(若使用)
- 以非特权用户运行:
编辑/etc/php/{version}/fpm/pool.d/www.conf,设置:user = www-data group = www-data listen = /run/php/php{version}-fpm.sock - 限制进程资源:
pm.max_children = 50 pm.max_requests = 500
- 以非特权用户运行:
-
防火墙与网络隔离
- 使用UFW限制端口访问:
sudo ufw allow 'Nginx Full' sudo ufw deny 9000/tcp # 若使用TCP端口需注释掉 sudo ufw enable - 禁止PHP-FPM监听公网IP(仅允许本地或Unix socket)。
- 使用UFW限制端口访问:
-
安全模块与加密
- 启用ModSecurity(Web应用防火墙):
sudo apt install libapache2-mod-security2 sudo a2enmod security2 - 强制HTTPS传输:
配置Nginx/Apache启用SSL/TLS,使用Let’s Encrypt证书。
- 启用ModSecurity(Web应用防火墙):
-
权限与日志管理
- 设置Web根目录权限:
sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www/html - 定期审计日志:
sudo tail -f /var/log/php_errors.log sudo tail -f /var/log/php{version}-fpm.log
- 设置Web根目录权限:
-
其他高级措施
- 禁用不必要的PHP模块:
编辑/etc/php/{version}/apache2/php.ini,注释掉不需要的扩展(如extension=php_mysql.dll)。 - 使用安全的会话配置:
session.cookie_httponly = On session.cookie_secure = On session.gc_maxlifetime = 1440
- 禁用不必要的PHP模块:
参考来源:
以上就是关于“PHP在Ubuntu上如何配置安全设置”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm