在Debian系统上进行PHP安全设置,可以遵循以下步骤和建议:
更新系统和软件包
保持系统和所有软件包都是最新的,以修补已知的安全漏洞。
sudo apt update && sudo apt upgrade -y
配置PHP
-
屏蔽PHP错误输出:
在
/etc/php.ini文件中将display_errors设置为Off,并将错误日志写入日志文件。display_errors Off error_reporting E_ALL error_log /var/log/php_errors.log -
屏蔽PHP版本信息:
将
expose_php设置为Off,防止在返回头中显示PHP版本信息。expose_php Off -
关闭全局变量:
将
register_globals设置为Off,以减少脚本注入的风险。register_globals Off -
限制文件系统访问:
使用
open_basedir限制PHP可以访问的系统目录。open_basedir /var/www:/tmp -
禁止远程资源访问:
将
allow_url_fopen和allow_url_include设置为Off,以防止通过URL访问本地资源。allow_url_fopen Off allow_url_include Off -
安装Suhosin扩展:
Suhosin是一个PHP程序的保护系统,可以抵御各种攻击。
wget http://download.suhosin.org/suhosin-0.9.37.1.tar.gz tar zxvf suhosin-0.9.37.1.tar.gz cd suhosin-0.9.37.1 phpize ./configure --with-php-config=/usr/local/bin/php-config make make install然后在
php.ini文件中加入:extension suhosin.so
配置Web服务器
Nginx配置
确保Nginx配置文件(如 /etc/nginx/sites-available/default)正确设置,以支持PHP处理。
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
Apache配置
如果你使用Apache,确保在配置文件中启用必要的模块和设置。
sudo cp /etc/php/8.2/fpm/pool.d/www.conf{,_bak}
sudo sed -i 's/listen .*/listen 0.0.0.0:9000/' /etc/php/8.2/fpm/pool.d/www.conf
sudo systemctl restart php8.2-fpm
配置防火墙
使用 iptables 或 ufw 配置防火墙,仅允许必要的端口(如HTTP、HTTPS和SSH)连接。
sudo ufw enable
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 22/tcp
sudo ufw reload
用户和权限管理
- 创建普通用户并限制root用户的使用,通过
sudo命令提升权限。
sudo useradd -m myuser
sudo usermod -aG sudo myuser
-
配置SSH安全性:
- 配置SSH密钥对认证,禁用root远程登录,禁止使用空密码登录。
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin no/' /etc/ssh/sshd_config sed -i 's/PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config sudo systemctl restart sshd
定期审计和监控
定期检查系统日志和应用程序日志,使用工具如 Logwatch 或 Fail2ban 监控系统活动。
通过上述步骤,可以显著提高Debian系统上PHP应用的安全性。建议定期审查和更新安全设置,以应对新的安全威胁。
以上就是关于“Debian PHP安全设置指南”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm