在Ubuntu上配置PHP安全策略可从以下方面入手:
系统与软件更新
定期更新系统和PHP至最新版本,安装安全补丁:
sudo apt update && sudo apt upgrade
配置php.ini关键参数
disable_functions = system, exec, passthru, shell_exec, phpinfo
open_basedir = /var/www/html:/tmp
upload_max_filesize = 2M
post_max_size = 8M
file_uploads = On
expose_php = Off
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
启用安全模块
sudo apt install libapache2-mod-security2
sudo a2enmod security2
Web服务器配置
<Directory /var/www/html>
Options -Indexes
<FilesMatch "\.(ini|log|sh)$">
Require all denied
</FilesMatch>
</Directory>
location ~ ^/(uploads|config) {
deny all;
}
文件权限与所有权
确保Web根目录及文件权限正确:
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
sudo find /var/www/html -type f -exec chmod 644 {} \;
加密与认证
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
监控与维护
参考来源: