ammaduddinbajwa/Secure-WordPress-AWS-EC2

GitHub: ammaduddinbajwa/Secure-WordPress-AWS-EC2

该项目展示了在AWS EC2上安全部署并加固WordPress/LAMP栈的完整实践,通过Nmap和Nessus漏洞扫描验证了从基础设施到应用层的端到端加固效果。

Stars: 0 | Forks: 0

# 在 AWS EC2 上安全部署 WordPress ![AWS](https://img.shields.io/badge/AWS-EC2%20%7C%20CloudWatch-232F3E?logo=amazonaws&logoColor=white) ![WordPress](https://img.shields.io/badge/WordPress-LAMP%20Stack-21759B?logo=wordpress&logoColor=white) ![Nmap](https://img.shields.io/badge/Tested%20with-Nmap-informational) ![Nessus](https://img.shields.io/badge/Tested%20with-Nessus-informational) MSc 云架构与安全课程作业:从零开始在 AWS EC2 实例上部署了 LAMP/WordPress 技术栈,随后跨越基础设施和应用层进行了端到端的加固,并使用真实的漏洞扫描验证了结果。 **项目概览** - 配置了一个 EC2 实例 (Amazon Linux 2),配置了 LAMP 技术栈 (Linux, Apache, MariaDB, PHP) 并在其上部署了 WordPress,通过 Elastic IP 和自定义域名进行安全保护,并配备了 Let's Encrypt (Certbot) SSL 证书。 - 加固了 WordPress 应用层:隐藏了 wp-admin 登录路径,在多次登录失败后实施防火墙 + IP 封禁策略,进行恶意软件/防病毒扫描,并实现每日自动备份。 - 加固了基础设施层:采用最小权限的 security groups,利用 AWS CloudWatch 仪表板和指标阈值警报(通过 SNS)来监控网络和实例健康状况。 - 使用 **Nmap** 侦察和全面的 **Nessus** 漏洞扫描验证了加固效果——发现并修复了高危的 Apache 版本过时问题,以及中危的 HSTS 和 HTTP TRACE/TRACK 问题。 - 完整的书面报告、方法论和调查结果详见 [report.pdf](report.pdf)。 ## 项目简介 网络安全 MSc 的小组课程作业(爱尔兰国家学院,云架构与安全模块)。任务要求:实例化一个作为 IaaS 的云 VM,在其上部署 LAMP 技术栈和 WordPress(默认不安全),然后从基础设施层 (EC2) 到应用层 进行端到端的安全加固,并使用真实的安全测试工具证明加固结果。 ## 构建内容 **基础设施 (IaaS)** - AWS EC2 实例,通过 SSH 密钥对身份验证进行访问。 - 作用域仅限于所需入站流量 (SSH, HTTP, HTTPS) 的 Security groups。 - 分配了 Elastic IP 以提供稳定、持久的地址。 - 安装并配置了 LAMP 技术栈 (Apache, MariaDB, PHP),对数据库进行了加固(强凭据,移除了匿名账户和测试数据库)。 **应用** - 在 LAMP 技术栈上安装了 WordPress,创建了具有受限访问权限的数据库和专用数据库用户。 - 为配置生成了唯一的 WordPress "Key" 和 "Salt" 安全值。 - 购买了自定义域名并指向该站点;通过 Certbot/Let's Encrypt SSL 证书强制使用 HTTPS。 - 使用登录加固插件重定位默认的 wp-admin 登录路径。 - 配置了安全/防火墙插件,以在多次登录失败后进行速率限制和 IP 封禁。 - 运行恶意软件扫描/防病毒插件作为额外的防御层。 - 通过专用的备份插件配置了每日自动备份。 **监控** - AWS CloudWatch 仪表板跟踪实例和网络健康指标(数据包入/出站,状态检查),每 3 分钟刷新一次。 - CloudWatch 警报连接到 SNS 主题,以在违反阈值(例如异常流量或 CPU 使用率)时发出警报。 ## 安全测试与结果 测试在加固完成后进行,以验证加固效果,使用了自动扫描和手动检查相结合的方式: - **Nmap** — 侦察扫描,用于枚举已部署主机上的开放端口、运行的服务以及 OS 指纹识别。 - **Nessus** — 针对实时站点的全面漏洞扫描。初步发现:1 个高危、2 个中危和 2 个低危漏洞(外加 35 个信息性发现)。 - **高危 (CVSS 7.5):** Apache 版本过时 (pre-2.4.62) — 通过升级 Apache 修复;在重新扫描中确认已修复。 - **中危 (CVSS 6.5):** HTTPS 服务器缺少 HSTS — 通过启用 HSTS 修复。 - **中危 (CVSS 5.3):** 启用了 HTTP TRACE/TRACK 方法(可能有助于攻击者的服务器调试方法)— 通过禁用这些方法修复。 - **低危 (CVSS 3.7, x2):** SSH 配置使用了 CBC cipher 模式和较弱的密钥交换算法 — 已标记待后续修复(需要供应商/配置更改)。 - **手动测试** — 重复失败的登录尝试,以确认速率限制/IP 封禁策略按配置触发;并生成流量以确认 CloudWatch 能够实时捕获网络指标的变化。 ## 展现的核心技能 - AWS IaaS 部署与加固 (EC2, Security Groups, Elastic IP, CloudWatch, SNS) - Linux 服务器管理 (Amazon Linux 2, Apache, MariaDB, PHP/LAMP) - Web 应用安全加固 (WordPress:身份验证、备份、恶意软件防御、基于插件的防火墙) - TLS/SSL 配置 (Certbot, Let's Encrypt) - 漏洞评估与修复 (Nmap, Nessus, CVSS 评分, CVE 研究) - 安全报告:风险评级、发现文档记录、修复追踪 完整的工具逐一分解方法论、CVSS 评分细节和风险登记表,请参阅 [report.pdf](report.pdf)。 **Ammad Ud Din Bajwa** — 爱尔兰国家学院网络安全 MSc · SOC 分析师 | 事件响应 | 网络安全运营 [LinkedIn](https://www.linkedin.com/in/ammaduddinbajwa) · [GitHub](https://github.com/ammaduddinbajwa) · ammaduddinbajwa702@gmail.com
标签:AWS, CTI, DPI, LAMP, Nessus, Nmap, WordPress, 云架构, 文件完整性监控, 系统加固, 虚拟驱动器