全面解析虚拟机安全(下)

日期: 2010-08-04 作者:戴鹏飞 来源:TechTarget中国

  四、网络安全

  1、虚拟机层端口的防火墙   

  除了宿主机上开放的端口,虚拟机层也会使用宿主机的IP开放一些端口,这些端口可以允许其他人远程连接到虚拟机层,以查看或配置虚拟机、磁盘,或者执行其他任务。对这些端口的访问应该受到严格的控制,至少需要一个宿主机的防火墙,只允许授权者对这些端口的访问。在理想的安全环境下,应该不允许任何远程访问,这样核心进程可以绝缘于外部环境。但在企业级的应用上这不现实,可以考虑设置一台单独的管理机进行管理。

  2、使用加密通信    

  尽可能的使用通信加密手段,可以用HTTPS、TLS、SSH或者加密VPN来管理。仅有加密机制还是不够的,还应有身份鉴别和认证,以防止伪造源IP攻击、连接劫持、中间人攻击。

  3、虚拟机身份验证  

  虚拟机和宿主机一样,也需要配置验证方式。比如密码的加密,登陆次数的锁定或延时等。

  五、服务和配置

  1、禁用部分功能   

  对于单一操作系统的虚拟机来说,总会有一些不需要的服务在启用,这些都是不必要的,而且他们占用了资源,可以关闭:屏幕保护、磁盘碎片整理、搜索工具(比如搜索磁盘内的文件)、病毒和恶意软件扫描、文件完整性检查、日志和日志分析工具、系统更新。这些功能的关闭都不会影响虚拟机运行。

  比如空闲检测,系统会监视键盘活动、网络活动、磁盘负载、CPU利用率,来判断系统是不是空闲,如果是空闲的话,他可能会运行屏保或者其他程序。但由于虚拟机只了解自己的情况,别的虚拟机是不是更需要资源它不知道,它认定自己已经空闲下来了,于是开始运行程序,那么他就占据了相关的资源.在时间上,很多操作系统和应用程序会把低级别的工作安排在周末的一个固定时间。问题是,所有的虚拟机都这么做的话,就拉开了抢夺资源的大战,甚至这个时候,你的系统负载会超过业务繁忙时段。

  这个问题有两个方法:

  A:当然是关闭那些不需要的功能

  B:错开低优先级应用的时间,例如在linux下,输入sleep $[ $RANDOM / 32 ],这个命令会在一个随机的秒数内暂停运行程序,这个随机的秒数在0-1023秒之内。如果系统没有提供随机休眠的话,可以手工设置虚拟机的任务开始时间。

  2、文件共享   

  很多虚拟机软件支持在宿主机和虚拟机之间的无缝文件共享,这样带来了极大的方便,也引入了安全风险。这样虚拟机就有机会访问宿主机,甚至对共享的文件进行操作。即使没有共享目录,被激活的文件也有机会跑到虚拟机的环境之外,这个方便的口子可以被利用来攻击。除非有业务需要,明确要求文件共享,否则禁用文件共享功能。

  3、时间同步   

  计算机的系统时钟是出了名的不准确,这还是在正常的情况下,如果BIOS或者电源出了问题,那计算机的时间就更不靠谱了。在虚拟机环境下,这个问题更严重,因为他们缺省都是依赖于宿主机的时钟,时钟的不准确性会导致任务的提前或滞后,比如我们限制周六到周日这两天,某服务关闭,由于时间的重大差异,可能会造成业务中断。同时日志也充满了未知的不确定,你根本无法从日志上得出事件的真实事件。解决他们的办法是配置同步时间服务器,这个服务器应该离你的网络很近。

  4、操作系统安全加固   

  对操作系统进行各项安全的加固,就像它是一个物理机一样。这不是本文讨论的重点,网上有很多checklist可供参考。

  5、断开不使用的设备   

  虚拟技术允许虚拟机直接、间接的控制物理设备,比如软驱、光驱、USB接口、打印机等。在虚拟机启动的时候,他们会检测这些硬件设备,如果多个虚拟机同时启动,则第一个启动的虚拟机优先使用,其他虚拟机的检测会被锁定,这会造成不必要的启动延迟。另外,如果在驱动器里有恶意代码,虚拟机可能会自动装入并执行,类似与自动运行的功能。建议关闭所有可控制的物理设备,或者只在需要的时候才允许连接。

  六、管理

  1、远程管理方法   

  指定管理机的IP地址。设置强壮的用户名、密码,如果对安全有更高要求的话,可以使用双因素认证,PKI机制或一次性密码。通信管理也需要加密和认证,比如VPN或SSH。

  2、SSH  

  SSH是个跨平台的终端管理程序,可以运行基于文本、图形的远程连接。SSH的客户端和服务端可以适用于不同的操作系统,灵活且安全。但要注意在使用SSH的时候,包括scp, sftp或者任何加强版本,都要禁用版本1协议。还要禁止管理员直接登录,用普通账户登录然后切换到管理员。安全要求较高,应选用DSA/RSA机制以防止中间人攻击。

  3、VNC   

  VNC的英文名叫Virtual Network Computing,虚拟网络计算机,这个名字和虚拟机没有任何关系,它是一种软件方法,可以提供远程桌面功能,程序运行一个虚拟机,把屏幕推送到VNC桌面上。你可以连到一个VNC桌面运行程序,就像在本地一样。断开之后,你安排的工作仍然会在后台继续运行。

  类似于SSH,VNC提供了一个跨平台的工具,但是和SSH不同的是,VNC很难进行加密。所以VNC连接不能暴露在互联网上,如果需要从互联网连接的话,使用VPN或SSH隧道。

  4、WEB管理   

  有些管理工具还提供了HTTP的管理界面,像前面一样,也应使用加密手段HTTPS。

  七、审计   

  建议给虚拟机们提供一个集中的日志服务器,这个日志服务器也可以以虚拟机的状态来运行。好的虚拟机审计要包括:电源状态(开启、关闭、暂停、恢复),对硬件配置的更改,登录尝试、提升权限的账户。此外还应对文件的复制、移动、删除做审计。

  全面解析虚拟机安全(上)

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐