操作指南:Windows 环境下进行网络服务器安全测试

日期: 2010-07-27 作者:Kevin Beaver翻译:Dan 来源:TechTarget中国 英文

上篇文章中,我们已经弄明白了网络服务器存在的安全问题,接下来,让我们看看网络服务器有哪些关键的配置要素。 步骤2:安装并配置你的网络服务器   与其为网络服务器的所有版本和平台提供可用的特定配置设置和使用说明,不如从分层的安全角度去考虑并检查网络服务器安全评估过程中常见的薄弱环节。   需要对下面的关键问题加以处理,用以最大限度地确保网络服务器的安全:   网络服务器软件/硬件的位置   1. 把网络服务器安装在非Windows操作系统所在分区(或驱动器)上。一些恶意软件及可利用的漏洞可以获取、或得到授权访问C盘或主分区权限,但它们可能不会影响到D盘或其他独立的分区。

你需要把每一层的……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

上篇文章中,我们已经弄明白了网络服务器存在的安全问题,接下来,让我们看看网络服务器有哪些关键的配置要素。

步骤2:安装并配置你的网络服务器

  与其为网络服务器的所有版本和平台提供可用的特定配置设置和使用说明,不如从分层的安全角度去考虑并检查网络服务器安全评估过程中常见的薄弱环节。

  需要对下面的关键问题加以处理,用以最大限度地确保网络服务器的安全:

  网络服务器软件/硬件的位置

  1. 把网络服务器安装在非Windows操作系统所在分区(或驱动器)上。一些恶意软件及可利用的漏洞可以获取、或得到授权访问C盘或主分区权限,但它们可能不会影响到D盘或其他独立的分区。你需要把每一层的安全都考虑进去。

  2. 将服务器置于网络的一个半可信区域上,如DMZ区、或至少是无法轻易从主要用户网络上访问的独立VLAN。这样既可以隔离网络服务器本身,又有助于在攻击者有权访问网络服务器时抑制攻击者的进一步访问。

  操作系统

  1. 确保Windows和网络服务器软件都已完全安装补丁。当使用强度弱的密码时,每次看到产品系统缺少补丁,我都很惊讶。不管是不是重要的系统,都要坚持定期给服务器安装补丁。此外,不要忘了给第三方应用程序也安装补丁,如Adobe Acrobat、Firefox和VNC等。

  2. 删除所有不必要的共享,并确保已更改驱动器上的默认共享和NTFS权限。默认情况下,Windows Server 2003和2008系统在这方面很安全,可我也经常看到为了“方便”而更改了一些权限。


  3. 如果情况允许,禁止空会话连接到Windows。除非你正在做一些深入的网络管理工作或特殊的脚本处理,否则在内部网络中,任何人都不可能有理由以这种方式枚举你的服务器。

  4. 最小化本地Windows账户的数量和管理员账户数量。

  5. 除了运行系统中最重要的服务以外,禁用所有其它服务,包括终端服务、FTP、SMTP、路由和远程访问。这将释放网络服务器软件的大量资源,并降低网络服务器系统的攻击面,使其不易受到安全破坏。


  6. 启用Windows防火墙。如果可能的话,可以考虑安装一个基于主机的IPS。这对于可以提供公开访问的网络服务器而言犹为重要。如果此方法对你来说不是一个好选择,请考虑启用网络应用程序防火墙(WAF)。虽然它有点过时,但下图却显示了在一台普通的老式网络服务器进行的各种蠕虫病毒传播、端口扫描和其他的互联网潜在攻击。如果你不知道上述保护措施,对普通网络服务器实施的攻击绝对很惊人。

windows,网络服务器,安全 
图1

  Web服务器软件

  1、 对以前的IIS 6.0版本,运行/启用IIS 功能锁定功能(IIS 6.0默认就是“锁定”的)。最好是安装使用IIS 7或者最新的Apache服务器的Windows版。

  2、 启用其他的缓冲区溢出、输入过滤、连接控制和入侵防护措施(例如,对于Apache服务器,可使用ModSecurity防火墙;对于Windows下的IIS,可使用安全的TCP/IP注册表设置)。

  3、禁用不必要的动态内容模块,如ASP和WebDAV。

  4、在可能的情况下尽量使用安全的身份验证方法(如在IIS 6.0及以上版本中,使用高级摘要式身份验证)。

  5、对服务器目录设置特别的访问控制,只对工作所需目录和文件开放浏览及枚举功能。

  6、删除不需要的默认脚本、杂项文件甚至是标题页扩展支持。

  7、小心检查所有名为robots.txt的文件,因为它们有可能向攻击者泄露服务器的敏感区域。

  8、更改默认的标题以屏蔽、掩盖或伪造Web服务器的版本信息。虽然这样做并不能保证十足的安全,但也算是一层安全防护。Port80软件公司还为IIS提供了一个非常小巧的反侦察软件,叫做ServerMask。

  9、安装反病毒软件,防止通过Web应用程序上传到服务器的恶意软件感染。

  10、禁用SSL 2和低加密密码(low encryption cipher,密钥长度低于128比特),安装SSL 3。

  如果想了解强化Windows和IIS的安全的详细步骤,您可以查询微软公司的Windows Server 2008安全规范管理工具包,以及互联网安全中心的IIS和Windows基准测试程序,从中你可以得到一些好的技巧和建议。对于Apache服务器,互联网安全中心的Apache是一个很好的参考。联系其他一些厂商,向他们询问锁定网络服务器的具体要求。美国国家标准与技术研究所(NIST)所提供的《公共网络服务器安全指南》也是网络服务器安全领域不错的入门资料。

  本过程的最后一步是对网络服务器的安全性进行测试。

步骤3:测试网络服务器的安全性

  人们通常认为,一个安全的服务器配置就意味着一台服务器的安全得到了保证。话虽如此,但却很难做到。您需要仔细检查您的安全设置,而且要非常仔细、不遗余力。在实际工作之前,您需要使用一些安全测试技术和工具来评估网络服务器的安全性,以增强您对系统安全性的信心。下面列举的是我最喜欢的网络服务器安全测试工具:

  •   HTTrack网站镜像工具和Google,它们可以知道别人都能从你的网站上收集到什么信息;
  •   GFI 公司的网络安全扫描管理软件和QualysGuard漏洞扫描工具,它们可以扫描出操作系统漏洞、未安装的补丁以及其他各种安全信息;
  •   Metasploit渗透工具,可以利用扫描阶段发现的操作系统、Web服务器或其他漏洞;
  •   Acunetix公司的Web Vulnerability Scanner、N-Stealth Security Scanner和WebInspect,用于进一步测试Web服务器和相关应用程序的安全性。

  此外,请记得测试网络中所有网络服务器的安全性,而不仅是测试那些具有高可见性的服务器。你可能从来没有想到,攻击者常常攻击那些不常见的服务器,并以之为跳板进一步入侵你的整个网络。请找出其他运行在网络内部的网络服务器(如下图所示),你可以使用诸如SuperScan之类的工具快速扫描子网内的80、443、8080端口,以及其他可能指向网络服务器的非标准端口。

windows,网络服务器,安全 
图2

  现在,你已经完成了最后一项安全测试,是时候为之前找到的漏洞安装补丁,更进一步锁定你的服务器了。一旦这样做,就大功告成了,至少在某些变动或新漏洞/威胁出现之前可以这么说。好消息是,既然您你已经从头到尾经历过一次安全测试过程(在系统中修修补补),那么你还可以不断重复这个过程。

作者

Kevin Beaver
Kevin Beaver

Kevin Beaver是一名优秀的信息安全顾问与作者。拥有超过17年的IT工作经验,擅长做信息安全评估。Beaver已经写了五本书,包括《Hacking For Dummies》《Hacking Wireless Networks For Dummies》《The Practical Guide to HIPAA Privacy and Security Compliance》等。

相关推荐