RedHatPHP安全配置指南与技巧
时间:2025-12-18 23:21:48 108浏览 收藏
本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《Red Hat PHP安全配置详解教程》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~
首先修改php.ini隐藏版本信息并关闭错误显示,接着禁用exec等危险函数防止命令执行,然后限制文件上传大小与执行权限,再启用OpenSSL强制HTTPS传输,最后配置PHP-FPM使用非特权用户和扩展限制以提升安全性。

如果您在Red Hat系统上部署PHP应用,但未正确配置安全参数,则可能导致信息泄露、远程代码执行等高风险漏洞。为确保Web服务的安全性,必须对PHP的配置文件进行精细化调整。
本文运行环境:Dell PowerEdge R750,CentOS Stream 9
一、修改PHP配置文件中的敏感选项
通过禁用危险函数和限制文件访问权限,可有效降低服务器被恶意利用的风险。编辑主配置文件php.ini是实施这些安全策略的基础步骤。
1、使用命令 sudo vi /etc/php.ini 打开PHP配置文件。
2、查找 expose_php = On 并将其值改为 Off,以隐藏服务器上的PHP版本信息。
3、定位到 display_errors = On,将其设置为 Off,防止错误信息暴露路径或数据库结构。
4、将 log_errors = Off 修改为 On,并确保 error_log 指向一个受保护的日志文件路径,例如 /var/log/php_errors.log。
二、禁用危险的PHP函数
某些内置函数如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。
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脚本。
四、启用OpenSSL并强制加密连接
确保所有数据传输均通过加密通道进行,避免敏感信息在传输过程中被截获。
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安全参数(如使用)
当使用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 扩展被执行,阻止上传其他类型脚本运行。
到这里,我们也就讲完了《RedHatPHP安全配置指南与技巧》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于PHP环境搭建的知识点!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
451 收藏
-
255 收藏
-
132 收藏
-
373 收藏
-
287 收藏
-
257 收藏
-
216 收藏
-
363 收藏
-
135 收藏
-
325 收藏
-
164 收藏
-
425 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习