传统的安全方法在虚拟化的世界里依然是可以使用的。用户不仅需要对服务器和相关的应用做保护,而且需要监控哪些人可以对哪些资源进行访问,对进入数据中心的访问者做鉴定和管理。赋予在数据中心内工作的用户以适当的通关权限,并在他们完成认证后给予相对应的访问权限。 {% r* g) Q: G1 J, d; o/ n 5 [: ~5 x; u0 Y" w+ Z 另外,您还需要确保那些数据中心内可以做数据更改操作的人员都是拥有授权才这么做的,也就是说现有的安全方面的经验在虚拟环境里是可以获得延续的。如果您把现有的终端用户服务进程都迁移到了虚拟机和VSO上,那么传统的安全方法也应该位于同一级别上。 - B/ `9 x% u9 D) q- R" ?/ J3 p
! q. N( b( v: |6 a' \2 h 然而不幸的是,在为VSO提供物理资源的资源池级别上,从设计原理看,并不具备和用户进行交互的能力。资源池内的物理机仅仅是装载了虚拟化引擎的宿主机而已。因此,也只有管理员和技术人员可以跟物理机对话。 . T% ~% V& ?" b! C0 z" Z) ?* E8 `
在这些环境里(资源池和VSO),通常运行时都带有一个特定的安全文本文件,而该文件是可以被中央目录服务所访问的。我们需要考虑分离不同环境中各自的安全文本文件。毕竟,如果资源池仅仅供管理员和技术人员访问,看起来我们根本没有必要把资源池相关的安全文本文件开放为用户共享模式。 M' ~1 [4 @0 @. F, j+ ]2 N
2 i- h) d9 k3 l4 X5 p' f
事实上,用户不需要对资源池做任何操作。对于最终用户而言,他们也不需要和网络环境中的路由器或交换机做交互。因此,您需要为资源池和VSO创建独立的安全文本文件。例如,如果您运行了VMware或Citrix的虚拟机管理程序,而您的网络服务运行于Windows服务器上,那么资源池的安全文本文件会自动实现和VSO安全文本文件的分离(图1)。这也就是为什么宿主机环境(通常情况下是Linux)和VSO通常运行于不同操作系统的原因。这种方式也自然实现了两个安全文本文件的隔离。 5 s3 ?( c! X4 z# g. ? # X% e/ d8 |* R$ c9 F- v (图一) % i! Q8 `4 f+ u" o7 Z) n0 q8 m, Z! h1 m
) M9 I) X$ u* T z( y" {5 B1 Y! @4 b) o/ u0 \0 A: s- x- ^
! n8 _/ i7 }. \: e/ |% |0 Q 然而,如果宿主机和虚拟机所运行的操作系统相同的情况下,您就需要手动分离资源池和VSO的安全文本文件。这种情况一般发生在采用了微软的Hyper-V虚拟化管理程序,之上运行Windows网络环境的时候。同样,当我们运行了Linux网络环境而同时又采用了同一Linux系统下的虚拟化管理程序时也会发生。 * d9 q3 T3 D i+ R9 q3 D( J- O0 Z. o6 v" q% P) g4 @! u4 G
以Windows网络环境为例,您需要分别为资源池和VSO创建独立的活动目录树,然后同时断开它们之间的所有连接。在两个独立的架构中创建分离的安全文本也是为了防止发生从一个环境向另一个环境中的渗漏(图2)。 ) m6 ]# _! f8 H
$ P, ^( S0 X9 |. E' N" h/ b; H (图二) + A: B# B- F A8 k
$ K/ ~& T' [4 ~6 O( I
0 a7 p8 w5 ~ |+ U5 L" { u1 E, ^/ S2 |. H4 \/ U
$ ~" a& [7 m' Y( c: B: S! y% D/ G
& r" s) t/ a2 i& u! d, g% k 实现资源池的安全1 E9 X' A! E2 x3 l5 H* {7 W
+ x8 o; q+ ]! S9 ?. u6 H
, s+ X+ K! d" N5 D: w+ E* @8 A
为资源池创建独立的安全文本仅仅是实现虚拟架构安全的第一步。您还需要和其它的一些安全措施来配合使用。如下是一些额外的考虑: / L/ K1 H5 V; ^. i1 c& Z3 g: p9 J* B# c9 j, M7 r
掌控所有到资源池的访问以确保只有被信任的个体才具备访问权限。每个访问资源池的个体应该具备一个命名账户,而该账户和普通用户用来访问VSO的账户命名应该是有所区别的。 / E0 g& P8 w& I, c. Q: y3 d3 l: c9 Q. r0 w9 B q, t( F
掌控所有到资源池管理工具的访问。只有被信任的个体拥有访问资源池组件,如物理服务器、虚拟化管理程序、虚拟网络、共享存储,及其它内容相关的管理工具的权限。向未被认证的用户开放管理工具的访问权限,就等同于向那些恶意操作开放了IT系统架构。 3 I. U( P# _& |# f) `" f( t
$ Q; g+ W2 |+ w. R; i! H
管理虚拟化引擎或管理程序的访问,以及其上运行的虚拟机。所有的虚拟机都应该是首先通过系统管理员来创建和保护的。如果某些最终用户,如开发人员、测试人员或培训者,需要和网络环境中的虚拟机交互,那么这些虚拟机应该是通过资源池的管理员来创建和管理的。 . S( p7 i, Y: X, \5 o / a, Q0 [) Q' Q" O; n: z 控制虚拟机文件的访问。通过合理的访问权限来实现所有包含了虚拟机的文件夹以及虚拟机所在压缩文件的安全。无论是在线的还是离线的虚拟机文件都必须获得严格的管理和控制。理论上来讲,您需要同时对虚拟机文件的访问做监管。 ' j2 Y! f Y4 T3 O1 o9 t + b. d& f1 O- g7 ?3 t- G8 B 通过在宿主机上尽可能实现最小化安装来减少主机可能被攻击的接口。请确保虚拟化管理程序的安装尽可能的可靠。 7 t: I* `: A" D: l4 y) l+ R+ o4 Y9 @
5 I$ E5 [* K* `* c! G4 b
部署适合的安全工具。为了支持合理的安全策略,您的系统架构应该包含各种必要的工具,如系统管理工具、管理清单、监管和监视工具等等,包括一些常用的安全设备。 8 O) K) n* `- d# `6 O( ^# s" P& {$ a* u. K7 F7 j
分离网络流量。在一个正确设置的资源池系统中,应该包含有几个不同的私有网络用于:管理数据流量、在线迁移流量以及存储系统流量。所有的这些网络都应该和系统架构中的公网流量相分离。传统的安全方法在虚拟化的世界里依然是可以使用的。用户不仅需要对服务器和相关的应用做保护,而且需要监控哪些人可以对哪些资源进行访问,对进入数据中心的访问者做鉴定和管理。赋予在数据中心内工作的用户以适当的通关权限,并在他们完成认证后给予相对应的访问权限。 ! I% J+ q/ Y* h- Q4 d7 I
' q* E; Q; ^7 j3 Q" a- C& V+ ]7 R
另外,您还需要确保那些数据中心内可以做数据更改操作的人员都是拥有授权才这么做的,也就是说现有的安全方面的经验在虚拟环境里是可以获得延续的。如果您把现有的终端用户服务进程都迁移到了虚拟机和VSO上,那么传统的安全方法也应该位于同一级别上。 8 m* U. } }, Q; k O# w% U: n( W% w& V& ?; C( v 然而不幸的是,在为VSO提供物理资源的资源池级别上,从设计原理看,并不具备和用户进行交互的能力。资源池内的物理机仅仅是装载了虚拟化引擎的宿主机而已。因此,也只有管理员和技术人员可以跟物理机对话。 - E# ^$ z& U3 g/ u9 R B& p) n ; }; x: p+ m9 U 在这些环境里(资源池和VSO),通常运行时都带有一个特定的安全文本文件,而该文件是可以被中央目录服务所访问的。我们需要考虑分离不同环境中各自的安全文本文件。毕竟,如果资源池仅仅供管理员和技术人员访问,看起来我们根本没有必要把资源池相关的安全文本文件开放为用户共享模式。 % o# u9 h! I' Q
$ R, N9 I- d( T4 T 事实上,用户不需要对资源池做任何操作。对于最终用户而言,他们也不需要和网络环境中的路由器或交换机做交互。因此,您需要为资源池和VSO创建独立的安全文本文件。例如,如果您运行了VMware或Citrix的虚拟机管理程序,而您的网络服务运行于Windows服务器上,那么资源池的安全文本文件会自动实现和VSO安全文本文件的分离(图1)。这也就是为什么宿主机环境(通常情况下是Linux)和VSO通常运行于不同操作系统的原因。这种方式也自然实现了两个安全文本文件的隔离。 ) C: s s% i: V
D. R2 j8 E& ^& b' ?% f (图一) / T) [0 j9 a& @4 R- A 9 Z+ J. T+ s0 Y! \# P3 O& B& Q4 e0 {- o9 i/ J
) d. R7 S# a# W4 i# g
: l: Q! ^' e, v k" j$ @ 然而,如果宿主机和虚拟机所运行的操作系统相同的情况下,您就需要手动分离资源池和VSO的安全文本文件。这种情况一般发生在采用了微软的Hyper-V虚拟化管理程序,之上运行Windows网络环境的时候。同样,当我们运行了Linux网络环境而同时又采用了同一Linux系统下的虚拟化管理程序时也会发生。 2 k; O; g9 U" W7 W% B1 j
) ]: y8 |$ i0 w+ {! h7 v 以Windows网络环境为例,您需要分别为资源池和VSO创建独立的活动目录树,然后同时断开它们之间的所有连接。在两个独立的架构中创建分离的安全文本也是为了防止发生从一个环境向另一个环境中的渗漏(图2)。 7 I0 l8 C$ r4 E. t, |
6 u" i3 h# T* k# l7 r2 ~ (图二) $ F9 t3 J8 u3 [7 c$ {- ?, K- x4 K$ M( Q8 Y7 t1 t* C% Q) K
3 i; I) c# p7 ]4 L+ |- x
) ~8 e* R. W& J! t4 e
# d; b2 q/ P: Y% ?; g# W F# I# S$ v- P1 }* T 实现资源池的安全 9 P* C* U+ \; w9 W! s- K, Q( T3 |: l8 f& G, j2 E
c6 O7 [% q/ Z
为资源池创建独立的安全文本仅仅是实现虚拟架构安全的第一步。您还需要和其它的一些安全措施来配合使用。如下是一些额外的考虑: . s9 z- |7 W6 s1 p- i% u, j: f% w/ q3 Z# c
掌控所有到资源池的访问以确保只有被信任的个体才具备访问权限。每个访问资源池的个体应该具备一个命名账户,而该账户和普通用户用来访问VSO的账户命名应该是有所区别的。 # C3 U# F5 l- @2 |1 s
' g0 }2 c& ?8 l& d' _# A$ B6 S 掌控所有到资源池管理工具的访问。只有被信任的个体拥有访问资源池组件,如物理服务器、虚拟化管理程序、虚拟网络、共享存储,及其它内容相关的管理工具的权限。向未被认证的用户开放管理工具的访问权限,就等同于向那些恶意操作开放了IT系统架构。 - }' {* I7 ]! O" L3 I, a
5 |( E# C7 R5 c- M, f& k 管理虚拟化引擎或管理程序的访问,以及其上运行的虚拟机。所有的虚拟机都应该是首先通过系统管理员来创建和保护的。如果某些最终用户,如开发人员、测试人员或培训者,需要和网络环境中的虚拟机交互,那么这些虚拟机应该是通过资源池的管理员来创建和管理的。 0 J8 R" W" u \7 L9 a! _* l h
' s: l$ ~: f7 j) i
控制虚拟机文件的访问。通过合理的访问权限来实现所有包含了虚拟机的文件夹以及虚拟机所在压缩文件的安全。无论是在线的还是离线的虚拟机文件都必须获得严格的管理和控制。理论上来讲,您需要同时对虚拟机文件的访问做监管。 % w' k8 B2 z& v$ |: _ 5 \: ~/ g+ l! P 通过在宿主机上尽可能实现最小化安装来减少主机可能被攻击的接口。请确保虚拟化管理程序的安装尽可能的可靠。 3 i: Q& O* r+ b0 ]
0 n, ~' N0 Z' {5 U* d: t+ O/ n 部署适合的安全工具。为了支持合理的安全策略,您的系统架构应该包含各种必要的工具,如系统管理工具、管理清单、监管和监视工具等等,包括一些常用的安全设备。 6 ], U. W( p) { C/ n& `! @3 J3 [, Q- v$ T: N
分离网络流量。在一个正确设置的资源池系统中,应该包含有几个不同的私有网络用于:管理数据流量、在线迁移流量以及存储系统流量。所有的这些网络都应该和系统架构中的公网流量相分离。 & m" N' f; Z! Q8 k( t5 G& ]& N