上一篇 下一篇 分享链接 返回 返回顶部

使用海外网站服务器怎么防攻击?新手低成本配置防火墙与 CDN 防护方案

发布人:Minchunlin 发布时间:2026-04-16 10:16 阅读量:444


很多新手一上来就会问:“我买了一台海外服务器,装个宝塔、装个 WordPress,再开个防火墙,是不是就安全了?”

说实话,不够。

全球 DDoS 攻击量继续大幅上升,Cloudflare 报告显示全年拦截的 DDoS 攻击数量已经超过 4700 万次,而且大体量网络层攻击明显增加;Google Cloud 也提到,漏洞公开到被实际利用的时间窗口,已经从“几周”缩短到“几天”。这意味着现在的网站防护,不能只看“有没有防火墙”,而是要同时看 源站隐藏、WAF/CDN、上游清洗、防爆破、应用限流、补丁速度 这几件事。

那么,什么配置适合什么业务、带宽和防护值怎么选、低成本怎么搭、什么时候必须上 CDN,什么时候只靠 CDN 根本不够。

一、先讲结论:新手防攻击,最省钱的思路不是“硬扛”,而是“分层”

我自己更建议把防护拆成 4 层:

第 1 层:CDN / WAF 放前面
先把静态资源、常见 CC、HTTP Flood、恶意爬虫、登录爆破、路径扫描挡在边缘节点。

第 2 层:把源站藏起来
别让别人直接打到你服务器真实 IP。
如果用了 Cloudflare 这类代理,官方就明确建议在源站侧放行其回源 IP;同时还可以用 Authenticated Origin Pulls(mTLS)或 Tunnel 这种方式,让源站不直接暴露公网 IP。Cloudflare Tunnel 的思路就是由源站主动发起出站连接,不需要公开可路由 IP。

第 3 层:服务器本机做主机防火墙和爆破拦截
Ubuntu 的 ufw 很适合新手,官方文档和 man page 都说明了它支持连接速率限制;例如 ufw limit ssh/tcp 可用于 SSH 暴力连接限制。Fail2Ban 则会扫描日志,把多次失败登录的 IP 直接拉黑。

第 4 层:业务程序自己限流
登录、注册、搜索、API、评论这些动态接口,必须限频。Cloudflare 官方文档也明确把 rate limiting 作为保护登录接口和 API 的常见手段。

一句话总结就是:

低成本防护 = CDN/WAF + 隐藏源站 + 主机防火墙 + 登录/API 限流 + 定期更新补丁

二、先纠正 3 个新手最容易踩的坑

1)“我开了服务器防火墙,就等于高防了”

不是。

服务器本机防火墙只能在流量已经到达服务器之后再决定放还是拦。
如果你买的是 10M、20M、30M 这种小带宽,别人直接对你 IP 打大流量 UDP / SYN / ACK Flood,线路先被塞满,你本机规则再漂亮也没用。

所以:

  • 主机防火墙 解决的是“端口暴露、爆破、简单扫描、低量异常连接”
  • 高防 / 清洗 / 上游抗 DDoS 解决的是“把你的带宽先打满”的问题

这两个不是一个东西。

2)“套 CDN 就万事大吉”

也不是。

CDN/WAF 很适合挡 HTTP/HTTPS 网站类攻击。官方资料里也明确区分了:像 WAF 更偏应用层,Shield/网络层防护更偏 L3/L4;Cloudflare 也把 L3/4 和 L7 攻击覆盖分开说明。换句话说,纯网站场景很适合 CDN/WAF,但 TCP/UDP、游戏端口、自定义协议,不能只靠普通 CDN。

3)“网站被打,先加机器配置”

很多时候先加 CPU 和内存,效果并不大。

因为大多数攻击不是先把你 CPU 打爆,而是先把:

  • 真实 IP 暴露
  • 带宽打满
  • 动态接口打穿
  • 登录接口刷爆
  • 数据库慢查询拖死

所以防护顺序应该是:

先藏 IP,再加清洗,再做限流,再谈升级配置。

三、新手最省钱的推荐架构

对普通海外网站,我建议你按这个顺序搭:

用户 → CDN / WAF → 源站(仅允许 CDN 回源)→ 主机防火墙 → Nginx/站点程序

如果预算再紧一点,可以进一步做成:

用户 → CDN / WAF → Tunnel / 回源认证 → 源站

这个结构最值钱的地方,不是“看起来高级”,而是:

  1. 攻击先在边缘拦一层
  2. 真实源站 IP 不容易暴露
  3. 动态接口还能继续限频
  4. SSH、MySQL、Redis 等管理口不会直接暴露给公网

Cloudflare 官方也建议使用 Full / Full (strict) 这类更严格的源站加密方式,避免回源链路被恶意利用。

四、不同预算怎么配?我给你 4 档实用方案

下面这些不是“唯一标准套餐”,而是我按新手常见业务整理的实战参考档位
其中的“防护值”你可以理解为:上游高防/清洗档位建议,不是单纯服务器本机硬扛能力。

方案 A:最低成本入门型

适合业务: 企业官网、个人博客、展示站、轻量 WordPress、落地页

服务器建议:

  • 2 vCPU
  • 4GB RAM
  • 50GB~80GB NVMe SSD
  • 5M~10M 带宽
  • Linux:Ubuntu 22.04 / 24.04

推荐防护:

  • CDN / WAF:必上
  • 主机防火墙:必开
  • SSH 白名单 / 改端口 / 禁密码登录
  • Fail2Ban:必装
  • 独立高防:可先不上,但源站必须藏好

参考防护参数:

  • SSH:ufw limit ssh/tcp
  • Fail2Ban:5 次失败 / 10 分钟,封禁 1 小时
  • 登录页:5 req/s/IP,burst 20
  • 评论/表单:2 req/s/IP,burst 10

这档能做什么:

  • 日常 1 个公司站、博客、单产品官网
  • 搜索收录、轻广告投放
  • 小规模表单提交

这档不能做什么:

  • 不适合裸露真实 IP
  • 不适合活动型流量站
  • 不适合下载站、图片站、接口站
  • 不适合被人盯上的行业站

这类方案的重点不是“抗多少 G”,而是别让攻击直接到源站。如果真实 IP 被挖出来,5M~10M 小带宽很快就会被打到不可用。

方案 B:标准业务型

适合业务: 外贸官网、跨境独立站、WooCommerce、企业 CMS、多语言站

服务器建议:

  • Intel E-2334 / E-2434,或 4 vCPU 高主频云主机
  • 16GB RAM
  • 500GB NVMe SSD
  • 20M~30M 带宽

推荐防护:

  • CDN / WAF:必上
  • 源站仅允许 CDN 回源
  • 20G~30G 高防清洗
  • 登录、下单、搜索、API 做单独限流
  • 数据库和 Web 分离更稳

参考防护参数:

  • 登录:5 req/s/IP,burst 20
  • 搜索:2 req/s/IP,burst 10
  • API 写入接口:10 req/s/IP,burst 30
  • 后台登录路径建议单独加国家/ASN/机器人校验

适合场景:

  • WordPress + WooCommerce
  • 中小外贸站
  • 询盘站
  • 需要一定 SEO 和广告承接的站点

推荐防护值:

  • 日常建议至少 20G 防护
  • 有投流、推广、同行竞争、历史被打记录的,建议直接 30G

这一档开始,CDN + 高防清洗 比单纯加机器更重要。
因为商城最怕的不是“偶尔慢一点”,而是登录、购物车、支付回调被刷崩。

方案 C:成长型高并发网站

适合业务: 中型电商、社区、下载站、图片站、内容分发站、API 平台

服务器建议:

  • AMD EPYC 4584PX / 4585PX
  • 16 核 32 线程
  • 64GB DDR5
  • 960GB NVMe SSD
  • 50M~100M 带宽,或 1Gbps 端口限速方案

推荐防护:

  • CDN / WAF:必上
  • 50G~100G 高防清洗
  • 静态与动态分离
  • 图片、JS、CSS、附件全部走 CDN
  • 登录、API、搜索单独限流
  • Redis 缓存 + 对象缓存 + 页面缓存

参考防护参数:

  • 登录:5 req/s/IP
  • 查询 API:20 req/s/IP
  • 写入 API:10 req/s/IP
  • 搜索接口:2~3 req/s/IP
  • 异常 User-Agent、空 Referer、高频同 ASN 请求可直接挑战或封禁

适合场景:

  • 跨境商城
  • 会员站
  • 图片分发站
  • 内容平台
  • 接口服务平台

推荐防护值:

  • 正常建议 50G
  • 活动期、经常跑广告、接口暴露较多,建议 100G

这类业务有一个特点:
流量和攻击经常混在一起。
所以你不能只看“拦不拦得住”,还要看“误杀率高不高、正常用户能不能顺畅访问”。

方案 D:非纯网站型,高风险业务

适合业务: 游戏登录服、TCP/UDP 业务、自定义协议、实时接口、音视频、经常被打的行业

服务器建议:

  • AMD EPYC 4585PX / 双路 Xeon Gold
  • 64GB~128GB RAM
  • NVMe SSD
  • 100M 独享、1Gbps、甚至更高端口
  • 多节点或前后端分离

推荐防护:

  • 100G 以上高防 / 专线清洗
  • TCP/UDP 专项防护
  • 业务网关与源站分离
  • 非 HTTP 协议不要只靠普通 CDN
  • 必要时上 Anycast / Transit 类网络防护

Cloudflare 和 AWS 的官方文档都把网络层防护与应用层防护区分得很清楚:L3/L4 主要是网络与传输层 DDoS,L7 则是 HTTP 应用层。像这类非纯网站业务,通常要看更上游的网络型 DDoS 防护,而不是普通站点 CDN 就能兜住。

五、不同带宽和防护值,分别适合做什么业务?

10M 带宽 + CDN/WAF

适合:

  • 公司官网
  • 博客
  • 展示站
  • 小流量 WordPress

不适合:

  • 图片站
  • 下载站
  • 广告投流页
  • 高频动态接口

建议防护:

  • 不裸露源站 IP
  • 有预算就补 10G 清洗
  • 没预算也至少上 CDN + 源站锁死

20M~30M 带宽 + 20G/30G 防护

适合:

  • 外贸官网
  • 中小商城
  • 多语言站
  • 询盘系统
  • 一般会员站

这一档是多数新手最均衡的选择。

50M~100M 带宽 + 50G/100G 防护

适合:

  • 活动站
  • 电商平台
  • 图片站
  • 下载站
  • SaaS
  • API 服务

这档开始,带宽和清洗值都不能太低。
否则正常流量一上来,安全策略还没来得及生效,带宽先满了。

1Gbps 端口 + 100G 以上防护

适合:

  • 大文件下载
  • 音视频
  • 高频 API
  • 游戏 / TCP / UDP
  • 易被盯防的业务

这类场景的核心已经不是“防火墙怎么配”,而是网络架构怎么配

六、新手最值得做的低成本配置,我建议你直接抄

1)先把源站最小暴露面做出来

只开必要端口:

  • 80 / 443:网站访问
  • 22:只给自己办公室 IP 或跳板机
  • 其他端口默认全关

Ubuntu 官方文档说明 ufw 适合做主机级防火墙,新手可直接用。

示例:

 
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow from 你的办公IP to any port 22 proto tcp
sudo ufw limit 22/tcp
sudo ufw enable
 

2)装 Fail2Ban,先把爆破挡掉

Fail2Ban 的作用很直接:谁一直输错密码、一直恶意撞登录,它就从日志里抓出来封掉。官方主页就是这么定义的。

一个简单思路:

 
[sshd]
enabled = true
port = 22
maxretry = 5
findtime = 10m
bantime = 1h
 

如果你跑的是 WordPress、Nginx、Apache,也可以把后台登录、404 扫描、恶意 UA 一起纳入。

3)Nginx 对动态接口做限流

最该限的不是首页,而是这些地方:

  • /wp-login.php
  • /xmlrpc.php
  • /login
  • /register
  • /search
  • /api/
  • /cart
  • /checkout

示例:

limit_req_zone $binary_remote_addr zone=login_zone:10m rate=5r/s;
limit_req_zone $binary_remote_addr zone=api_zone:10m rate=10r/s;

server {
location = /login {
limit_req zone=login_zone burst=20 nodelay;
proxy_pass http://127.0.0.1:8080;
}

location /api/ {
limit_req zone=api_zone burst=30 nodelay;
proxy_pass http://127.0.0.1:8080;
}
}
 
 

这类策略的价值很大:
小流量 CC 和接口刷子,很多时候不是非要靠高防,限流就能拦掉一大半。

4)如果用了 CDN,一定别让源站裸奔

Cloudflare 官方文档提到,源站可放行其回源 IP;同时原始访客 IP 也可以通过 CF-Connecting-IP 等请求头恢复。更进一步,还可以用 Authenticated Origin Pulls 或 Tunnel 来让“不是从 Cloudflare 来的请求”根本到不了源站。

这个动作看起来不显眼,但实战里经常最关键。
因为很多站不是被 CDN 打穿,而是源站 IP 被挖出来后直接被绕过 CDN 打死。

七、套 CDN 只是一个方面,完整解决方案还要补这几项

1)系统和程序更新速度要快

Google Cloud 的报告已经很明确:现在从漏洞公开到开始被利用,时间窗口已经短到“几天”。所以你不能再抱着“下周再更”的心态。

2)WordPress 站特别注意插件

真正出问题的常常不是 WordPress 本体,而是:

  • 盗版主题
  • 过期插件
  • 暴露 xmlrpc
  • 后台地址太公开
  • 没有限制登录重试

3)数据库、缓存、文件存储最好分层

别把所有东西都堆在一台机子上。
尤其是:

  • 图片站
  • 商城
  • 会员系统
  • 下载站

静态资源上 CDN,对象缓存上 Redis,数据库做优化,攻击时会比“单机一把梭”稳很多。

4)监控和备份不能省

至少把这些加上:

  • CPU / 内存 / 带宽监控
  • 连接数监控
  • 5xx 错误监控
  • 每日自动备份
  • 异地备份

防护不是只为了“扛住”,还为了出了问题能快速恢复。

八、如果你是新手,我建议你直接这样选

目录结构
全文