ubuntu

Ubuntu PHP环境如何安全设置

小樊
57
2025-08-07 12:40:54
栏目: 编程语言

以下是Ubuntu PHP环境的安全设置要点:

  1. 系统更新
    定期更新系统和软件包,修复安全漏洞:

    sudo apt update && sudo apt upgrade  
    
  2. PHP配置优化

    • 编辑php.ini
      • 禁用危险函数:disable_functions=exec,system,passthru,shell_exec
      • 限制文件上传:upload_max_filesize=2Mpost_max_size=8M
      • 禁止远程代码执行:allow_url_fopen=Offallow_url_include=Off
      • 隐藏PHP版本:expose_php=Offdisplay_errors=Offlog_errors=On
      • 限制访问目录:open_basedir=/var/www/html:/tmp
    • 若使用PHP-FPM,配置www.conf
      • 以非root用户运行:user=www-datagroup=www-data
      • 监听本地socket:listen=/run/php/php{version}-fpm.sock
  3. Web服务器安全

    • Apache
      • 启用安全模块:sudo a2enmod security2 mod_evasive
      • 隐藏版本信息:ServerTokens ProdServerSignature Off
    • Nginx
      • 禁止访问敏感文件:在配置中添加location ~* \.(php|conf)$ { deny all; }
  4. 防火墙与权限管理

    • 使用UFW限制端口访问:
      sudo ufw allow 'Nginx Full'  
      sudo ufw deny 9000/tcp  # 若PHP-FPM使用TCP端口需放行  
      sudo ufw enable  
      
    • 设置文件权限:
      sudo chown -R www-data:www-data /var/www/html  
      sudo chmod -R 755 /var/www/html  
      
  5. 加密与日志监控

    • 启用HTTPS(Let’s Encrypt):
      sudo apt install certbot python3-certbot-nginx  
      sudo certbot --nginx  
      
    • 监控日志:定期查看/var/log/php{version}-fpm.log和Web服务器访问日志
  6. 其他安全措施

    • 禁用root远程登录:修改/etc/ssh/sshd_config,设置PermitRootLogin no
    • 定期备份数据,使用版本控制工具管理代码

参考来源:

0
看了该问题的人还看了