保持系统和PHP更新
定期运行sudo apt update && sudo apt upgrade命令,确保Debian系统、PHP核心及依赖库(如MySQL驱动、OpenSSL)均为最新版本,及时修补已知安全漏洞(如CVE-2024-xxxx系列PHP远程代码执行漏洞)。建议开启unattended-upgrades自动安装安全更新,减少人工遗漏风险。
优化PHP配置文件(php.ini)
通过调整php.ini关键参数降低安全风险:
display_errors = Off(避免错误详情暴露给用户)、expose_php = Off(移除响应头中的PHP版本信息);register_globals = Off(禁用自动全局变量,防止表单数据直接注入脚本)、open_basedir = /var/www:/tmp(限制PHP仅能访问指定目录,防范目录遍历攻击);allow_url_fopen = Off、allow_url_include = Off(阻止通过URL访问外部文件,防止文件包含漏洞);disable_functions = eval,exec,passthru,shell_exec,system(禁用可能执行系统命令的函数,降低代码执行风险)。安装安全增强扩展
部署Suhosin扩展(PHP安全防护系统),抵御缓冲区溢出、格式化字符串、会话固定等高级攻击。安装步骤:下载Suhosin源码(如suhosin-0.9.37.1.tar.gz),执行tar zxvf suhosin-0.9.37.1.tar.gz解压,进入目录后依次运行phpize、./configure --with-php-config=/usr/bin/php-config、make、make install,最后在php.ini中添加extension=suhosin.so并重启Web服务。
配置Web服务器安全
mod_status、mod_info),使用.htaccess文件限制敏感目录访问(如Deny from all),配置PHP-FPM时修改/etc/php/8.2/fpm/pool.d/www.conf中的listen指令(如listen = /run/php/php8.2-fpm.sock),并通过chmod 660 /run/php/php8.2-fpm.sock设置权限,确保仅Apache用户可访问。fastcgi_pass指令连接PHP-FPM(如fastcgi_pass unix:/run/php/php8.2-fpm.sock),在location ~ \.php$块中添加fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name(确保脚本路径正确),并禁用autoindex(防止目录列表泄露)。强化系统与用户权限
www-data),避免使用root运行(修改/etc/php/8.2/fpm/pool.d/www.conf中的user和group为www-data);/etc/ssh/sshd_config中的PermitRootLogin no),启用SSH密钥认证(将公钥添加至~/.ssh/authorized_keys),修改PasswordAuthentication no(禁用密码登录),最后重启SSH服务。部署安全防护工具
ufw配置基础规则,仅允许HTTP(80/tcp)、HTTPS(443/tcp)、SSH(22/tcp)端口,执行sudo ufw enable && sudo ufw allow 80/tcp && sudo ufw allow 443/tcp && sudo ufw allow 22/tcp && sudo ufw reload;sudo apt install crowdsec部署,自动拦截恶意IP(如暴力破解、SQL注入尝试);sudo freshclam更新病毒库,sudo clamscan -r /var/www扫描Web目录)。定期审计与监控
Logwatch(sudo apt install logwatch)每日生成系统日志报告,重点关注/var/log/apache2/error.log(Apache错误日志)、/var/log/php_errors.log(PHP错误日志)中的异常条目(如大量404请求、SQL错误);sudo apt install fail2ban),针对SSH、PHP-FPM等服务配置过滤规则(如/etc/fail2ban/jail.local中设置maxretry = 3),自动封禁多次失败的IP地址;sudo apt install php_codesniffer)检查代码规范,配合RIPS、PHPMD等工具扫描常见漏洞(如XSS、SQL注入),确保代码安全性。