在Linux系统下配置PHP安全设置,可以通过以下步骤进行:
更新PHP版本:确保你使用的是最新版本的PHP,因为新版本通常包含安全修复和改进。
配置PHP-FPM(如果使用PHP-FPM):
/etc/php-fpm.d/www.conf
或/etc/php-fpm.conf
。user
和group
设置为非root用户和组,以提高安全性。listen.owner
和listen.group
也设置为相同的非root用户和组。listen.mode
设置为0660
,以限制文件权限。配置PHP安全选项:编辑PHP的配置文件php.ini
,通常位于/etc/php.ini
。在php.ini
文件中,进行以下安全设置:
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
file_uploads = On
upload_max_filesize = 2M
post_max_size = 8M
magic_quotes_gpc = Off
html_errors = Off
session.cookie_httponly = On
session.cookie_secure = On
session.use_strict_mode = On
memory_limit = 128M
sudo php -m | grep -vE "^cli|common" | xargs sudo php -i | grep -vE "^extension"
配置防火墙:使用firewalld
或iptables
配置防火墙规则,限制对PHP应用的访问。
firewalld
:sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
使用HTTPS:确保你的网站使用HTTPS,可以通过配置SSL证书来实现。
certbot
为Nginx配置SSL证书:sudo yum install certbot python2-certbot-nginx
sudo certbot --nginx -d yourdomain.com
定期更新和维护:定期更新PHP和相关软件包,以确保安全漏洞得到修复。
sudo yum update php*
sudo apt update && sudo apt upgrade
其他安全措施:
php.ini
中设置disable_functions
,禁用可能被恶意利用的函数。php.ini
中设置safe_mode = On
,限制PHP脚本的执行权限。open_basedir
:限制PHP脚本只能访问指定目录。