溫馨提示×

ubuntu下php-fpm的安全設置有哪些

小樊
49
2025-07-13 15:40:21
欄目: 編程語言

在Ubuntu下對php-fpm進行安全加固是一個重要的過程,可以提高服務器的安全性和穩定性。以下是一些關鍵步驟和建議:

更新系統和軟件包

確保系統和所有軟件包都是最新的,以修復已知的安全漏洞:

sudo apt update
sudo apt upgrade

安裝和配置php-fpm

安裝php-fpm及其必要的擴展:

sudo apt install php-fpm php-mysql

配置php-fpm

編輯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,進行以下配置:

  • 用戶和用戶組:將 usergroup 設置為非root用戶和組,例如 user www-data group www-data。
  • 監聽地址和端口:默認情況下,php-fpm監聽127.0.0.1:9000。如果需要更改,請修改 listen 配置項。
  • 進程管理:根據服務器硬件配置調整 pm.max_children(最大子進程數)、pm.start_servers(啟動時的子進程數)等參數。

配置Nginx與php-fpm的連接

編輯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配置(如果適用)

如果使用SELinux或AppArmor,確保它們不會阻止php-fpm的正常運行??赡苄枰O置適當的策略。

定期安全檢查和更新

定期檢查系統和軟件包的安全性,并進行更新:

sudo apt update
sudo apt upgrade

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