据我了解,非全局区域不可能确定其全局区域,但是在全局区域上运行此操作会/etc/global-zone-name
在所有运行区域中创建一个名为的文件。
zoneadm list | awk '$1!="global" {printf("uname -n | zlogin %s \"cat > /etc/global-zone-name\"\n",$1)}' | sh
我的问题是:这种方法是否存在安全风险?换句话说,服务器了解其全局区域是否存在风险?
答案1
撇开安全问题不谈,创建一个具有全局区域名称的文件是一种解决方案。但是,如果您的非全局区域 (NGZ) 由某种集群解决方案管理(即:如果发生灾难性故障时 NGZ 可能会跳过全局区域),那么这将“中断”。
我发现在启动时运行一个脚本(基本上是一个小型的 SMF)来执行以下操作有很大帮助;
1)运行“ /sbin/zonename
”。如果是“全局”,则;
2)使用“ /sbin/eeprom
”来存储hostname
在OpenBoot 程序(又名“OBP”)变量。
这样,NGZ 只需检查 OBP 变量的内容即可确定其 GZ。
附言:如果你的集群节点的主机名中包含集群名称,则真的帮助追踪区域。例如:集群“wwwfarm1”有物理服务器“wwwfarm1a”、“wwwfarm1b”和“wwwfarm1c”
答案2
这取决于你如何配置你的 solaris 区域,如果你的区域配置了独占 IP 模式,一个攻击者可以通过中间人攻击重定向所有流量,有关 solaris 独占 IP 模式与独占模式的更多信息,你可以阅读此链接http://docs.oracle.com/cd/E19455-01/817-1592/geprv/index.html
来自 oracle DOCS solaris 10 区域与 solaris 11
Solaris 10:共享 IP 堆栈提供针对 MAC 和 IP 欺骗的数据链路保护。独占区域不受保护。Solaris 11:无论使用共享 IP 堆栈还是独占 IP 堆栈,都可以防止 MAC 和 IP 欺骗。
因此在 Solaris 10 中,一个区域管理员可以发起一次攻击的可能性是存在的