首页主机资讯centos php如何安全防护

centos php如何安全防护

时间2025-12-09 22:33:03发布访客分类主机资讯浏览1418
导读:CentOS 上 PHP 安全防护实操清单 系统与基础防护 保持系统与软件为最新:执行 sudo yum update -y,及时修补漏洞。 启用并配置 Firewalld,仅开放必要端口(HTTP/HTTPS): sudo yum in...

CentOS 上 PHP 安全防护实操清单

系统与基础防护

  • 保持系统与软件为最新:执行 sudo yum update -y,及时修补漏洞。
  • 启用并配置 Firewalld,仅开放必要端口(HTTP/HTTPS):
    sudo yum install -y firewalld
    sudo systemctl start firewalld & & sudo systemctl enable firewalld
    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd --reload
  • 使用 HTTPS:安装 mod_ssl 并配置证书,重启 httpd
  • 运行最小化服务与最小权限账户,禁用不必要的端口与服务,降低攻击面。

PHP 运行时安全配置

  • 关闭错误显示、开启错误日志:
    display_errors = Off
    log_errors = On
    error_log = /var/log/php_errors.log
  • 禁用危险函数(按应用需求精简):
    disable_functions = eval,exec,passthru,shell_exec,system,proc_open,popen,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,phpinfo
  • 限制文件访问与上传:
    open_basedir = /var/www/html:/tmp
    file_uploads = On
    upload_max_filesize = 2M
    post_max_size = 8M
  • 关闭远程包含:
    allow_url_fopen = Off
    allow_url_include = Off
  • 资源与性能硬化(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
  • 兼容性与历史选项说明:
    • 新版本 PHP 已移除 safe_mode(无需设置)。
    • register_globals 在 PHP 5.4+ 已移除,无需配置。
    • 若使用 PHP-FPM,确保池配置以非 root 运行(如:user=apache, group=apache)。

Web 服务器与进程隔离

  • 进程隔离与最小权限:
    • Apache:以 apache 等非 root 用户运行。
    • PHP-FPM:在 /etc/php-fpm.d/www.conf 中设置 user/group 为非 root,并分离 listen(如 127.0.0.1:9000/run/php-fpm.sock),配合 Nginx/Apache 的 proxy_fcgifcgi 方式转发。
  • 静态资源与动态请求分离,限制上传目录执行权限(如 Nginx 配置 location ~* ^/uploads/.*.(php|phar)$ { deny all; } )。
  • 仅开放 80/443,隐藏版本信息,启用 mod_security 等 WAF 进行请求过滤与规则拦截。

应用与数据库安全

  • 输入校验与输出转义:使用 filter_var() 校验输入,输出使用 htmlspecialchars()XSS
  • 防注入:全部使用 预处理语句/参数化查询(PDO/MySQLi)。
  • 会话与认证:设置 session.cookie_httponly=1session.cookie_secure=1(仅 HTTPS)、session.use_strict_mode=1;密码使用 password_hash()/password_verify()
  • 文件上传安全:校验 MIME 类型/文件头/扩展名,限制大小,重命名存储,隔离到非 Web 可执行目录,必要时进行 病毒扫描
  • 框架安全:启用 CSRF 令牌、设置 SameSite Cookie、配置 CSP 策略。

运维与持续加固

  • 持续更新与补丁:系统与 PHP 定期 yum update,关注安全公告。
  • 备份与恢复演练:定期备份 /var/www/html 与数据库(如 mysqldump),并进行可恢复性验证。
  • 日志与监控:集中收集 PHP-FPM 访问/慢日志Web 服务器日志,设置告警。
  • 安全基线巡检:周期性核查 php.iniwww.confhttpd/ssl 配置 与系统账户权限。

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


若转载请注明出处: centos php如何安全防护
本文地址: https://pptw.com/jishu/767591.html
centos php如何扩展功能 centos php如何解决报错

游客 回复需填写必要信息