暴力破解攻击是互联网上最古老、最简单、也最有效的入侵手段之一——机器人全天候 24 小时自动扫描全球数百万台服务器的 SSH 端口 (22)、面板登录页面、FTP 服务和 WordPress 管理后台,每分钟尝试数千个密码。这种攻击难以完全避免,但 cPGuard 暴力破解防护 可以在多个层面同时自动阻断所有入口点的此类攻击,将成功率降至接近于零。
cPGuard 覆盖所有登录通道:SSH、DirectAdmin 管理面板、FTP、邮件服务(IMAP/POP3/SMTP)、WordPress/Joomla/OpenCart 管理后台及自定义 URL——全部由一个统一的智能系统管理和保护。
暴力破解攻击如何运作
暴力破解攻击的原理非常简单:攻击者(或僵尸网络)以最快的速度向目标服务器发送大量登录请求,每个请求都尝试不同的用户名和密码组合。现代防御措施的出现之前,这种方法的成功率取决于密码的复杂程度和目标账户的活跃度。
例如,如果一个服务器允许 root 登录并且没有任何防护,攻击者可能在几小时内尝试 1000 万个密码组合。一台配备 GPU 的攻击机每秒可以尝试 100,000+ 个密码——如果密码是 "123456" 或 "password",只需要几秒钟就能破解。
互联网上的情况更糟:自动化扫描工具会持续扫描已知容易目标的服务器。任何暴露在互联网上的 SSH 22 端口都会在部署后数分钟内遭到扫描;任何知名 CMS(如 WordPress)的登录 URL 都会被日益增长的爬虫网络持续攻击。
cPGuard 防护的所有攻击向量
| 服务 / 通道 | 攻击方式 | cPGuard 防护方式 | 结果 |
|---|---|---|---|
| SSH(端口 22) | 尝试空密码、默认凭证、弱密码 | Fail2Ban + 通过 nftables 自动封禁 | 封禁在 X 秒内失败 N 次的 IP;完全阻止该 IP 连接 |
| DirectAdmin 登录 | 爬虫攻击面板登录页面 | 速率限制 + IP 计数 + 自动封禁 | 防止面板登录尝试被滥用;限制每个 IP 的请求频率 |
| FTP(端口 21) | FTP 凭证填充 / 词典攻击 | Fail2Ban 集成 + nftables 规则 | 检测异常登录模式,快速封禁恶意 IP |
| 邮件(SMTP/IMAP/POP3) | 邮箱账户凭证攻击(钓鱼邮件服务器配置) | 速率限制 + IP 追踪 + 自动临时禁用 | 防止账户被盗;保护所有邮件通道 |
| WordPress wp-login.php | 直接访问登录页,尝试 admin 账户 | 基于 DNS 的 CAPTCHA + 严格速率限制 | 在机器人到达服务器前过滤;合法用户仍可正常登录 |
| WordPress XML-RPC | XML-RPC API 端点(允许单次请求多密码测试) | 封锁/CAPTCHA + 严格的请求检查 | 关闭这条隐藏但强大的暴力破解通道 |
| 自定义登录 URL | 针对应用特定登录端点的攻击 | 用户可自定义的保护规则 | 保护自定义开发的应用和管理页面 |
基于 DNS 的 CAPTCHA——减少服务器负载的聪明办法
传统的 CAPTCHA 由服务器本地生成和验证,这意味着即使 CAPTCHA 最终会拒绝机器人,但生成 CAPTCHA 本身也消耗了服务器资源。对于被大规模攻击的服务器来说,这额外的负载可能会造成 CPU 飙升。
cPGuard 采用了更聪明的方法:当登录尝试进来时,cPGuard 不是让服务器生成 CAPTCHA,而是将请求重定向到 OPSShield 的专用 CAPTCHA 服务器(这些服务器已针对高容量验证进行了优化)。用户在外部服务器上完成 CAPTCHA 验证,只有验证成功的真实用户才会被重新导向回您的实际登录页面。这样做的结果是:
- 机器人被早期过滤: 大多数自动攻击工具根本无法解决 CAPTCHA,所以它们在离开您的服务器时就被停止了——您的服务器甚至看不到它们
- 合法用户体验良好: 真实用户通常只需要在首次登录时解决一个 CAPTCHA,之后的会话就被记住了
- CPU 使用量大幅下降: 您的服务器不需要计算复杂的图像验证或运行 AI 识别模型
- 全球分布式防护: OPSShield 在多个地理位置运行,提供更好的性能和可靠性
速率限制和自动封禁机制
对于不适合使用 CAPTCHA 的服务(如 SSH、FTP、邮件),cPGuard 使用经过验证的防御组合:速率限制(Rate Limiting)+ Fail2Ban 自动化 + nftables 防火墙规则。
这是它的工作方式:
- 监控和计数: cPGuard 监控来自每个 IP 地址的登录尝试。当失败达到阈值(例如 60 秒内 5 次失败)时,系统立即触发
- Fail2Ban 动作: Fail2Ban 是一个经过 15+ 年验证的失败登录响应系统,它使用正则表达式来解析日志文件并检测攻击模式
- nftables 阻止: Fail2Ban 将恶意 IP 添加到 nftables(现代 Linux 防火墙)规则,完全阻止该 IP 的所有连接(不仅仅是登录端口)
- 可配置的封禁时长: 您可以设置临时禁令(例如 1 小时、24 小时)或永久禁令,系统会自动处理解除禁令的逻辑
为什么在防火墙层面阻止比应用层面更好: 当 IP 在防火墙层(nftables)被封禁时,恶意机器人仍然会不断发送连接请求。但关键区别是——这些数据包在到达您的应用程序之前就被内核丢弃了。这意味着 CPU 根本不会被用来处理这个请求。相比之下,应用层面的速率限制仍然需要应用程序解析请求并生成响应,这会消耗 CPU 和内存。
针对 WordPress 的专门防护
WordPress 是全球最受欢迎的 CMS,这也意味着它是暴力破解攻击的首选目标。为什么?因为每个 WordPress 安装都使用相同的登录 URL(/wp-login.php),这使得攻击工具的部署变得非常简单。
wp-login.php 前端防护
cPGuard 在标准 WordPress 登录页面前添加智能防护层。这不是一个简单的密码长度检查,而是一个完整的多层防御:
- 用户输入用户名/密码后,首先呈现 CAPTCHA 验证
- 设置比其他服务更严格的速率限制(例如,每个 IP 每分钟只允许 3 次登录尝试,而不是 5 次)
- 跟踪失败的登录尝试,即使来自不同的用户名
- 对异常登录模式(例如在 5 秒内尝试 10 个不同的用户名)进行额外的检查
XML-RPC 端点防护
许多人不知道 WordPress 默认启用了一个名为 XML-RPC 的远程过程调用 API(通常可以在 /xmlrpc.php 访问)。这个接口的设计目的是为了允许第三方工具(如移动应用、API 客户端)与 WordPress 通信。
然而,XML-RPC 也成为了暴力破解的热点,原因很简单:一个 XML-RPC 请求可以在一次网络调用中测试数百个密码。这使得攻击者在躲避速率限制的同时测试大量凭证成为可能。cPGuard 可以:
- 完全禁用 XML-RPC 端点(对于不需要它的大多数站点来说是最安全的选择)
- 对 XML-RPC 请求应用额外的 CAPTCHA 验证
- 对来自同一 IP 的多个 XML-RPC 调用执行严格的速率限制
- 检测异常的 XML-RPC 访问模式(例如来自数据中心 IP 的大量失败请求)
IP 白名单和信任 IP 管理
没有人希望因为多次输入错误密码而被锁定在自己的服务器外。为此,cPGuard 包含一个灵活的 IP 白名单系统。
您可以为以下 IP 地址配置白名单:
- 您办公室的固定 IP 地址
- 开发团队成员的工作电脑
- 公司 VPN 的出口 IP
- 受信任的合作伙伴或服务供应商
- 监控工具或备份服务的 IP
白名单中的 IP 地址永远不会受到暴力破解防护的影响——即使它们发送看起来异常的登录请求,也不会触发速率限制或 IP 禁令。这确保了您的关键业务流程和信任的服务不会中断。
Fail2Ban 和 nftables 如何协作
理解底层防护机制有助于您更好地配置 cPGuard。这里的两个核心组件是:
Fail2Ban: 这是一个开源入侵防御软件,已在 Linux 社区使用超过 15 年。它通过以下方式工作:
- 定期监控系统日志文件(如 /var/log/auth.log)
- 搜索失败登录的模式(使用正则表达式规则)
- 当检测到定义的滥用模式时,自动执行"操作"(通常是添加防火墙规则)
- 配置"牢狱"(jails)——每个服务一个,每个有自己的检测和反应规则
nftables: 这是 Linux 内核中现代化的防火墙框架,是已过时的 iptables 的继承者。它提供:
- 高性能数据包过滤(在内核级别,在应用看到之前)
- 集合(sets)—— IP 地址列表可以被快速查询
- 规则链(chains)—— 按顺序应用的决策树
- 与 Fail2Ban 的完美集成(Fail2Ban 可以动态添加/删除 nftables 规则)
与 DirectAdmin 的集成
AsiaGB 主机使用 DirectAdmin 作为唯一的控制面板解决方案。cPGuard 与 DirectAdmin 的集成是深度和无缝的:
- Single Sign-On 支持: cPGuard 可以通过 DirectAdmin API 验证用户,确保一致的身份验证
- 主机端界面: DirectAdmin 中的一个新菜单项可以查看 cPGuard 日志、配置白名单和查看被禁用的 IP
- 自动日志同步: DirectAdmin 登录失败自动被 cPGuard 监控,无需额外配置
- 跨 cPanel/Plesk 兼容性: 虽然 AsiaGB 只使用 DirectAdmin,但 cPGuard 的规则可以应用于任何 Linux 服务
实施 cPGuard 后的性能影响
一个常见的关注是:为正在进行的攻击服务器增加额外的安全层会不会减慢合法用户的速度?
简短的答案是:不,正好相反。 以下是为什么:
- 合法用户看到 CAPTCHA 一次或两次: 首次登录或会话过期时,然后系统记住他们的会话。这只需要额外 2-3 秒钟
- 机器人在防火墙被停止: 攻击流量被内核级别丢弃,不会到达应用程序,从而完全避免应用 CPU 使用
- 服务器资源释放给合法流量: 在没有 cPGuard 的情况下,一个被攻击的 WordPress 安装可能会看到 CPU 占用率从 20% 跳到 60-80%,仅仅是为了处理失败的登录请求。启用 cPGuard 后,这个流量从未到达应用程序
- 数据库查询减少: 被拒绝的请求永远不会查询数据库以验证凭证,进一步减少了负载
配置和定制 cPGuard 的选项
cPGuard 的主要优势之一是它的灵活性。虽然开箱即用的默认设置对大多数网站都有效,但您可以根据需要微调:
- 失败阈值: 在触发禁令之前允许多少次登录失败(默认:60 秒内 5 次失败)
- 禁令时长: 禁令应该持续多长时间——1 小时、24 小时或永久禁令
- CAPTCHA 强度: 从容易(仅文本)到困难(具有图像识别的多步骤验证)
- 服务白名单: 为 FTP、电子邮件等服务选择性地禁用防护(如果您信任本地网络)
- 自定义登录 URL: 不仅仅是标准 WordPress 登录,还可以保护自定义应用登录
- 国家/地区级过滤: (可选)根据地理位置对 IP 应用额外的限制
常见问题解答
什么是暴力破解攻击?
一种自动攻击,尝试数千或数百万种用户名/密码组合直到获得访问权限。机器人全天候 24 小时扫描互联网上的服务器,寻找弱密码。许多这样的攻击来自被感染的计算机(僵尸网络)或者简单地从公共词典和泄露的密码列表中重复使用密码。
什么是基于 DNS 的 CAPTCHA,它如何工作?
cPGuard 不在您的服务器上直接提供 CAPTCHA,而是先将用户重定向到 OPSShield 的 CAPTCHA 服务器。用户在那里完成验证,然后被重定向回您的网站。这样可以在机器人到达您的服务器之前将其过滤掉,大幅减少您的服务器负载。这种方法特别有效,因为大多数自动化攻击工具甚至无法跟随重定向。
cPGuard 是否保护 WordPress 登录?
是的——cPGuard 对 wp-login.php 和 XML-RPC 实施 CAPTCHA、速率限制和 IP 封禁,当登录失败次数超过设定阈值时自动触发。它还可以应用于任何其他 WordPress 登录或自定义登录 URL。
自动封禁是如何工作的?
当某个 IP 登录失败次数超过设定限制后,cPGuard 通过 Fail2Ban 和 nftables 防火墙规则自动将其封禁。被封禁的 IP 根本无法访问服务器(在防火墙级别被阻止),不仅仅是登录页面。封禁时长和尝试次数阈值均可配置。
如果我自己的 IP 被封禁怎么办?
从其他 IP 或移动数据连接,然后通过 DirectAdmin App Portal 将您的常用 IP 加入白名单,或联系主机支持团队(billing.in.th/submitticket.php 或 [email protected])解除封禁。
cPGuard 与标准防火墙有何不同?
标准防火墙只能基于 IP 地址、端口号或网络协议进行过滤。它们不理解应用程序级别的行为。cPGuard 是应用感知的,这意味着它可以在应用层识别暴力破解行为——根据失败次数、失败的时间模式、被攻击的用户名等因素做出聪明的决定。
AsiaGB 主机通过 cPGuard 保护所有登录入口
AsiaGB 在每台服务器上安装并激活 cPGuard,自动保护 SSH、DirectAdmin、FTP、邮件和 WordPress 免受暴力破解攻击。无需手动配置——它从第一天就工作。享受 SSD 主机,99% 正常运行时间,安全加固,价格从 500 泰铢/年起。
查看主机方案