SowmyaB-sec/AWS-WordPress-Security-Hardening

GitHub: SowmyaB-sec/AWS-WordPress-Security-Hardening

在 AWS EC2 上从基础设施到应用层全面加固生产级 WordPress 环境的安全实践项目,采用分层防御策略将关键漏洞降至零。

Stars: 0 | Forks: 0

# 在 AWS EC2 上构建安全的 LAMP + WordPress ## 项目概述 ![AWS](https://img.shields.io/badge/AWS-EC2-FF9900?style=flat&logo=amazon-aws) ![WordPress](https://img.shields.io/badge/WordPress-Hardened-21759B?style=flat&logo=wordpress) ![Apache](https://img.shields.io/badge/Apache-Secured-CA2136?style=flat&logo=apache) ![MySQL](https://img.shields.io/badge/MySQL-Hardened-4479A1?style=flat&logo=mysql) ![PHP](https://img.shields.io/badge/PHP-8.x-777BB4?style=flat&logo=php) ![License](https://img.shields.io/badge/License-MIT-green) ## 安全挑战与威胁模型 在公有云基础设施上部署 LAMP + WordPress 技术栈会引入攻击向量。 - 针对 SSH 和管理面板的暴力破解攻击。 - Web 应用程序漏洞利用(通过易受攻击的插件引发 SQLi、XSS、RCE)。 - 配置不当导致的数据泄露。 - 来自插件和主题的供应链风险。 - DDoS 和大流量攻击。 - 日志记录不足以及缓慢的违规检测。 项目采用了 **STRIDE** + OSWAP Top 10**(Web 和云)方法来识别风险,并在网络层、计算层、应用层、身份层、数据层和可观测性层实施了分层控制。 ## 架构概述 - **平台**:AWS EC2 (Amazon Linux 2023) - **技术栈**:Apache 2.4 + MySQL 8.0 + php 8.x + WordPress 6.x - **设计选择**: - 选择 EC2 以获得对安全配置的完全控制和可见性。 - 带有本地数据库的单实例。 - 面向公网的应用程序受多层安全防护保护。 ![架构图] ## 快速开始 ### 前置条件 - 一个具有必要权限(EC2、VPC、IAM、S3、CloudWatch)的 **AWS Account** - 已在本地安装并配置好的 **AWS CLI**。 - 在 AWS 中创建并注册的有效 **SSH 密钥对**,用于 EC2 访问。 - 指向 EC2 实例 Elastic IP 的域名(HTTPS/Let's Encrypt 必需)。 - 安装了 **SSH** 和 **Git** 的本地计算机。 - Linux 命令的基础知识。 - (可选 - 但推荐)一个 **Datadog** 账户,用于扩展监控和告警。 ### 设置步骤 1. 克隆此代码仓库 2. 配置并加固 EC2 实例 ('infrastructure/README.md') 3. 安装并保护 LAMP 技术栈 ('lamp-stack/README.md') 4. 部署并加固 WordPress ('wordpress/README.md') 5. 设置监控和告警 ('monitoring/README.md') 6. 运行安全测试和验证 ('testing/README.md') ## 核心加固功能 ### 基础设施安全 (AWS) - 经过加固且占用空间最小的 Amazon Linux 2023 实例。 - 严格的 Security Groups(端口 80、443,带有 IP 白名单的自定义 SSH 端口)。 - SSH:仅允许密钥认证,禁用 root 登录,提供 Fail2Ban 保护。 - 具有默认拒绝策略的操作系统级防火墙 (UFW)。 - 附加到实例的最小权限 IAM role。 - 启用自动安全补丁更新。 - 使用 AWS Inspector 进行持续漏洞扫描。 ### LAMP 技术栈加固 - Apache:隐藏 Server token,禁用目录列出,配置强大的 HTTP 安全标头。 - TLS:使用 Let's Encrypt 证书,配置自动 HTTP 到 HTTPS 重定向及 HSTS。 - 采用带有 OWASP Core Rule Set 的 mod_security WAF。 - MySQL:强化的配置,专用的最小权限用户,禁用远程访问。 - PHP:禁用版本信息暴露,限制危险函数。 ### WordPress 应用程序安全 - 加固 'wp-config.php'(自定义数据表前缀,禁用调试,强制 SSL)。 - 更改管理员登录 URL + 启用 MFA/OTP。 - Wordfence Security(WAF、防火墙、恶意软件扫描器)处于阻断模式。 - 禁用 XML-RPC,严格的文件权限,启用自动更新。 - 每日加密备份至 AWS S3。 ### 监控与告警 - 使用 AWS CloudWatch 进行指标监控、日志记录和智能告警。 - 集成 Datadog 用于高级监控和异常检测。 - 集成 Datadog 用于高级监控和异常检测。 ## 使用的技术和工具 ### 云与基础设施 | 工具 | 用途 | |--------------|--------------| |AWS EC2 | 计算 | | Amazon Linux 2023 | 操作系统 | | AWS Security Groups, IAM, Inspector | 安全控制 | | AWS CloudWatch + S3 | 监控与备份 | ### 安全工具 | 工具 | 用途 | |---------------------|----------------------------------| | Fail2Ban | 暴力破解防护 | | mod_security | Web 应用程序防火墙 | | Wordfence | WordPress WAF 与安全 | | WP 2FA | 多因素认证 | | Let's Encrypt | TLS 证书管理 | ### 测试工具 | 工具 | 用途 | |-------------------------|----------------------------------| | Nmap, Nikto | 侦察与扫描 | | Nessus Essentials | 漏洞评估 | | WPScan | WordPress 漏洞扫描 | | Wireshark / tcpdump | 流量分析 | | SSL Labs, Mozilla Observatory | TLS 与安全标头 |
标签:AWS, CTI, DPI, GitHub Advanced Security, LAMP, Syscall, Web开发, WordPress, 云计算, 安全加固, 系统运维, 规则引擎