🛡️
VPS

Minecraft 服务器是 DDoS 攻击的热门目标:它的 IP 通常会暴露给每一个连入的玩家,而现成的攻击工具价格低廉、随处可买。本文对威胁做出诚实的概述,并给出分层防御方案——从依赖服务商的网络层,到对操作系统和游戏本身的加固。目标是让你清楚地知道:单台 VPS 真正能做什么,以及哪些必须依靠你自己机器之外的基础设施。

Minecraft 服务器面临的威胁

在规划防御之前,你必须了解自己在防御什么。针对 Minecraft 服务器的攻击有多种形式,每一种都需要不同的应对方法。

必须承认的事实:单台 VPS 扛不住大规模 DDoS

不要相信"几行配置就能 100% 防住 DDoS"的宣传。 没有任何 iptables 规则、ufw 策略或插件能让单台 VPS 挺过大规模流量型攻击。一旦流量占满机器的上行链路,数据包在到达你的防火墙之前就已在上游被丢弃。主机上的过滤只对小规模攻击有效。

真正的网络层 DDoS 防护必须发生在上游——在服务商的边缘节点或拥有巨大带宽的清洗中心,在恶意流量到达你之前将其吸收并过滤。这就是为什么严肃的防护要依靠服务商的基础设施,而不仅仅是配置。

用 TCP 反向代理隐藏源 IP(可选)

Minecraft 常用的一种策略是在服务器前面放置一个反向代理 / 抗 DDoS 层,以隐藏其真实 IP。玩家通过指向代理的域名连接,攻击者只能看到代理的 IP,看不到你的机器。攻击到来时,命中的是带清洗能力的代理层。

两者都是第三方外部服务,属于可选的附加项,而非必需。如果你的服务器只是小范围的朋友社区,通过白名单和基础加固来隐藏 IP 可能就已足够。

操作系统层面的加固

这一层在 VPS 上完全由你掌控:让主机更坚固,并缩小其攻击面。

以非 root 用户运行服务器

绝不要以 root 权限运行 Minecraft 进程。创建一个专用用户,如 mcserver,以便在插件漏洞被利用时限制损害范围。

用 UFW 只开放必要端口

# 默认拒绝入站,然后只开放你要用的端口
sudo ufw default deny incoming
sudo ufw default allow outgoing

# SSH(可考虑更换端口或按 IP 限制)
sudo ufw allow 22/tcp

# Minecraft Java 版端口
sudo ufw allow 25565/tcp

sudo ufw enable
sudo ufw status verbose

用 fail2ban 保护 SSH 并禁用密码

安装 fail2ban 以封禁反复 SSH 登录失败的 IP,然后改用密钥认证,并在 /etc/ssh/sshd_config 中设置 PasswordAuthentication noPermitRootLogin no 来禁用密码登录。

保持一切更新

定期更新操作系统、Java 运行时、服务器软件(Paper/Spigot/Vanilla)以及每一个插件。过去的 Log4Shell 等漏洞表明,运行过时软件是严重的风险。

用 iptables 限制连接速率(仅对小规模攻击有效)

你可以用 iptables 限制每个 IP 在 25565 端口上的新建连接数,以减缓小规模的 SYN 洪水和机器人加入洪水。

# 限制新建连接:单 IP 连接过多则丢弃,并对新 SYN 做速率限制
sudo iptables -A INPUT -p tcp --dport 25565 --syn -m connlimit \
  --connlimit-above 10 --connlimit-mask 32 -j DROP

sudo iptables -A INPUT -p tcp --dport 25565 --syn -m recent --name mc --set
sudo iptables -A INPUT -p tcp --dport 25565 --syn -m recent --name mc \
  --update --seconds 60 --hitcount 4 -j DROP

# 基础 SYN 洪水防护
sudo sysctl -w net.ipv4.tcp_syncookies=1

这些规则对低流量攻击和从同一 IP 猛攻的机器人有帮助,但对来自数万个分散来源的大规模流量型攻击毫无作用。请把它们当作"减缓"手段,而非"彻底防护"。

Minecraft 侧的加固

server.properties 中的设置和合适的插件能挡住大量应用层滥用。

汇总表:攻击类型与缓解措施

攻击类型层级主要缓解措施
流量型 / 放大型(UDP 洪水)三/四层上游服务商清洗 / 反向代理(TCPShield、Cloudflare Spectrum)
25565 上的 TCP SYN 洪水四层iptables connlimit + tcp_syncookies(小),清洗(大)
机器人加入洪水七层online-mode=true、白名单、反机器人插件、速率限制
抓取 IP / 针对玩家的定向攻击社会/网络教育玩家、用代理隐藏源 IP、不点可疑链接
利用插件漏洞系统定期更新、非 root 运行、最小权限

备份与监控

没有任何系统能 100% 安全,因此做好恢复准备与防御同等重要。

  1. 定期备份世界和配置文件,并保留异地副本。
  2. 监控带宽、CPU、RAM 和连接数,以便尽快察觉攻击。
  3. 定期检查服务器和 SSH 日志中的异常,例如来自单一 IP 的异常频繁加入。

托管服务商的角色

由于大规模 DDoS 过滤必须发生在上游,选择网络基础设施扎实的服务商就很重要。AsiaGB 的 Linux VPS 每月 500 泰铢起,采用 SSD 存储,并提供 99% 的正常运行时间保障,配有 DirectAdmin 面板用于服务器管理。你可以在 VPS 上自由安装 Java、Paper,并完全按本文所述配置 UFW/iptables。如果你预计会经常遭受大规模攻击,还应考虑在前面放置 TCPShield 这样的抗 DDoS 反向代理。

常见问题 (FAQ)

仅靠 UFW 或 iptables 能挡住 DDoS 吗?

只能挡住小规模攻击。大规模流量型攻击会在流量到达你的防火墙之前就占满带宽,因此要挺过严重攻击,还需要上游清洗或能隐藏源 IP 的反向代理。

TCPShield 或 Cloudflare Spectrum 是必需的吗?

并非对每台服务器都必需。两者都是可选的第三方外部服务,最适合经常被攻击的公开服务器。对于小型私人服务器,白名单加基础加固通常就足够了。

online-mode=true 如何提升安全性?

它强制玩家通过 Mojang 服务器进行身份验证,从而屏蔽常被用于应用层加入洪水的破解客户端。对私人服务器搭配白名单一起使用,防护效果最强。

如果服务器 IP 被暴露并遭受攻击该怎么办?

如果使用反向代理,应更换新的源 IP 并重新绑定到代理,关闭不必要的端口,启用速率限制,并通知服务商——如果服务受损,再从备份中恢复。

准备好开设您的 Minecraft 服务器了吗?

AsiaGB Linux VPS(SSD、DirectAdmin、99% 在线率)每月 500 泰铢起,泰国与新加坡数据中心低延迟,适合任何规模的 Minecraft 服务器。

查看 VPS 套餐

查看泰国VPS主机全部套餐 →