以下是在Ubuntu上配置PHP安全設置的關鍵步驟:
系統更新
定期更新系統和軟件包,修復安全漏洞:
sudo apt update && sudo apt upgrade
配置PHP核心參數(php.ini)
disable_functions = exec, system, passthru, shell_exec, eval
open_basedir = /var/www/html:/tmp
expose_php = Off
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
upload_max_filesize = 2M
post_max_size = 8M
配置PHP-FPM(若使用)
/etc/php/{version}/fpm/pool.d/www.conf
,設置:user = www-data
group = www-data
listen = /run/php/php{version}-fpm.sock
pm.max_children = 50
pm.max_requests = 500
防火墻與網絡隔離
sudo ufw allow 'Nginx Full'
sudo ufw deny 9000/tcp # 若使用TCP端口需注釋掉
sudo ufw enable
安全模塊與加密
sudo apt install libapache2-mod-security2
sudo a2enmod security2
權限與日志管理
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
sudo tail -f /var/log/php_errors.log
sudo tail -f /var/log/php{version}-fpm.log
其他高級措施
/etc/php/{version}/apache2/php.ini
,注釋掉不需要的擴展(如extension=php_mysql.dll
)。session.cookie_httponly = On
session.cookie_secure = On
session.gc_maxlifetime = 1440
參考來源: