离线模式服务器有哪些风险
- 任何玩家都能使用管理员的昵称,在登录插件要求输入密码之前,服务器会相信他;
- 机器人不需要正版账号,所以一千个机器人和一个机器人对攻击者来说成本相同;
- 被封禁后换个新昵称毫无成本;
- 带空格或混入其他字母表形近字母的昵称,可以冒充别人。
登录插件必不可少
AuthMe 或 nLogin 这样的登录插件要求玩家注册,并在每次进服时输入密码。没有它,离线服务器对任何知道管理员昵称的人都是敞开的。很多这类插件可以让正版账号的玩家免密码进服,玩家很喜欢这一点。
Kordon 不能代替登录插件:它既看不到也不检查密码。密码本身怎么保护,见关于密码暴力破解的指南。
Kordon 能挡住什么
Kordon 在代理端检测连接,玩家甚至还没到登录插件那一步。
- VPN、代理和托管服务器网络无法通过,所以被封禁的玩家更难换个新昵称回来。
- Kordon 会自动发现机器人潮,并把服务器切换到攻击模式。
- 昵称规则可以挡掉模板化的机器人昵称,以及含西里尔字母或空格的昵称。“同 nLogin / AuthMe”模式与这些插件自己的规则一致,玩家不会因为昵称不合适而卡在注册环节。注意,这个模式会挡住来自 Floodgate 的 Bedrock 玩家,他们的昵称以点开头。
- 黑名单可以添加昵称、地址或 IP 段。离线玩家的 UUID 是根据昵称(包括准确的大小写)生成的,所以用
steve代替Steve进服就能绕过 UUID 封禁。Kordon 比较昵称时不区分大小写,所以在离线服务器上按昵称封禁更可靠。
谨慎使用白名单
Kordon 的白名单会让玩家跳过 VPN 检测直接进服。在正版模式服务器上,昵称由 Mojang 确认。在离线服务器上谁都能用这个昵称,按昵称添加的白名单条目,会让任何用这个名字进服的人不经检测直接进来。
所以在离线服务器上,最好按 IP 地址把管理员加进白名单。如果某人的地址会变,而他又不用 VPN,可能根本不需要加白名单:普通的家庭地址本来就能通过检测。
带空格和形近字母的昵称
在离线模式下,Velocity 接受几乎由任何字符组成、最长 16 个字符的昵称。对服务器来说,Steve 和末尾带空格的 Steve 是不同的账号,但在聊天和 Tab 列表里看起来一样。用西里尔字母“а”“е”“о”代替拉丁字母也是同样的情况。
默认开启的“同 Paper”规则只放行拉丁字母、数字、_ 和点,所以这类昵称无法通过。不要关闭它。详见关于昵称过滤的指南。
按顺序该做什么
- 安装登录插件,并设置密码最小长度。
- 在代理端安装 Kordon,先在观察模式下运行一两天。
- 保留“同 Paper”昵称规则,如果没有 Bedrock 玩家,也可以选择“同 nLogin / AuthMe”。
- 开启防护,等级选“均衡”。
- 按 IP 而不是按昵称把管理员加进白名单。
- 按昵称封禁违规者:VPN 被挡住后,他们没法很快回来。