Linux LAMP 安全漏洞防范清单
一 基线加固与访问控制
- 保持系统与组件为最新:执行apt update && apt upgrade -y或yum update -y,及时修补漏洞;禁用不必要的内核模块、服务与端口,遵循最小权限原则。
- 强化登录安全:禁止root直接远程登录,创建具备sudo权限的普通用户;优先采用SSH 密钥认证,必要时禁用密码登录;配置UFW/firewalld仅开放22/80/443等必要端口。
- 信息与目录防护:Apache 设置ServerTokens Prod、ServerSignature Off隐藏版本;关闭目录浏览Options -Indexes;对管理路径启用HTTP Basic Auth;上传目录禁止脚本执行。
- 强制HTTPS:使用Certbot申请并自动部署Let’s Encrypt证书,统一将HTTP 80→443跳转,禁用明文传输。
二 组件安全配置要点
- Apache
- 精简模块,仅启用必要功能;禁用mod_php改用PHP-FPM;配置虚拟主机与访问控制;自定义错误页避免信息泄露;必要时启用mod_rewrite做跳转与过滤。
- MariaDB/MySQL
- 运行mysql_secure_installation完成初始化:设置强密码、删除匿名账户、禁止root远程登录、移除测试库;为应用创建最小权限专用账户;限制来源 IP;在 my.cnf 设置bind-address=127.0.0.1(仅本地)、禁用local-infile=0。
- PHP
- 生产环境关闭display_errors与expose_php;禁用危险函数(如exec、shell_exec、system、passthru、popen、proc_open等);限制文件系统访问open_basedir;必要时关闭allow_url_fopen/allow_url_include;合理设置upload_max_filesize、post_max_size、max_execution_time;启用OPcache提升性能与安全。
三 运行时防护与入侵防御
- 入侵防御:部署Fail2Ban监控SSH/Apache等日志,自动封禁暴力破解来源;启用auditd记录关键系统调用,配合集中审计。
- 强制访问控制:启用SELinux或AppArmor,为httpd/mysqld/php-fpm配置最小权限策略,降低提权与横向移动风险。
- 运行隔离与权限:Web 运行用户(如www-data)仅授予站点目录读写,禁止访问**/etc、/root等敏感路径;上传目录不可执行**;必要时采用chroot jail或容器化隔离。
- 网络与协议:仅开放80/443;如无需IPv6可在内核/网卡层面关闭,减少攻击面。
四 备份恢复与持续监测
- 备份策略:定期备份网站文件与数据库,建议每日增量、每周全量;示例:数据库用mysqldump,文件用tar/rsync;异地或不同介质保存,定期校验与演练恢复。
- 日志与监控:集中收集Apache 访问/错误日志、MariaDB 错误日志、PHP-FPM 日志;使用journalctl、tail -f排查;部署Prometheus + Grafana或同类方案做资源与异常告警。
- 漏洞扫描与合规:定期使用OpenVAS/Nessus进行漏洞扫描与基线核查;对 CMS(如WordPress)启用安全插件(如Wordfence)并按时更新。
五 快速检查清单与常用命令
| 检查项 |
关键配置/命令 |
| 系统与组件更新 |
apt update && apt upgrade -y 或 yum update -y |
| 防火墙放行 |
UFW:ufw allow 22,80,443/tcp;firewalld:firewall-cmd --permanent --add-service=http --add-service=https && firewall-cmd --reload |
| SSH 加固 |
禁用 root 远程、启用密钥登录、限制登录端口与来源 |
| HTTPS |
Certbot:certbot --apache -d yourdomain.com |
| Apache 信息隐藏 |
ServerTokens Prod;ServerSignature Off;Options -Indexes |
| PHP 安全 |
disable_functions=exec,shell_exec,system…;expose_php=Off;open_basedir=… |
| 数据库安全 |
mysql_secure_installation;bind-address=127.0.0.1;local-infile=0;最小权限账户 |
| 入侵防御 |
部署并启用 Fail2Ban、auditd |
| 备份 |
mysqldump;tar/rsync 定时任务与异地保存 |
| 监控告警 |
集中日志、Prometheus+Grafana 或同类方案 |
以上清单覆盖系统、网络、应用与运维四个层面,按“加固—防护—监测—恢复”闭环执行,可显著降低 LAMP 环境被攻破的概率并提升可观测与恢复能力。