我正在寻找一个“最低限度”的清单来保护面向公众的 Unix Web 服务器。假设它是一个 LAMP 堆栈(或类似的)。该列表应该是您将实施的最低要求。显然,对高流量站点(DDoS 保护、高可用性等)的要求会上升,但我并不关心这一点。只需查找托管单个 Web 服务器的最低要求列表,该服务器运行 Apache 或 NGINX,并具有基本的服务器 MySQL 或 MariaDB 数据库和简单的 PHP 应用程序。假设它在 AWS、DigitalOcean 等上运行。一些想法包括:
- 按国家/地区将 IP 范围列入黑名单/白名单
- 禁用root远程登录
- 启用fail2ban(在多次失败的登录尝试后禁用IP)
- 将防火墙配置为只允许相关端口入站(例如 ssh、sftp、https)
- 只允许 HTTPS,然后使用 Qualys SSL Labs 测试工具(https://www.ssllabs.com/ssltest/)测试证书和服务器配置的有效性
- 在面向公众的任何地方启用多因素身份验证,例如您的 Amazon/Digital Ocean/等。帐户,您对服务器的凭据等。
- 将 root 密码更改为至少 16 个字符,包含特殊字符的字母数字。
- 还有什么?