温馨提示×

centos下php安全设置方法

小樊
46
2025-08-26 16:16:05
栏目: 编程语言

以下是CentOS下PHP安全设置方法:

  1. 更新系统和PHP

    sudo yum update -y  
    sudo yum install epel-release -y  
    sudo yum install php php-fpm php-mysqlnd php-gd php-mbstring -y  # 安装必要模块  
    
  2. 配置PHP安全参数
    编辑/etc/php.ini

    • 错误处理:关闭错误显示,记录日志
      display_errors = Off  
      log_errors = On  
      error_log = /var/log/php_errors.log  
      
    • 文件上传限制
      file_uploads = On  
      upload_max_filesize = 2M  
      post_max_size = 8M  
      
    • 会话安全
      session.cookie_httponly = On  
      session.cookie_secure = On  
      session.cookie_samesite = Strict  
      
    • 禁用危险函数(根据实际需求选择)
      disable_functions = eval,exec,shell_exec,passthru,curl_exec  
      
  3. 配置PHP-FPM(如使用)
    编辑/etc/php-fpm.d/www.conf

    • 设置非root用户运行
      user = apache  
      group = apache  
      listen.owner = apache  
      listen.group = apache  
      listen.mode = 0660  
      
    • 限制可执行文件类型
      security.limit_extensions = .php  
      
  4. 启用防火墙与HTTPS

    • 配置firewalld开放HTTP/HTTPS端口
      sudo firewall-cmd --permanent --add-service=http  
      sudo firewall-cmd --permanent --add-service=https  
      sudo firewall-cmd --reload  
      
    • 安装SSL证书(以Nginx为例)
      sudo yum install mod_ssl  
      sudo vi /etc/nginx/conf.d/ssl.conf  # 配置证书路径  
      sudo systemctl restart nginx  
      
  5. 安装安全模块(可选)

    • 启用ModSecurity(Web应用防火墙)
      sudo yum install mod_security  
      sudo systemctl enable mod_security  
      
  6. 定期维护

    • 定期更新系统和软件包
    • 备份网站数据与数据库
    • 监控日志文件(如/var/log/php_errors.log

注意:部分配置(如disable_functions)需根据实际应用调整,避免影响正常功能。

0