传奇服务器安全防黑指南:从端口隐藏到日志追踪(附一键检测工具)

来源: 作者: 点击:
开服三天被入侵?玩家装备遭篡改?压箱底8年防护经验一次性放出!

攻击类型预警:
⚠️ 端口扫描爆破(占比67%)|⚠️ GM后台弱口令(21%)|⚠️ 玩家恶意封包(9%)|⚠️ 服务端漏洞(3%)

🛡️ 一、端口隐身术(让扫描器彻底失效)

修改默认端口(必须同步修改4处!)
Mir200\!Setup.txt → GatePort=12345 #原7000

DBServer\!serverinfo.txt → Port=54321 #原6000

LoginSrv\!serverinfo.txt → Port=38733 #原5500

登录器配置文件 → ServerPort=12345

迷惑攻击者方案(云服务器专属):
安全组仅放行自定义端口

安装Fail2Ban自动封禁扫描IP(日志路径:D:\Mirserver\Log\)


✅ 有效性验证:使用https://nmap.org测试,正确配置后应显示All 1000 scanned ports are filtered

🚪 二、GM后台防护三重锁
后台路径伪装


原始路径:http://IP:88/cgi-bin/mana.cgi
修改步骤:
重命名cgi-bin文件夹为_d6g9t

修改mana.cgi为gmadmin_verify.cgi

配套修改LoginGate.exe中的路径配置


动态口令加固

在QM脚本(LoginCheck)中加入动态令牌验证

[@Login]
IF

CHECKTEXTLIST ..\QuestDiary\白名单.txt <$USERID>
ACT

MOV S1 %RANDOM(10000,99999)
SENDMSG 6 本次验证码:<$STR(S1)>(5分钟内有效)
SAVETEXT ..\QuestDiary\动态码\<USERID>.txt <STR(S1)>

登录时要求输入动态码(配合NPC对话框实现)


IP白名单机制


在D:\Mirserver\Mir200\Envir\AdminList.txt中采用:
账号 IP地址 // 例:Admin 114.214.18*


🔍 三、攻击日志实时追踪方案
关键日志监控清单

日志路径 监控关键词 分析工具
DBServer\Log\LoginLog\ “异常坐标”“批量登录” LogViewPro
LoginSrv\Log\ “密码爆破”“Conn overflow” 应急响应脚本
Mir200\Log\ “Give”“EXECUTE” 实时告警系统

一键封禁脚本(保存为ban_ip.bat)

@echo off

findstr /C:"登录失败" D:\Mirserver\LoginSrv\Log\*.txt > temp.txt
for /f "tokens=3" %%a in ('grep -oP "\d+\.\d+\.\d+\.\d+" temp.txt ^sort ^ uniq -c ^
findstr "20"') do (
netsh advfirewall firewall add rule name="传奇攻击IP_%%a" dir=in action=block remoteip=%%a
)
del temp.txt


🛠️ 四、服务端漏洞修补实战

最高危漏洞TOP3修复方案:
角色复制BUG

危害:玩家无限刷顶级装备

修复:替换M2Server.dll(需专用防复制引擎)
仓库越权存取

-- 在QFunction-0.txt中插入检测脚本
[@StoreInItem]
#IF
CHECKSTORESIZE > 100 -- 单次操作超过100件
#ACT
Kick
AddLogList 可疑操作.txt <USERNAME> 时间:<DATETIME>

SQL注入漏洞

案例:玩家输入 '); DROP TABLE TBL_ITEM;--

防护:在DBServer引擎中过滤特殊字符(';--)

🛡️ 五、免费防护工具包(实测有效)
工具名称 作用 获取方式
传奇盾v3.2 防加速/卡刀/脱机 开源地址:github.com/fwq/mir-shield
D盾防火墙 防WEB后台入侵 d99net.net
M2Server防改 进程守护+调试器检测 在!Setup.txt中启用
WPE封包拦截插件 实时阻断恶意封包 需M2插件支持


🔥 终极防护建议:

① 每周备份 D:\Mirserver\Mir200\Envir 和数据库文件

② 敏感操作 使用虚拟机隔离(推荐VMware快照功能)

③ 租用高防服务器 抵御DDoS攻击(10G防御约50元/月)