在CentOS系统下保障PHP安全是一个涉及多个层面的任务,以下是一些关键的步骤和最佳实践:
sudo yum update -y
sudo yum install firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --zone=public --add-port=80/tcp --permanents
sudo firewall-cmd --zone=public --add-port=443/tcp --permanents
sudo firewall-cmd --reload
chattr +i
命令防止文件被更改。php.ini
文件,禁用expose_php
指令。php.ini
中禁用如system
、exec
等危险函数。register_globals
设置为Off
。open_basedir
限制PHP可以访问的系统目录。open_basedir = /var/www/html:/tmp
allow_url_fopen = Off
allow_url_include = Off
sudo yum install suhosin
echo "extension=suhosin.so" >> /etc/php.ini
sudo yum install mod_ssl
sudo systemctl restart httpd
定期备份PHP网站的数据,以防数据丢失。
mkdir /backup
cd /backup
rsync -avz --delete /var/www/html/ ./website_backup/
mysqldump -u[数据库用户名] -p[数据库密码][数据库名] > website_backup.sql
gzip website_backup.sql