在Ubuntu系統下進行PHP安全設置,可以遵循以下步驟和最佳實踐:
首先,確保系統和所有軟件包都是最新的:
sudo apt update
sudo apt upgrade
編輯 /etc/php/7.x/apache2/php.ini(根據你的PHP版本調整路徑),設置以下參數:
expose_php = Off
display_errors = Off
log_errors = On
error_reporting = E_ALL
在生產環境中,關閉詳細的錯誤報告,只顯示必要的信息??梢栽?php.ini 中設置:
display_errors = Off
log_errors = On
error_reporting = E_ALL
在 php.ini 中禁用不安全的函數,例如:
disable_functions = eval, exec, system, passthru, shell_exec, popen, curl_exec, curl_multi_exec, parse_ini_file, show_source
在 php.ini 中設置:
upload_max_filesize = 2M
post_max_size = 8M
使用 open_basedir 限制PHP可以訪問的系統目錄:
open_basedir = /var/www:/tmp
在 /etc/apache2/apache2.conf 或 /etc/apache2/sites-available/000-default.conf 中設置:
ServerTokens Prod
ServerSignature Off
啟用 mod_security 和 mod_evasive 等Apache模塊來防止攻擊:
sudo a2enmod security2
sudo a2enmod evasive2
確保你的應用程序文件和目錄具有適當的訪問權限。例如,使用 chown 和 chmod 命令設置目錄和文件的所有者和權限:
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
通過SSL/TLS加密所有傳輸數據,使用Let’s Encrypt等工具為你的網站獲取免費的SSL證書:
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
定期更新Apache和PHP到最新版本,并關注安全公告,及時應用安全補丁。
啟用并監控訪問日志和錯誤日志,使用入侵檢測系統(IDS)監控可疑活動。
使用諸如PHP Security Advisories Checker(PHPSA)之類的工具來掃描你的代碼,查找潛在的安全問題。