溫馨提示×

PHP在Ubuntu上如何配置安全設置

小樊
33
2025-08-09 13:01:51
欄目: 編程語言

以下是在Ubuntu上配置PHP安全設置的關鍵步驟:

  1. 系統更新
    定期更新系統和軟件包,修復安全漏洞:

    sudo apt update && sudo apt upgrade  
    
  2. 配置PHP核心參數(php.ini)

    • 禁用危險函數
      disable_functions = exec, system, passthru, shell_exec, eval  
      
    • 限制文件訪問
      open_basedir = /var/www/html:/tmp  
      
    • 關閉信息泄露
      expose_php = Off  
      display_errors = Off  
      log_errors = On  
      error_log = /var/log/php_errors.log  
      
    • 限制上傳文件
      upload_max_filesize = 2M  
      post_max_size = 8M  
      
  3. 配置PHP-FPM(若使用)

    • 以非特權用戶運行
      編輯/etc/php/{version}/fpm/pool.d/www.conf,設置:
      user = www-data  
      group = www-data  
      listen = /run/php/php{version}-fpm.sock  
      
    • 限制進程資源
      pm.max_children = 50  
      pm.max_requests = 500  
      
  4. 防火墻與網絡隔離

    • 使用UFW限制端口訪問:
      sudo ufw allow 'Nginx Full'  
      sudo ufw deny 9000/tcp  # 若使用TCP端口需注釋掉  
      sudo ufw enable  
      
    • 禁止PHP-FPM監聽公網IP(僅允許本地或Unix socket)。
  5. 安全模塊與加密

    • 啟用ModSecurity(Web應用防火墻):
      sudo apt install libapache2-mod-security2  
      sudo a2enmod security2  
      
    • 強制HTTPS傳輸:
      配置Nginx/Apache啟用SSL/TLS,使用Let’s Encrypt證書。
  6. 權限與日志管理

    • 設置Web根目錄權限:
      sudo chown -R www-data:www-data /var/www/html  
      sudo chmod -R 755 /var/www/html  
      
    • 定期審計日志:
      sudo tail -f /var/log/php_errors.log  
      sudo tail -f /var/log/php{version}-fpm.log  
      
  7. 其他高級措施

    • 禁用不必要的PHP模塊:
      編輯/etc/php/{version}/apache2/php.ini,注釋掉不需要的擴展(如extension=php_mysql.dll)。
    • 使用安全的會話配置:
      session.cookie_httponly = On  
      session.cookie_secure = On  
      session.gc_maxlifetime = 1440  
      

參考來源

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女