让我们考虑一下具有 Web 服务器、应用程序服务器和数据库服务器的 Web 应用程序的典型场景。所有服务器都位于由防火墙分隔的不同网络区域。
从安全角度来看,是否可以将所有三台服务器作为 Solaris 10 区域安装在同一台物理服务器上?
Solaris 区域是否具有隔离服务器的安全机制,以确保受感染的 Web 服务器不会影响其他服务器?
答案1
毫无疑问,存在将非全局区域彼此隔离的安全机制,因为这实际上是区域的设计实现方式。
分配到区域的进程可以操作、监视分配到同一区域的其他进程并直接与其他进程通信。该进程无法使用分配到系统中其他区域的进程或未分配到区域的进程来执行这些功能。分配到不同区域的进程只能通过网络 API 进行通信。
据我所知,没有已知的机制可以让在 ngz 中运行的进程(即使是 root)访问或破坏另一个区域数据,当然,除非故意设置了通信通道,例如共享文件夹或通过网络。不过,物理上独立的服务器也会出现这种情况。
ngz 可能会影响另一个区域的性能,如果两个区域共享相同的底层资源(如 CPU、内存、磁盘、网络等),甚至会导致拒绝服务。这可以通过专用、限制或公平调度这些资源来克服。
另一方面,默认情况下,在全局区域上运行的进程对其下的每个非全局区域具有一定的可见性。这就是为什么您通常不应在全局区域上安装任何非管理内容的原因。
除了标准机制之外,您还可以通过以下方式启用强制访问控制:Solaris 可信扩展。这些扩展使用标签对区域、文件、网络和设备进行分类,并强制执行请求的操作授权。
从全局区域隐藏区域内正在运行的内容的另一种方法是将它们实例化为核心区。为此,您需要 Solaris 11.2 或更高版本。
请注意,Solaris 10 已有 11 岁了。您可能想要切换到具有许多增强功能的 Solaris 11。除了前面提到的内核区域之外,您可能还对不可变区域这增加了一层新的防御攻击的保护,并且通过引入的改进Solaris 11 可信扩展。
答案2
Solaris 10 对标签安全保护配置文件进行了 EAL4+ 的通用标准评估。这种分离是由区域提供的。区域旨在在 Trusted Extensions 配置中部署时提供这种隔离。最初的问题描述了 Solaris Trusted Extensions 的一个非常经典的用例,并且世界范围内有许多此类部署作为“网络卫士”,可以安全地跨不同类别的网络。
答案3
答案是有点是,又有点不是。区域依赖于托管 LDOM 或物理服务器上运行的相同内核。如果内核被破坏,所有的内核都会被冲洗掉。但就服务器角色而言,您可以说它们是隔离的,前提是您确实很好地进行了网络设置尽职调查。
在理想的情况下,您不会采用这种设置。通常,您可以将所有 Web 服务器、所有应用程序服务器和所有数据库服务器组合到同一 LDOM 或物理服务器中。并水平缩放。假设您的应用程序服务器需要更多的能力,您可以添加另一个 LDOM 或物理服务器并重新分配应用程序服务器负载。与网络或更可能的数据库服务器相同。