公开服务器应该关闭135端口 公开于因特网上的服务器基本上不使用RPC。如前所述,尽管危险性比公司内部环境低,但只要不运行使用DCOM的特定应用程序(只要不是必须的服务),就应该关闭135端口。比如只是作为Web服务器、邮件或DNS服务器来使用的话,即便关闭135端口,也不会出现任何问题。 不过需要通过因特网来使用DCOM应用程序时,就不能关闭该端口。但需要采取严格管理密码的措施。 “话匣子”端口137和138 具体而言,就是说通过137端口除了该机的计算机名和注册用户名以外,还可以得到该机是否为主域控制器和主浏览器、是否作为文件服务器使用、IIS和Samba是否正在运行以及Lotus Notes是否正在运行等信息。据SecurityFriday.com公司的Michiharu Arimoto介绍:“除了计算机名以外,还可以准确地了解IIS、主域控制器、主域浏览器以及文件服务器等相关信息。虽说不是百分之百,但有时还能够得到其他信息”。 也就是说,只要您想获得这些信息,只需向这台个人电脑的137端口发送一个请求即可。只要知道IP地址,就可以轻松做到这一点。不只是公司内部网络,还可以通过因特网得到这样的信息。 对于攻击者来说,这简直太方便了,可以很容易地了解目标电脑的作用及网络的结构。随意地泄漏这样的信息,就好象是很友好地告诉攻击者应该如何来攻击自己的电脑。比如,如果知道IIS服务正在运行,就可以轻松地了解这台电脑上已经起动的服务。攻击者根本不必特意地通过端口扫描来寻找可以下手入侵的端口。 另外,如果捕捉到正在利用137端口进行通信的信息包,还有可能得到目标主机的起动和关闭时间。这是因为Windows起动或关闭时会由137端口发送特定的信息包。如果掌握了目标主机的起动时间,就可以非常轻松地使用上一次所讲的IE‘en等软件通过135端口操作对方的DCOM。 |
使用137端口,管理计算机名 137端口为什么会把这种信息包泄漏到网络上呢?这是因为,在Windows网络通信协议--“NetBIOS over TCP/IP(NBT)”的计算机名管理功能中使用的是137端口。 计算机名管理是指Windows网络中的电脑通过用于相互识别的名字--NetBIOS名,获取实际的IP地址的功能。可以用两种方法使用137端口。 一种方法是,位于同一组中的电脑之间利用广播功能进行计算机名管理。电脑在起动时或者连接网络时,会向位于同组中的所有电脑询问有没有正在使用与自己相同的NetBIOS名的电脑。每台收到询问的电脑如果使用了与自己相同的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版本是Windows 2000 Server。 138端口提供NetBIOS的浏览功能。该功能用于显示连接于网络中的电脑一览表。比如,在Windows2000中由“网络邻居”中选择“整个网络”后,就会完整地显示连接于网络中的电脑。 该功能使用的是与上面所讲的计算机名管理不同的运行机制。在浏览功能中,被称为主浏览器的电脑管理着连接于网络中的电脑一览表的浏览列表。每台电脑在起动时或连接网络时利用138端口广播自己的NetBIOS名。收到NetBIOS名的主浏览器会将这台电脑追加到浏览列表中。需要显示一览表时,就广播一览表显示请求。收到请求的主游览器会发送浏览列表。关闭电脑时,机器会通知主浏览器,以便让主浏览器将自己的NetBIOS名从列表中删除掉。这些信息的交换使用的是138端口。由于这里也会进行广播,因此就会将自己的电脑信息发送给同组中的所有电脑。 |
公开服务器应关闭NetBIOS NetBIOS服务使用了137和138端口的向外部发送自己信息的功能。一般情况下,这是一种在连接在因特网上的公开服务器不需要的服务。因为NetBIOS主要用于Windows网络中。因此,公开服务器应该停止这种服务。 而对于在公司内部网络环境中构筑Windows网络的电脑来说,NetBIOS则是必要的服务。如要停止NetBIOS,反过来就必须放弃Windows网络的方便性。 不过,如果是Windows 2000以上的版本,不使用NetBIOS也能够管理计算机名(详情后述)。因此如果是全部由Windows 2000以上的个人电脑构筑而成的网络,就可以停止NBT。虽说如此,此时方便性就会降低,比如,无法显示用于寻找文件共享对象的信息。 要想停止NetBIOS服务,首先由控制面板中选择目前正在使用的网络连接,在属性窗口中查看“Internet协议(TCP/IP)”的属性。在“常规”页标中单击“高级”按钮,在“WINS”页标中选择“禁用TCP/IP上的NetBIOS(S)”即可。这样,就可以关闭137、138以及后面将要讲到的139端口。 在此需要注意一点。NetBEUI协议如果为有效,NetBIOS服务将会继续起作用。在Windows 95中,NetBIOS是在默认条件下安装的。在更高的Windows版本中,如果选择也可以安装。所以不仅要停止NBT,还应该确认NetBEUI是否在起作用。如果使用NetBEUI,即便关闭137端口,也仍有可能向外部泄漏表3所示的信息 139和445端口是危险的代名词 连接于微软网络上的电脑之间使用137和138端口取得IP地址。然后进行文件共享和打印机共享等实际通信。通信过程是通过SMB(服务器信息块)协议实现的。这里使用的是139和445端口。 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/12.shtml' target='_blank' class='article'>ADSL永久性接入因特网的客户端机器可以说也是如此 要关闭139端口,与137和138端口一样,可以选择“将NetBIOS over TCP/IP设置为无效”。而要想关闭445端口则必须进行其他工作。利用注册表编辑器在“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNetBTParameters”中追加名为“SMBDeviceEnabled”的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在安装时可选择“工作站”、“服务器”和“桌面”三种类型。因此即使选择“服务器”,如果用户不选择构筑兼容Windows的文件服务器“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设置为有效,然后用户再根据自己的需要,选择起动的服务. |
自由广告区 |
分类导航 |
邮件新闻资讯: IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮 电子邮箱 | 反垃圾邮件|邮件客户端|网络安全 行业数据 | 邮件人物 | 网站公告 | 行业法规 网络技术: 邮件原理 | 网络协议 | 网络管理 | 传输介质 线路接入 | 路由接口 | 邮件存储 | 华为3Com CISCO技术 | 网络与服务器硬件 操作系统: Windows 9X | Linux&Uinx | Windows NT Windows Vista | FreeBSD | 其它操作系统 邮件服务器: 程序与开发 | Exchange | Qmail | Postfix Sendmail | MDaemon | Domino | Foxmail KerioMail | JavaMail | Winwebmail |James Merak&VisNetic | CMailServer | WinMail 金笛邮件系统 | 其它 | 反垃圾邮件: 综述| 客户端反垃圾邮件|服务器端反垃圾邮件 邮件客户端软件: Outlook | Foxmail | DreamMail| KooMail The bat | 雷鸟 | Eudora |Becky! |Pegasus IncrediMail |其它 电子邮箱: 个人邮箱 | 企业邮箱 |Gmail 移动电子邮件:服务器 | 客户端 | 技术前沿 邮件网络安全: 软件漏洞 | 安全知识 | 病毒公告 |防火墙 攻防技术 | 病毒查杀| ISA | 数字签名 邮件营销: Email营销 | 网络营销 | 营销技巧 |营销案例 邮件人才:招聘 | 职场 | 培训 | 指南 | 职场 解决方案: 邮件系统|反垃圾邮件 |安全 |移动电邮 |招标 产品评测: 邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端 |