我通常不在论坛发帖,因为通常我可以使用Google找到我需要的任何答案。但是,我正在运行的每个搜索都会给我非常具体的结果,例如特定游戏或系统已经存在的缓冲区溢出漏洞,这不是我需要的。
我有一个家庭网络,包括Windows Server 2008 R2,我的儿子想要启动一个Minecraft服务器,当然我想给他完全访问权限,这样他就可以学习。但是,我知道每个游戏都是“可修改的”,他在很多游戏中使用自定义地图等。
我担心的是,我将根据缺乏经验的编程在我的网络上制造安全风险。让他能够在我的服务器上安装和创建mod可能会打开漏洞(在开放的Minecraft端口之外),因为人们可能缺乏实际编写mod的经验?或者mods只是不能那样工作,我找不到我的问题的答案,因为它是迟钝的,没有人真正编程mod lol?
答案 0 :(得分:2)
取决于mod系统为游戏工作的方式,以及游戏本身是否为沙盒。重要的是,没有软件是完全安全的。您必须决定自己满意的安全性和可靠性。
mod可以通过多种方式暴露漏洞:
如果mod系统是基于脚本或基于VM的,例如Lua,JavaScript或Java,我会觉得相对安全的安装mods(只要游戏有一个很好实现的API /沙箱),因为漏洞2-4相对不太可能。
(我对原生代码mods /插件的理解是有限的,但我很确定如果你想运行它,你必须信任一个原生mod。即使你这样做,它仍然可能是可利用的。)
我对minecraft mods的理解是它们是用java编写的。我对Mojang人的感觉是他们知道他们在做什么,所以如果他们的mod API没有特别好的设计和实现,我会感到惊讶。话虽如此,安装mods 必然会带来安全风险。
如果这种风险是不可接受的,您可以通过向系统引入深度来减少风险。例如,为什么不在虚拟机中运行您的Minecraft服务器,只能访问网络(例如,只需要端口)?这样,漏洞的影响就大大减少了。
我建议在VirtualBox上创建一个Ubuntu虚拟机(因为它们都像啤酒一样免费),但你可以在任何你喜欢的操作系统上安装它。
答案 1 :(得分:1)
缓冲区溢出漏洞与允许未经检查的内存访问的编程语言相关联。 Minecraft是用Java编写的,这种语言不容易受到缓冲区溢出的影响,所以纯Java模型很可能不会出现类似这种漏洞的东西。
自然地,Java中的程序仍然容易受到其他类型的安全问题的攻击,无论是针对游戏本身(例如,针对Minecraft服务器的游戏帐户登录攻击)还是针对服务器(我不知道任何已知的对于Minecraft来说这是一个例子,但它总是可行的)。运行服务器的常用缓解措施适用,例如,如果可能,请锁定对良好IP的网络访问,以有限用户身份运行服务器等等。