在Ubuntu系統下設置PHP的安全性是非常重要的,以下是一些關鍵的安全設置步驟和最佳實踐:
確保你的系統和所有軟件包都是最新的,以防止已知的安全漏洞。
sudo apt update && sudo apt upgrade
安裝一些必要的依賴包,如 software-properties-common
。
sudo apt install software-properties-common
使用官方PPA安裝PHP及其常用擴展,如 php-mysql
、php-xml
、php-curl
等。
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php php-cli php-fpm php-mysql php-xml php-curl
編輯PHP配置文件 php.ini
,進行以下設置:
error_reporting = 0
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
safe_mode = Off
disable_functions = exec, system, passthru, shell_exec, popen, curl, fsockopen, file_get_contents, mkdir, rmdir, rename, unlink, chmod, chown, chgrp, date, time, localtime, gmtime, isset, empty, is_array, is_object, is_resource, is_string, is_int, is_float, is_bool, is_callable, assert
upload_tmp_dir = /path/to/tmp
open_basedir
指令來限制PHP只能訪問指定目錄下的文件。open_basedir = /var/www/html:/tmp
memory_limit = 128M
max_execution_time = 30
post_max_size = 10M
upload_max_filesize = 10M
使用UFW(Uncomplicated Firewall)來保護你的系統。
sudo apt install ufw
sudo ufw enable
sudo ufw allow ssh
為用戶和root賬戶設置復雜且難以猜測的密碼,并禁止直接通過SSH登錄root賬戶。
sudo passwd root
定期備份重要數據,以防止數據丟失。
使用諸如PHP Security Advisories Checker (PHPSA)之類的工具來掃描你的代碼,查找潛在的安全問題。
定期檢查系統、應用程序和安全相關的日志,以便及時發現潛在的安全問題,并持續關注安全動態,及時更新系統和應用程序。
遵循以上步驟和最佳實踐,可以顯著提高Ubuntu系統上PHP運行環境的安全性。請根據你的具體需求和環境進行調整,并在實施時注意配置參數可能因Linux發行版和PHP版本而異。