配置CentOS上的PHP以提升安全性是一个涉及多个层面的过程。以下是一些关键的步骤和最佳实践:
sudo yum update
sudo yum install firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --reload
chattr +i命令防止文件被更改。php.ini文件中禁用可能会被远程执行的PHP函数,例如eval()、exec()、passthru()、shell_exec()等。disable_functions = passthru,exec,system,shell_exec,popen,pcntl_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket,phpinfo
display_errors设置为Off,这将阻止PHP错误消息被显示给外部用户。display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
open_basedir = /var/www/html:/tmp
register_globals以防止表单提交的数据被自动注册为全局变量。register_globals = Off
php-mcrypt、php-gd、php-mbstring、php-bcmath等。sudo yum install php-mcrypt php-gd php-mbstring php-bcmath
sudo yum install mod_ssl
sudo systemctl restart httpd
/etc/php-fpm.d/www.conf或/etc/php-fpm.conf。user = apache
group = apache
listen.owner = apache
listen.group = apache
listen.mode = 0660
sudo systemctl restart php-fpm
mod_security来增强Web应用的安全性。sudo yum install mod_security
sudo systemctl enable mod_security
sudo systemctl start mod_security
sudo yum update php*
通过上述措施,可以显著提高CentOS系统上PHP应用的安全性。记得定期检查和更新安全设置,以应对新出现的安全威胁。