前言:对于很多运维来说服务器的系统安全是让人十分揪心的事情。而Windows Server服务器在很多管理员看来又是噩梦,不仅漏洞百出,而且没有很好的工具来进行维护。其实这是错误的,那么如何才能完善Windows Server服务器的安全性能呢?那么经常使用的安全机制在被攻击时又有哪些表现呢?为此我们请到了资深微软MVP张诚老师为我们解答这些问题。
张 诚
人物简介:张诚 微软资深系统架构师,IT 基础架构专家。三届微软全球最有价值专家(MVP),Windows Desktop Experience 方向,微软 TechED 大会特约讲师。他是微软中文社区 Windows 版版主,清华大学出版社特约作者,ITECN 博客(微软官方指定推荐博客)核心作者。他熟悉微软 Windows 操作系统和活动目录,具有多年微软服务器产品的项目和培训经验,现致力于传播绿色 IT 概念。曾获两次获得微软 CPE 杰出贡献奖、微软大中华区“认证达人”称号。著作有《Windows 7 安全指南》、《Windows 7 实用宝典》、《精通 Windows Powershell 脚本编程》等。
51CTO:如何完善Windows Server服务器的安全性能。
张诚:关于Windows服务器的安全话题,可以说是一个老生常谈的话题。经常听有人说在Windows平台总会漏洞百出,安全性能不及Linux和Unix,其实这都是错误的说法。就好比前阵子挪威出现的枪击事件,再安全的国度总会有意外情况发生,而Windows服务器之所以总是处于风口浪尖,和其市场占用率不无关系。纵然是树大招风,但是只要篱笆扎得紧,野狗也就钻不进来了。
关于任何服务器,包括客户端,重中之重就是打系统补丁,系统补丁至于操作系统的重要性不言而喻。因此这里就涉及到了一个新的话题,微软对于服务器操作系统的支持力度,比如微软对于Windows Server 2008 R2的支持肯定要远远胜于Windows Server 2000,因此我们在企业中就要尽可能的去升级到最新的平台,但是我这里说是尽可能,因为升级到新平台是需要花上一定的代价。
其次就是对于服务器的配置,就拿活动目录服务器来说,整个森林体系架构的设计,域的账户策略的定义,这些都需要事前通过大量的时间去设计,去做测试的,这个过程其实非常重要,但是现在的很多企业都很忽视这一点。我个人比较推崇的是微软所提出的“深层防御体系”,一共有7个层面,只要以这7层来设计整个网络体系,我觉得还是可以处于比较高的安全等级。
51CTO:在日常工作中Windows Server服务器最常遇到哪种形式的攻击?每种攻击的威胁都有哪些?
张诚:这个问题问得范围很广,因为Windows服务器只是一个基础平台,在上面跑得服务器程序才是重点,但这里的难点是,Windows服务器和上面跑得服务器程序又是一个相辅相成的关系。比如在Windows Server 2003上运行SQL Server 2000,如果SQL Server 2000上的SA启用了弱口令,被一些破解工具扫出,而这台SQL Server 2000又启用了XP_CMDSHELL这个存储过程(在2000上默认是启用的),那作为攻击者就很容易的通过运行"net user"这个命令来添加管理员帐号,而一旦Window Server上的远程桌面服务器被打开,那么攻击者就可以轻而易举的攻破服务器防线。因此做好服务器的防护和设置只是一部分内容,更多的要以更加宏观的角度来看待安全问题。
就目前比较多的服务器攻击而言,在企业内部要注意的是蠕虫病毒,我个人所在的企业就遇到过这个问题。当时企业网络中有受感染的客户端连入,而企业中的很多客户端计算机又没有及时更新补丁,因此这个时候蠕虫的冲击速度是非常快的,不停的尝试破解AD的管理帐号。最后只能借助于专杀工具,才把问题给解决了。
另外,现在比较流行的虚拟化,也要注意安全保护。因为虚拟化就好比把鸡蛋放在一个篮子,因此这个篮子如果被攻破了,那么其带来的影响可能是毁灭性的。
51CTO:Windows Server自带的高级防火墙在应对攻击的时候表现如何?在应对攻击的时候优点和缺点都有哪些?
从Windows Server 2008开始,Windows里面就附带了高级防火墙(WFAS)的功能,具体打开的命令是wf.msc(而是用firewall.cpl可以打开基本防火墙)。这个防火墙最大的特点就是支持出战数据监测和IPSEC集成,将Windows防火墙功能和Internet 协议安全(IPSec)集成到一个控制台中。使用这些高级选项可以按照环境所需的方式配置密钥交换、数据保护(完整性和加密)以及身份验证设置。可以针对Windows Server上的各种对象创建防火墙规则,配置防火墙规则以确定阻止还是允许流量通过具有高级安全性的Windows防火墙。传入数据包到达计算机时,具有高级安全性的Windows防火墙检查该数据包,并确定它是否符合防火墙规则中指定的标准。如果数据包与规则中的标准匹配,则具有高级安全性的Windows防火墙执行规则中指定的操作,即阻止连接或允许连接。如果数据包与规则中的标 准不匹配,则具有高级安全性的Windows防火墙丢弃该数据包,并在防火墙日志文件中创建条目(如果启用了日志记录)。
如果说有弱点的话,我觉得还不足够的智能,还不足以去感应服务器上的角色,从而自动变化配置。可能我的要求有点高吧。
51CTO:作为运维人员来说每一个企业都会有不同的生产环境,打造一套合适的生产环境需要运维人员注意那些?
张诚:还是说一下我刚刚提及的“深层防御体系”,从上到下分别是数据层、应用程序、主机、内部网络、边缘、物理安全和最下面的策略制定。在数据层面,我们可能需要用到ACL、EFS来加密我们的数据。在应用程序层,要用防病毒软件和我刚刚体积的合理化的配置来解决安全性的问题。在主机层,要定期更新系统补丁,使用AD完成身份验证的工作。在内部网络层,我们要使用网络分段、IPSec以及NIDS技术来加固。在边缘层,自然就是通过防火墙、VPN隔离来把篱笆扎得更紧。而物理安全是我们经常忽略的一个问题,这里面牵涉到机房人员的进出,服务器的硬件状态等,这里我建议大家可以去参考机房的一些建设模型。而最后我想强调的就是公司的策略制定,因为一切的一切都是以人为本,人的教育意识问题永远放在第一位,秦始皇治理天下的首要目的就是车同轨,书同文,一旦用户的意识有了一致,那么这个地基就算打牢固了。
51CTO:最后您有没有对Windows运维人员分享一些工作中的技巧或者经验呢?
张诚:可以多去看一些优秀的技术博客和书籍,然后适当的去接触一些新技术。对于自己比较感兴趣的,用虚拟机,搭建一个虚机环境,做好快照,然后一步一步的去配置,并把心得体会,可以通过博客或者论坛的途径来分析给更多的技术同行,广交良友。