应该注意的5个端口

在默认设置条件下直接运行Windows,很多端口就会处于开放状态。由于多种服务会自
动起动,因此不需进行复杂的设置就能够使用各种服务。但如果置之不理,就可能成为
攻击者的攻击对象。安全对策的基础是严格区分必要和不需要的服务,然后关闭不需要
的服务。为此就必须了解Windows在默认设置中处于开放状态的具有代表性的端口的作用
及其危险性,并进行适当的设置。
通过因特网,服务器硬盘中的内容全部都可以看见。而且还能够非常轻松地篡改和
删除其中的数据。也许读者会想:哪里有有设置如此笨拙的服务器?!很多人觉得只要
不进行极端的设置、故意对外公开硬盘中的内容,就不会出现这种情况。
但实际上,在Windows中,即便管理员并非明确地起动某种服务、或者开放某个端口
,也有可能发生这种情况。
在默认设置下,Windows会开放提供文件共享服务的TCP的139号端口。因此,在默认
条件下起动文件共享服务后,系统就进入等待状态。由此,机器就会始终处于被攻击者
访问共享资源的危险境地。而共享资源则可以利用net命令轻松地进行分配。尽管C盘如
果没有管理员权限就无法共享,但如果不经意地将Guest帐号设置为有效以后,就能够访
问C盘,这样一来就非常轻松地破坏硬盘。而且,今后也有可能发现其它利用文件共享服
务发动攻击的严重安全漏洞。
安全对策的基本原则是关闭不需要的服务。如果不起动服务,即便外部发来连接请
求,机器也不会作出响应。要做到这一步,电脑管理员就必须充分了解哪些服务是必须
的,以及目前实际上起动了哪些服务。
但是,在Windows中,在默认条件下会起动很多服务,而且很多时候各服务的作用也
不容易搞清楚。而很多管理员不仅认识不到端口开放的危险性,而且在不了解服务的作
用和必要性的情况下就会直接连接因特网。
应该注意的5个端口
那么,实际上在Windows默认条件下所开放的端口有哪些呢?笔者在安装了Windows
系统后,对在默认条件下开放的端口进行了一次调查。调查中使用了免费端口扫描工具
“Nmap”(http://www.insecure.org/nmap/)。
在几乎所有的Windows中所开放的端口包括135、137、138和139。此外,在2000、X
P和.NET Server中445端口也是开放的。Windows在默认条件下开放的众所周知的端口就
是这5个。
这些到底是不是真正必要的服务呢?要想下结论,就必须充分了解这些端口各自的
作用。虽说在默认条件下是开放的,但如果保持这种默认设置不变,就会在无意识的情
况下受到非法访问。因此,应该尽可能关闭不需要的服务。无论如何也不能停止的服务
必须使用过滤软件,确保能够防止外部访问。
下面对几乎所有的Windows在默认条件下开放的最具代表性的5个端口即135、137、
138、139和445等各自的作用作一详细介绍。了解它们的作用后,就能够推测出开放端口
后可能存在哪些危险,从而就可以方便地制定相应的对策。
利用工具验证到的135端口的危险性
虽说大家都说非常危险,但即难以了解其用途,又无法实际感受到其危险性的代表
性端口就是135号。但是2002年7月能够让人认识到其危险性的工具亮相了,这就是“IE
`en”。
该工具是由提供安全相关技术信息和工具类软件的“SecurityFriday.com”公司(
http://www.securityfriday.com)在网...牡缒灾邪沧癐E`en,就有可能将其视为病
毒。
可以看到SSL的内容
IE`en是一种远程xx作IE浏览器的工具。不仅可以从连接到网络上的其他电脑上正在
运行的IE浏览器中取得信息,而且还可以对浏览器本身进行xx作。具体而言,就是可以
得到正在运行的IE浏览器的窗口一览表、各窗口所显示的Web站点的URL及Cookie,以及
在检索站点中输入的检索关键词等信息。
该工具所展示的最恐怖的情况是,在非加密状态下可以看到本应受到SSL保护的数据
。所以可以由此获取加密前或者还原后的数据。如果使用IE`en,甚至能够直接看到比如
在网络银行等输入的银行现金卡密码等信息。
IE`en使用的是Windows NT4.0/2000/XP标准集成的分布式对象技术DCOM(分布式组
件对象模块)。使用DCOM可以远程xx作其他电脑中的DCOM应用程序。该技术使用的是用
于调用其他电脑所具有的函数的RPC(Remote Procedure Call,远程过程调用)功能。
而这个RPC使用的就是135端口。
利用RPC功能进行通信时,就会向对方电脑的135端口询问可以使用哪个端口进行通
信。这样,对方的电脑就会告知可以使用的端口号。实际的通信将使用这个端口来进行
。135端口起的是动态地决定实际的RPC通信所使用的端口的端口映射作用。
如果是利用DCOM技术开发的应用程序,都可以像IE浏览器那样进行xx作。比如,连
接正在利用Excel工作的其他电脑,获取单元格中输入的值,或者对这个值本身进行编辑
并非不可能的事情。
不过,要想利用该方法xx纵他人的电脑,就必须知道该机的IP地址和注册名以及密
码。因此,通过因特网而受到第三者的攻击的可能性非常低。而危险性最高的是公司内
部环境。尤其是客户端更为危险。这是因为在大多情况下不仅可以轻而易举地得到他人
的IP地址和注册名,而且密码的管理也不是很严格。学校以及网吧等多台电脑采用相同
设置的场合也需加以注意。
在公司内部环境中务必将DCOM设置为无效
回避这种危险的最好办法是关闭RPC服务。在“控制面板”的“管理工具”中选择“
服务”,在“服务”窗口中打开“Remote Procedure Call”属性。在属性窗口中将启动
类型设置为“已禁用”,自下次起动开始RPC就将不再启动(要想将其设置为有效,在注
册表编辑器中将“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/RpcSs”
的“Start”的值由0x04变成0x02后,重新起动机器即可)。不过,进行这种设置后,将
会给Windows的运行带来很大的影响。比如Windows XP Professional,从登录到显示桌
面画面,就要等待相当长的时间。这是因为Windows的很多服务都依赖于RPC,而这些服
务在将RPC设置为无效后将无法正常起动。由于这样做弊端非常大,因此一般来说,不能
关闭RPC服务。
那么接下来要考虑的对策是信息包过滤。但是这同样也会给Windows的运行带来各种
影响。比如,如果在客户端关闭135端口,就无法使用Outlook连接Exchange Server。因
为管理分布式处理的MSDTC、负责应用程序之间的信息交换的MSMQ以及动态地向连接网络
的电脑分配地址的DHCP等服务也都使用这个端口。
精通Windows网络的高桥基信表示:“在Windows服务中,有很多服务需要使用RPC。
另外,Windows网络并不是设想在客户端与服务器之间存在防火墙的状态而组建的。因此
公司内部网络环境中使用过滤功能时,应该在充分验证后加以实施”。也就是说,在公
司内部环境中不仅是客户端,即便是服务器也无法关闭135端口。服务器方面,为了使活
动目录和主域实现同步,就要使用135端口。
但是却有办法只将DCOM设置为无效。这就是利用Windows NT/2000/XP标准集成的“
dcomcnfg.exe”工具。从DOS命令中运行该工具以后,打开分布式COM配置属性窗口,选
择“默认属性”页标,取消“在这台计算机上启用分布式COM”选项即可。在公司内部不
使用DCOM,并且不想让其他计算机xx作自己电脑COM的时候,就应该采用这种设置。
如果是客户端,也有办法禁止远程登录电脑。依次选择“控制面板”、“管理工具
”和“本地安全策略”,打开本地安全设置窗口,选择本地策略中的用户权利指派,然
后利用该项下的“拒绝从网络访问这台计算机”,指定拒绝访问的对象。如果想拒绝所
有的访问,最好指定为“Everyone”。
公开服务器应该关闭135端口
公开于因特网上的服务器基本上不使用RPC。如前所述,尽管危险性比公司内部环境
低,但只要不运行使用DCOM的特定应用程序(只要不是必须的服务),就应该关闭135端
口。比如只是作为Web服务器、邮件或DNS服务器来使用的话,即便关闭135端口,也不会
出现任何问题。
不过需要通过因特网来使用DCOM应用程序时,就不能关闭该端口。但需要采取严格
管理密码的措施。
具体而言,就是说通过137端口除了该机的计算机名和注册用户名以外,还可以得到
该机是否为主域控制器和主浏览器、是否作为文件服务器使用、IIS和Samba是否正在运
行以及Lotus Notes是否正在运行等信息。据SecurityFriday.com公司的Michiharu Ari
moto介绍:“除了计算机名以外,还可以准确地了解IIS、主域控制器、主域浏览器以及
文件服务器等相关信息。虽说不是百分之百,但有时还能够得到其他信息”。
也就是说,只要您想获得这些信息,只需向这台个人电脑的137端口发送一个请求即
可。只要知道IP地址,就可以轻松做到这一点。不只是公司内部网络,还可以通过因特
网得到这样的信息。
对于攻击者来说,这简直太方便了,可以很容易地了解目标电脑的作用及网络的结
构。随意地泄漏这样的信息,就好象是很友好地告诉攻击者应该如何来攻击自己的电脑
。比如,如果知道IIS服务正在运行,就可以轻松地了解这台电脑上已经起动的服务。攻
击者根本不必特意地通过端口扫描来寻找可以下手入侵的端口。
另外,如果捕捉到正在利用137端口进行通信的信息包,还有可能得到目标主机的起
动和关闭时间。这是因为Windows起动或关闭时会由137端口发送特定的信息包。如果掌
握了目标主机的起动时间,就可以非常轻松地使用上一次所讲的IE`en等软件通过135端
口xx作对方的DCOM。
使用137端口,管理计算机名
137端口为什么会把这种信息包泄漏到网络上呢?这是因为,在Windows网络通信协
议--“NetBIOS over TCP/IP(NBT)”的计算机名管理功能中使用的是137端口。
计算机名管理是指Windows网络中的电脑通过用于相互识别的名字--NetBIOS名,获
取实际的IP地址的功能。可以用两种方法使用137端口。
一种方法是,位于同一组中的电脑之间利用广播功能进行计算机名管理。电脑在起
动时或者连接网络时,会向位于同组中的所有电脑询问有没有正在使用与自己相同的Ne
tBIOS名的电脑。每台收到询问的电脑如果使用了与自己相同的NetBIOS名,就会发送通
知信息包。这些通信是利用137端口进行的。
另一种方法是利用WINS(Windows因特网名称服务)管理计算机名。被称为WINS服务
器的电脑有一个IP地址和NetBIOS名的对照表。WINS客户端在系统起动时或连接网络时会
将自己的NetBIOS名与IP地址发送给WINS服务器。与其他计算机通信时,会向WINS服务器
发送NetBIOS名,询问IP地址。这种方法也使用137端口。
如上所述,为了得到通信对象的IP地址,137端口就要交换很多信息包。在这些信息
包中,包括有如表3所示的很多信息。利用广播管理计算机名时,会向所有电脑发送这些
信息。如果使用NBT,就会在用户没有查觉的情况下,由电脑本身就会向外部散布自己的
详细信息。
138端口用于浏览
而138端口也和137端口一样会向外部发送自己的信息。尽管信息量没有137端口那么
多,但其特点是会被别人得到Windows的版本信息。比如,会泄漏Windows版本是Window
s 2000 Server。
138端口提供NetBIOS的浏览功能。该功能用于显示连接于网络中的电脑一览表。比
如,在Windows2000中由“网络邻居”中选择“整个网络”后,就会完整地显示连接于网
络中的电脑。
该功能使用的是与上面所讲的计算机名管理不同的运行机制。在浏览功能中,被称
为主浏览器的电脑管理着连接于网络中的电脑一览表的浏览列表。每台电脑在起动时或
连接网络时利用138端口广播自己的NetBIOS名。收到NetBIOS名的主浏览器会将这台电脑
追加到浏览列表中。需要显示一览表时,就广播一览表显示请求。收到请求的主游览器
会发送浏览列表。关闭电脑时,机器会通知主浏览器,以便让主浏览器将自己的NetBIO
S名从列表中删除掉。这些信息的交换使用的是138端口。由于这里也会进行广播,因此
就会将自己的电脑信息发送给同组中的所有电脑。
公开服务器应关闭NetBIOS
NetBIOS服务使用了137和138端口的向外部发送自己信息的功能。一般情况下,这是
一种在连接在因特网上的公开服务器不需要的服务。因为NetBIOS主要用于Windows网络
中。因此,公开服务器应该停止这种服务。
而对于在公司内部网络环境中构筑Windows网络的电脑来说,NetBIOS则是必要的服
务。如要停止NetBIOS,反过来就必须放弃Windows网络的方便性。
停止NBT服务的方法。选择“将NetBIOS over TCP/IP设置为无效”
不过,如果是Windows 2000以上的版本,不使用NetBIOS也能够管理计算机名(详情
后述)。因此如果是全部由Windows 2000以上的个人电脑构筑而成的网络,就可以停止
NBT。虽说如此,此时方便性就会降低,比如,无法显示用于寻找文件共享对象的信息。

要想停止NetBIOS服务,首先由控制面板中选择目前正在使用的网络连接,在属性窗
口中查看“Internet协议(TCP/IP)”的属性。在“常规”页标中单击“高级”按钮,
在“WINS”页标中选择“禁用TCP/IP上的NetBIOS(S)”即可。这样,就可以关闭137、
138以及后面将要讲到的139端口。
在此需要注意一点。NetBEUI协议如果为有效,NetBIOS服务将会继续起作用。在Wi
ndows 95中,NetBIOS是在默认条件下安装的。在更高的Windows版本中,如果选择也可
以安装。所以不仅要停止NBT,还应该确认NetBEUI是否在起作用。如果使用NetBEUI,即
便关闭137端口,也仍有可能向外部泄漏表3所示的信息。
139和445端口是危险的代名词
连接于微软网络上的电脑之间使用137和138端口取得IP地址。然后进行文件共享和
打印机共享等实际通信。通信过程是通过SMB(服务器信息块)协议实现的。这里使用的
是139和445端口。
SMB与CIFS的区别。Windows 2000以前版本的Windows使用NetBIOS协议解决各计算机
名的问题。通过向WINS服务器发送通信对象的NetBIOS名,取得IP地址。而Windows以后
的版本所采用的CIFS则利用DNS解决计算机的命名问题。根据DNS服务器中的名字列表信
息,寻找需要通信的对象。如果顺利地得到对象的IP地址,就可以访问共享资源。
在SMB通信中,首先使用上述的计算机名解释功能,取得通信对象的IP地址,然后向
通信对象发出开始通信的请求。如果对方充许进行通信,就会确立会话层(Session)。
并使用它向对方发送用户名和密码信息,进行认证。如果认证成功,就可以访问对方的
共享文件。在这些一连串的通信中使用的就是139端口。
Windows 2000和XP除此之外还使用445端口。文件共享功能本身与139端口相同,但
该端口使用的是与SMB不同的协议。这就是在Windows 2000中最新使用的CIFS(通用因特
网文件系统)协议。
CIFS和SMB解决计算机名的方法不同。SMB使用NetBIOS名的广播和WINS解决计算机名
,而CIFS则使用DNS。
因此,在文件服务器和打印服务器使用Windows的公司内部网络环境中,就无法关闭
139和445端口。很多情况下,文件共享和打印机共享在普通的业务中是不可缺少的功能
。而客户端如果自身不公开文件,就可以关闭这两个端口。
假如是仅2000版本以后的Windows构成的网络,就可以关闭139端口。这是因为如前
所述,该网络只用445端口就能够进行文件共享。由于在解决计算机名过程中使用DNS,
所以也可以关闭137和138端口。不过,在目前情况下,基本上所有的网络系统都还在混
合使用2000以前的Windows版本。在混合网络环境中由于必须使用139端口通过SMB协议进
行通信,因此就无法关闭139端口。另外,浏览时还需要137~139端口。
公开服务器绝对应该关闭这些端口
在因特网上公开的服务器要另当别论。公开服务器打开139和445端口是一件非常危
险的事情。就像本文开头所说的那样,如果有Guest帐号,而且没有设置任何密码时,就
能够被人通过因特网轻松地盗看文件。如果给该帐号设置了写入权限,甚至可以轻松地
篡改文件。也就是说在对外部公开的服务器中不应该打开这些端口。通过因特网使用文
件服务器就等同自杀行为,因此一定要关闭139和445端口。对于利用ADSL永久性接入因
特网的客户端机器可以说也是如此。
要关闭139端口,与137和138端口一样,可以选择“将NetBIOS over TCP/IP设置为
无效”。而要想关闭445端口则必须进行其他工作。利用注册表编辑器在“HKEY_LOCAL_
MACHINE/SYSTEM/CurrentControlSet/Services/NetBT/Parameters”中追加名为“SMBD
eviceEnabled”的DWORD值,并将其设置为0,然后重新起动机器。
.NET中安全策略改变了吗?
就像在此之前所讲的那样,直接在默认设置条件下使用现有的Windows将会出现各种
各样的危险。这是因为Windows是为了让初学者不需进行复杂设置就可以使用而开发的。

比如Windows 2000 Server,在安装该系统时,会自动安装IIS。而且只需起动个人
电脑,IIS服务就会启动。虽然Windows NT 4.0 Server可以选择是否安装IIS,但在默认
条件下该服务的复选框是有效的。与2000一样,在起动电脑时,IIS服务也会自动起动。

而Linux则在很多方面都采取的是完全不同的思路。比如,RedHat Linux 7.3在安装
过程中必须让用户设置防火墙。由于防火墙有“高”、“中”、“低”三种等级,因此
所拦截的信息包也各不相同。如果选择“高”将关闭53(DNS)、67和68(DHCP)以外的
全部端口,如果选择“中”,尽管会打开1024以上的端口,但在一般人熟知的端口中打
开的只有53、67和68三个。
安装应用程序时的作法也不同。RedHat Linux 7.3在安装时可选择“工作站”、“
服务器”和“桌面”三种类型。因此即使选择“服务器”,如果用户不选择构筑兼容Wi
ndows的文件服务器“Samba”和Web服务器“Apache”等,就不会进行安装。另外,即便
安装以后,也不会直接起动。如果用户明确地启动必要的服务后,没有设置利用过滤软
件过滤信息包,相应端口就不会打开。
如果只考虑方便性,Windows要更好一些。这是因为即便不进行复杂的设置,系统也
能够自动起动各种服务。但这样一来,就甚至极有可能起动用户不希望起动的服务,而
且这些服务往往还是在用户不知晓的情况下起动的。可以这样说,如果希望安全地运行
服务器,或者希望保护自己的客户端个人电脑免受危险,那么最好不要随便安装和设置

美国微软也提出了“值得依赖的计算”(Trustworthy Computing)的计划,并计划
利用定于2003年初开始上市的“Windows .NET Server”实现“默认安全”。与Windows
2000不同的是,将不再标准安装IIS服务。即便增加了IIS组件,OS起动时该服务也不会
自动运行。
不过,如果只要使用测试版,135、137、138、139和445端口在默认条件下就是打开
的。另外,从Windows XP开始导入的“因特网连接防火墙(ICF)”的使用在默认条件下
也是无效的。要想在默认设置下实现与Linux相同等级的高安全性,可以说最稳妥的方法
是将ICF设置为有效,然后用户再根据自己的需要,选择起动的服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值