一. 是否必须虚拟化?
使用虚拟化最大的原因是降低成本,但是对于WEB应用为主的业务,是不是可以选择其它的方式降低成本?毕竟虚拟机也是需要开销的。也许可以在一个服务器上不同的端口跑多个web服务,同时再跑一个反向代理即可。为了避免一台物理服务器宕机整个业务挂掉的情况,可以把同一个业务的多个WEB后端运行到不同的物理机器上面。虚拟化环境或者这种类似虚拟化的情况,一台物理机宕机,基本上相当于传统机房的一台交换机宕机了。基于这种模式做一个管理平台,用起来应该也是很舒服的。

当然,在安全性上面这种方式比虚拟化稍微差一些。不仅仅是差在网络层面,还差在系统层面。一个业务的web被渗透,很轻易的就能够扩散到其它的应用,传统的安全域基本被打散了。不知道用chroot、jailkit之类隔离各个web进程、加固,能起到多大的作用。

二. 虚拟化的安全问题
对于虚拟化而言,不同的业务依旧在不同的服务器上,如果虚拟化系统可靠则系统安全性和传统IDC服务器相当。但是相比传统方式,依旧有自己的问题,主要表现在网络层面。简单的说,现在的虚拟化只不过是把交换机的下降到了服务器,把宿主机当成一个装了Linux系统并且和server共享了CPU、内存、存储资源的交换机在使用。传统的安全域、ACL、流量管理依旧是难以实施的。思科的VN-TAG,VMware的VDS,惠普的VEPA,Chelsio网卡内嵌CPU、虚拟端口和虚拟交换机,都试着给出一个通用的方案从根本上解决这个问题。

我们的虚拟化也遇到了类似的情况,但是是通过软件方式解决的。简单的说厂商们试图在二层解决问题,而我设计安全方案当初是尽量把网络简化,从三层去考虑,把二层的一些东西该杀掉的杀掉。目前看来还是可以的,阿里的虚拟化已经有较大规模的使用了,状态还不错。

我并不是说厂商的不好,他们的设计思路都非常精彩,只是他们要考虑的东西太多,需要兼容各种环境各种设备。对于我们这边来说,只需要给出我们自己特定环境下的解就行了。这就是定制化,互联网企业定制化的独特的东西,类似于前几天flashsky说的web安全的发展一样,安全厂商、设备厂商逐渐开始慢起来了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注