我的理解是,非全局区域不可能确定其全局区域,但是在全局区域上运行它会在所有正在运行的区域中创build一个名为/etc/global-zone-name的文件。
zoneadm list | awk '$1!="global" {printf("uname -n | zlogin %s \"cat > /etc/global-zone-name\"\n",$1)}' | sh
我的问题:这种方法是否存在安全风险? 换句话说,服务器知道其全局区域是否有风险?
抛开安全问题 – 使用全局区域名称创build文件是一个解决scheme。 但是,如果你的非全球性地区(NGZ)是由某种集群解决scheme来pipe理的(阅读:如果NGZ有可能在发生灾难性故障时跳跃到全球地带),那么这将会“破裂”。
我发现有一个脚本运行在启动(基本上是一个小的SMF),以下是一个很大的帮助;
1)运行“ /sbin/zonename ”。 如果“全球化”,那么;
2)使用“ /sbin/eeprom ”将hostname存储在OpenBoot PROM (又名“OBP”)variables中。
这样,所有的NGZ都要弄清楚它的GZ是检查OBPvariables的内容。
PS:如果您的群集节点在其主机名中包含群集名称,这确实有助于追踪一个区域。 例如:集群“wwwfarm1”有物理服务器“wwwfarm1a”“wwwfarm1b”和“wwwfarm1c”
它依赖于你如何configuration你的solaris区域,如果你的区域configuration独占ip模式,一个攻击者可以redirect所有stream量与一个男人在中间的攻击,更多信息关于solaris独占ip模式vs独家模式,你可以阅读这个链接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中,pipe理员可以进行一次攻击,而不是一个区域