我已经安装了 64v ubuntu 桌面。在 KVM 中运行任何生产服务器是否安全?
PC = i5 vt 已启用,8gig 内存 1g 硬盘
主机 = Ubuntu 桌面 64 位。客户机 = Ubuntu 服务器(命令行)
这安全吗?出于安全考虑,我是否应该从命令行运行所有内容?
答案1
首先,是的,你可以(你从现有的答案中知道这一点)。我仍然想补充一些方面。桌面版和服务器版的区别仅在于默认安装的软件包或设置为默认安装的软件包(tasksel
),因此你可以这样做。
因此,在 Ubuntu 的“桌面版”上运行生产服务器是可能的,因为两者之间没有根本区别,例如 Windows XP Pro(32 位)和 Windows 2003 Server R3(32 位)之间没有根本区别 - 后者在更昂贵的版本中最多可接受 64 GiB RAM。在 Ubuntu 上,您可以安装一个使用 PAE 的内核,并且不会设置任意限制(如更便宜的 Windows 2003 服务器版),即使在 32 位设置上也是如此。
更大的问题应该是您是否可以在商用硬件上运行生产服务器。答案是肯定的。查看维基百科上的这篇文章。Google 的大部分服务都在这种硬件上运行,但存在冗余。几年前,他们(Google)也发表了一些关于台式机硬盘可靠性的研究。
因此,在我们知道商品硬件不是问题之后,您对可靠性的要求以及与预期硬件故障有关的已知参数等应该指导您的决策。
一种“更便宜”(或者说:“更轻量级”)的替代方案是使用 LXC(Linux 容器)。想象它们是chroot
KVM(它从来都不是像 Solaris 或 BSD 上的各自概念那样的监狱)和 KVM 之间的中间步骤。顺便说一句,LXC 确实利用apparmor
了这一点。这种分离并不完美,但考虑到其优势,权衡似乎微不足道。
关于您对 rootkit 的担忧,我不确定,因为我对该主题的研究还不够。但是,KVM 客户端作为用户模式进程运行,如果您愿意,甚至可以让每个客户端拥有自己的帐户。现在 KVM 的某些部分显然必须在主机的内核中运行,因此有可能存在攻击向量,我只是想知道附加向量是否允许来自客户端的代码突破...
但是,您打算如何通过仅使用命令行来使事情变得更安全,我却无法理解。您拥有通过 GUI(KDE、GNOME、Unity 等)拥有的所有可能性(通常更多而不是更少)。因此,仅将主机或客户机安装为命令行并不会使工作变得更加困难。省略 X11 的原因应该由使用(您说的是“服务器”,因此并不明显)和可用资源决定。如果 X11 不运行,它也不会占用资源(磁盘空间除外)。
答案2
是的,您可以在桌面安装上运行 KVM。事实上,有一个很棒的图形工具 virt-manager 可以帮助配置、安装和管理客户机。
安装它
sudo apt-get install virt-manager