以下是在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
参考来源: