最近我负责维护另一个公司网络,该网络已在专用虚拟机中安装了 BIND(表面上是为了安全)。该公司使用 Debian 作为服务器系统。
我不得不说这个概念引起了我的兴趣。除非你有专门用于 BIND 的盒子(我没有),否则在了解 BIND 的漏洞历史后,将它安装在 VM 主机上(两个,因为它们在主动/被动集群中)是一种安全风险。我知道它在 Debian 中是 chrooted(?),但仍然如此。
您认为这是个好主意吗?优点还是缺点?它真的有必要吗?还是就目前的 BIND 版本而言它基本上毫无意义?
答案1
我认为,重写后的 BIND 9(最初发布的 9.x 版本,大约 20 年前)在解决之前版本的安全历史方面取得了巨大进步。
并不是说它从那时起就一尘不染,或者诸如此类,但我认为 9.x 的记录与其他流行的软件项目相比并不突出。
(在我看来,它只需要与其他任何东西相同级别的维护;需要安装错误和安全修复程序,并且必须定期进行这项工作。)
即,我不认为 BIND 本身就一定会让您比其他任何东西更想隔离它。
话虽如此,我认为隔离服务(BIND 或其他)并不是一个坏主意。
优点:
- 不会出现同一主机上不相关的服务以某种不太正式的方式进行交互的“纠缠”现象
- 同一主机上不存在无关软件的依赖冲突
- 资源使用更加独立,减少了交互,也使得资源归属更加清晰
- 无需改变其他系统即可进行迁移/扩展
- 发生安全事故时环境更加隔离
缺点:
- 资源效率较低
- 也许出于某种原因,人们希望有某种形式的直接互动
- 需要维护的东西更多(某些自动化)
答案2
这实际上不是半坏。与 LAMP 堆栈或类似堆栈相比,您不仅可以对其进行严格保护,而且可以简化扩展。同时确保您可以错开停机服务。
假设您有以下设置... BIND1 BIND2 Web 服务器和后端代码库 (PHP/NodeJS/etc) 前端 DB 后端
现在,当需要维护/扩展其中任何一个时,您只需考虑非常有限的变量。与“传统” LAMP 堆栈相比。