系統級安全強化
www-data)運行;網站目錄權限設置為文件644、目錄755,避免PHP直接操作靜態文件(如將靜態文件處理交給Web服務器)。enforcing模式;安裝并配置AppArmor,對PHP-FPM等服務進行進程隔離,限制其對系統資源的非法訪問。PHP自身配置安全
php.ini禁用高危函數(如exec、system、passthru、eval),防止惡意代碼執行;禁用allow_url_fopen和allow_url_include,阻斷遠程文件包含/執行攻擊;設置expose_php = Off,避免HTTP頭部泄露PHP版本信息。open_basedir參數將PHP腳本限制在指定目錄(如/var/www/html),防止越權訪問系統敏感文件(如/etc/passwd)。opcache加速腳本執行,同時減少源碼暴露風險;設置display_errors = Off(生產環境),將錯誤信息記錄到專用日志文件(如/var/log/php_errors.log),避免敏感信息泄露。Web服務器層防護
server_tokens off);關閉不必要的模塊(如Apache的autoindex模塊防止目錄列表)。limit_req_zone限制請求頻率(如每秒10次),抵御暴力破解;配置deny規則拒絕惡意IP訪問。.php文件通過FastCGI解析(如Nginx的location ~ \.php$塊),禁止上傳目錄執行PHP(如location ^~ /uploads/ { deny all; })。ssl_protocols TLSv1.2 TLSv1.3),保護數據傳輸安全。數據庫安全防護
mysql_secure_installation設置強密碼(包含大小寫字母、數字、特殊字符);刪除默認數據庫(如test)和匿名用戶;限制遠程訪問(僅允許localhost或信任IP),啟用SSL加密連接(如REQUIRE SSL)。600)。持續維護與監控
apt update && apt upgrade定期更新系統、PHP及依賴庫(如OpenSSL、GD庫),及時修復已知漏洞;優先升級到PHP最新穩定版本(如PHP 8.x),獲取最新安全特性。/var/log/syslog、/var/log/nginx/error.log、/var/log/php_errors.log等日志,使用fail2ban等工具自動封禁頻繁攻擊的IP;制定應急響應流程(如數據泄露時立即隔離服務器、恢復備份、修復漏洞)。/var/www/html)和數據庫(如mysqldump),備份文件存儲在異地(如云存儲),確保災難發生時可快速恢復。額外安全增強措施
session_regenerate_id()定期更換會話ID,防止會話固定攻擊;將會話數據存儲在安全目錄(如/var/lib/php/sessions),設置session.cookie_httponly = On和session.cookie_secure = On(HTTPS環境下),防止XSS竊取會話。