首页主机资讯php配置中centos安全设置有哪些

php配置中centos安全设置有哪些

时间2025-11-28 02:12:05发布访客分类主机资讯浏览1365
导读:CentOS 下 PHP 安全配置要点 一 系统与网络基础加固 保持系统与软件包为最新,及时修补漏洞:执行 sudo yum update。 仅开放必要端口,使用 firewalld 放行 80/443: sudo yum install...

CentOS 下 PHP 安全配置要点

一 系统与网络基础加固

  • 保持系统与软件包为最新,及时修补漏洞:执行 sudo yum update
  • 仅开放必要端口,使用 firewalld 放行 80/443
    sudo yum install -y firewalld
    sudo systemctl start firewalld & & sudo systemctl enable firewalld
    sudo firewall-cmd --permanent --add-service=http --add-service=https
    sudo firewall-cmd --reload
  • 全站启用 HTTPS(安装 mod_ssl 并配置证书),避免明文传输敏感数据。
  • 启用并配置 SELinuxenforcing,减少权限滥用风险。

二 PHP 运行时核心配置 php.ini

  • 关闭错误显示、开启日志记录:
    display_errors = Off
    log_errors = On
    error_log = /var/log/php_errors.log(确保目录与文件可写且仅管理员可读)
  • 隐藏版本信息:expose_php = Off。
  • 禁用危险函数(按应用需要精简):
    disable_functions = exec,system,passthru,shell_exec,proc_open,popen,eval,assert,symlink,link,escapeshellarg,escapeshellcmd
  • 限制远程包含与协议访问:allow_url_fopen = Off,allow_url_include = Off。
  • 目录访问隔离:open_basedir = /var/www/html:/tmp(路径按实际站点调整)。
  • 文件上传控制(仅在确需上传时开启):file_uploads = On,upload_max_filesize = 2M,post_max_size = 8M(post 略大于 upload)。
  • 会话安全:session.cookie_httponly = 1,session.cookie_secure = 1(启用 HTTPS 时),session.use_strict_mode = 1,合理设置 session.gc_maxlifetime。
  • 其他历史风险项:register_globals 已在 PHP 5.4 移除;magic_quotes_gpc/runtime/sybase 已废弃,现代应用应使用参数化查询与输入过滤替代。

三 PHP-FPM 与进程权限

  • 运行身份降权:在 /etc/php-fpm.d/www.conf 中设置非 root 用户与组,例如:user = apache,group = apache(与 Web 服务器运行用户保持一致)。
  • 按虚拟主机或目录细化 open_basedir、上传目录权限与进程池隔离,减少单点被突破后的横向影响。

四 可选增强与注意事项

  • 使用 OPcache 提升性能并减少暴露源码的风险(仅启用必要缓存,不暴露调试信息):
    opcache.enable=1,opcache.memory_consumption=128,opcache.interned_strings_buffer=8,opcache.max_accelerated_files=4000,opcache.revalidate_freq=60,opcache.fast_shutdown=1。
  • Web 应用防火墙:部署 ModSecurity 并结合规则集过滤常见攻击向量。
  • 历史机制提示:PHP 的 safe_mode5.4 起已移除,不应依赖,改用最小权限、open_basedir、禁用危险函数等现代手段。
  • 扩展安装提示:php-mcrypt 在新版本 PHP 中可能已移除,按实际仓库与版本选择替代方案或弃用相关功能。

五 变更生效与验证

  • 修改 php.iniwww.conf 后,重启服务:
    • Apache:sudo systemctl restart httpd
    • PHP-FPM:sudo systemctl restart php-fpm
  • 验证要点:
    • 访问不存在的资源不应显示 PHP 错误堆栈
    • 响应头不应出现 X-Powered-By: PHP/x.y.z
    • 远程包含与危险函数调用被阻断;
    • 80/443 对外开放,站点可通过 HTTPS 正常访问。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: php配置中centos安全设置有哪些
本文地址: https://pptw.com/jishu/758594.html
Linux Trigger在大数据处理中的作用 centos中php如何提高执行效率

游客 回复需填写必要信息