在Ubuntu下對php-fpm進行安全加固是一個重要的過程,可以提高服務器的安全性和穩定性。以下是一些關鍵步驟和建議:
確保系統和所有軟件包都是最新的,以修復已知的安全漏洞:
sudo apt update
sudo apt upgrade
安裝php-fpm及其必要的擴展:
sudo apt install php-fpm php-mysql
編輯php-fpm的主要配置文件 /etc/php/{version}/fpm/php.ini,進行以下配置:
memory_limit 256M 防止單個腳本消耗過多內存。upload_max_filesize 10M 防止大文件上傳。disable_functions eval, exec, system 防止執行惡意代碼。doc_root /var/www/html 確保網站文件存儲在非Web根目錄下。編輯php-fpm的進程管理配置文件 /etc/php/{version}/fpm/pool.d/www.conf,進行以下配置:
user 和 group 設置為非root用戶和組,例如 user www-data group www-data。listen 配置項。pm.max_children(最大子進程數)、pm.start_servers(啟動時的子進程數)等參數。編輯Nginx的配置文件 /etc/nginx/conf.d/default.conf,添加以下配置段:
location \.php {
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php{version}-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME document_root ${document_root}${fastcgi_script_name};
}
重啟php-fpm和Nginx服務以應用更改:
sudo systemctl restart php{version}-fpm
sudo systemctl restart nginx
配置防火墻允許外部訪問php-fpm(如果需要):
sudo ufw allow 'Nginx Full'
如果使用SELinux或AppArmor,確保它們不會阻止php-fpm的正常運行??赡苄枰O置適當的策略。
定期檢查系統和軟件包的安全性,并進行更新:
sudo apt update
sudo apt upgrade