确保CentOS下PHP配置安全可从以下方面入手:
系统与软件更新
定期更新系统和PHP至最新版本,修复安全漏洞:
sudo yum update -y
配置PHP安全参数
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
file_uploads = On
upload_max_filesize = 2M
post_max_size = 8M
session.cookie_httponly = On
session.cookie_secure = On
session.cookie_samesite = Strict
eval、exec等:disable_functions = eval,exec,shell_exec,curl_exec
open_basedir限制PHP访问目录:open_basedir = "/var/www/html:/tmp"
Web服务器配置
<Directory "/var/www/html">
Options -Indexes +FollowSymLinks
Require all granted
</Directory>
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php-fpm/www.sock;
}
防火墙与HTTPS
firewalld开放必要端口(HTTP 80、HTTPS 443),关闭其他端口:sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
sudo firewall-cmd --reload
sudo yum install mod_ssl
sudo systemctl restart httpd
扩展与模块增强
mod_security(Web应用防火墙):sudo yum install mod_security
sudo systemctl enable mod_security
定期维护与监控
rsync -avz /var/www/html /backup/
mysqldump -u 用户名 -p 数据库名 > backup.sql