在默认设置条件下直接运行windows,很多端口就会处于开放状态。由于多种服务会自动起动,因此不需进行复杂的设置就能够使用各种服务。但如果置之不理,就可能成为攻击者的攻击对象。安全对策的基础是严格区分必要和不需要的服务,然后关闭不需要的服务。为此就必须了解windows在默认设置中处于开放状态的具有代表性的端口的作用及其危险性,并进行适当的设置。
通过因特网,服务器硬盘中的内容全部都可以看见。而且还能够非常轻松地篡改和删除其中的数据。也许读者会想:哪里有有设置如此笨拙的服务器?!很多人觉得只要不进行极端的设置、故意对外公开硬盘中的内容,就不会出现这种情况。
但实际上,在windows中,即便管理员并非明确地起动某种服务、或者开放某个端口,也有可能发生这种情况。
在默认设置下,windows会开放提供文件共享服务的tcp的139号端口。因此,在默认条件下起动文件共享服务后,系统就进入等待状态。由此,机器就会始终处于被攻击者访问共享资源的危险境地。而共享资源则可以利.net命令轻松地进行分配(图1)。尽管c盘如果没有管理员权限就无法共享,但如果不经意地将guest帐号设置为有效以后,就能够访问c盘,这样一来就非常轻松地破坏硬盘。而且,今后也有可能发现其它利用文件共享服务发动攻击的严重安全漏洞。
安全对策的基本原则是关闭不需要的服务。如果不起动服务,即便外部发来连接请求,机器也不会作出响应。要做到这一步,电脑管理员就必须充分了解哪些服务是必须的,以及目前实际上起动了哪些服务。
但是,在windows中,在默认条件下会起动很多服务,而且很多时候各服务的作用也不容易搞清楚。而很多管理员不仅认识不到端口开放的危险性,而且在不了解服务的作用和必要性的情况下就会直接连接因特网。
应该注意的5个端口
那么,实际上在windows默认条件下所开放的端口有哪些呢?笔者在安装了windows系统后,对在默认条件下开放的端口进行了一次调查。调查中使用了免费端口扫描工具“nmap”(http://www.insecure.org/nmap/)。
结果如表1和表2。在几乎所有的windows中所开放的端口包括135、137、138和139。此外,在2000、xp和.net server中445端口也是开放的。windows在默认条件下开放的众所周知的端口就是这5个。
这些到底是不是真正必要的服务呢?要想下结论,就必须充分了解这些端口各自的作用。虽说在默认条件下是开放的,但如果保持这种默认设置不变,就会在无意识的情况下受到非法访问。因此,应该尽可能关闭不需要的服务。无论如何也不能停止的服务必须使用过滤软件,确保能够防止外部访问。
下面对几乎所有的windows在默认条件下开放的最具代表性的5个端口即135、137、138、139和445等各自的作用作一详细介绍。了解它们的作用后,就能够推测出开放端口后可能存在哪些危险,从而就可以方便地制定相应的对策。
利用工具验证到的135端口的危险性
虽说大家都说非常危险,但即难以了解其用途,又无法实际感受到其危险性的代表性端口就是135号。但是2002年7月能够让人认识到其危险性的工具亮相了,这就是“ie'en”。
该工具是由提供安全相关技术信息和工具类软件的“securityfriday.com”公司(http://www.securityfriday.com)在网上公开提供的。其目的是以简单明了的形式验证135端口的危险性,呼吁用户加强安全设置。不过,由于该工具的威力非常大,因此日本趋势科技已经将该工具的特征代码追加到了病毒定义库文件中。如果在安装了该公司的病毒扫描软件的电脑中安装ie'en,就有可能将其视为病毒。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器