首先修改php.ini隐藏版本信息并关闭错误显示,接着禁用exec等危险函数防止命令执行,然后限制文件上传大小与执行权限,再启用OpenSSL强制HTTPS传输,最后配置PHP-FPM使用非特权用户和扩展限制以提升安全性。

如果您在Red Hat系统上部署PHP应用,但未正确配置安全参数,则可能导致信息泄露、远程代码执行等高风险漏洞。为确保Web服务的安全性,必须对PHP的配置文件进行精细化调整。
本文运行环境:Dell PowerEdge R750,CentOS Stream 9
通过禁用危险函数和限制文件访问权限,可有效降低服务器被恶意利用的风险。编辑主配置文件php.ini是实施这些安全策略的基础步骤。
1、使用命令 sudo vi /etc/php.ini 打开PHP配置文件。
立即学习“PHP免费学习笔记(深入)”;
2、查找 expose_php = On 并将其值改为 Off,以隐藏服务器上的PHP版本信息。
3、定位到 display_errors = On,将其设置为 Off,防止错误信息暴露路径或数据库结构。
4、将 log_errors = Off 修改为 On,并确保 error_log 指向一个受保护的日志文件路径,例如 /var/log/php_errors.log。
某些内置函数如exec、system等可能被攻击者用于执行操作系统命令。通过在配置中禁用这些函数,可以显著提升系统的抗攻击能力。
1、在 php.ini 文件中找到 disable_functions 指令。
2、添加以下函数列表:exec,passthru,shell_exec,system,proc_open,popen,eval,assert,多个函数间用英文逗号分隔。
3、保存更改后执行 sudo systemctl restart httpd 重启Web服务使配置生效。
不当的文件上传配置可能允许攻击者上传并执行恶意脚本。应严格控制上传行为及其存储位置的执行权限。
1、确认 php.ini 中 file_uploads = On 已启用,然后设置 upload_max_filesize 不超过 2M。
本书图文并茂,详细讲解了使用LAMP(PHP)脚本语言开发动态Web程序的方法,如架设WAMP平台,安装与配置开源Moodle平台,PHP程序设计技术,开发用户注册与验证模块,架设LAMP平台。 本书适合计算机及其相关专业本、专科学生作为学习LAMP(PHP)程序设计或动态Web编程的教材使用,也适合对动态Web编程感兴趣的读者自觉使用,对LAMP(PHP)程序设计人员也具有一定的参考价值。
713
2、修改 open_basedir 指令,限定PHP脚本只能访问指定目录,例如:/var/www/html:/tmp。
3、对于存放上传文件的目录(如 uploads),使用命令 sudo chmod 750 /var/www/html/uploads 移除执行权限。
4、在Apache虚拟主机配置中添加 php_admin_value engine off 到该目录块,禁止解析PHP脚本。
确保所有数据传输均通过加密通道进行,避免敏感信息在传输过程中被截获。
1、安装OpenSSL扩展:sudo dnf install php-openssl。
2、检查 php.ini 是否已加载 openssl 扩展,确认行 extension=openssl 未被注释。
3、在Web服务器配置中启用HTTPS,并重定向HTTP请求至HTTPS端口。
4、设置会话cookie的secure标志:session.cookie_secure = On,仅通过加密连接发送会话ID。
当使用PHP-FPM处理动态内容时,需隔离用户进程并限制资源使用,防止越权访问和拒绝服务攻击。
1、编辑对应池配置文件,通常位于 /etc/php-fpm.d/www.conf。
2、设置 user 和 group 为非特权用户,例如 apache 或 www-data。
3、启用 catch_workers_output = yes 以捕获子进程输出日志。
4、配置 security.limit_extensions 只允许 .php 扩展被执行,阻止上传其他类型脚本运行。
以上就是如何在Red Hat上配置PHP安全设置的详细教程?的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号