摘 要 Internet 网络技术的不断发展,给我们的工作、生活带来了许多便利,然而各种病毒、木马程序也在“与时俱进”,如今计算机网络安全问题是计算机领域研究的一个重要方向。而计算机端口安全是整个计算机网络中重要的一个环节,了解端口、认识端口对计算机用户来说是必要的。
0 引言
黑客攻击计算机的手段很多,但一般都是从嗅探扫描开始入侵的,通过扫描远程计算机端口(Port)发现漏洞。所以计算机端口的安全对每个计算机用户来说非常重要。本文就将对计算机端口和相关安全问题作简要的介绍。
1 计算机端口
1.1 计算机端口概述及功能
在计算机网络技术中,端口大致有两种意思,一是物理意义上的端口,比如网络设备的接口,像SC端口。二是逻辑意义上的端口,一般指TCP/IP协议中的端口,比如FTP服务器的21端口。本文将介绍逻辑意义上的端口及相关安全问题。从图1可了解电脑中的各种网络软件都是经过某个端口再通过Windows系统的TCP/IP模块(协议)连接到Internet中;远程的各种服务器也是采用相同的方式连接到Internet后再与个人电脑完成连接,然后进行数据交换、信息管理等动作。任何一个网络软件运行都会打开一个或多个端口之后才能与Internet连接,当网络软件退出时其软件所打开的端口会关闭。而某些端口异常打开后就有可能受到黑客的攻击。
1.2 端口的分类
1.2.1 按端口号分布划分
(1)公认端口(Well Known Ports):从0到1023,它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服务的协议。例如:80端口实际上总是HTTP通讯。
(2)注册端口(Registered Ports):从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。例如:许多系统处理动态端口从1024开始。
(3)动态端口或私有端口(Dynamic and/or Private Ports):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。但也有例外:SUN公司的RPC端口从32768开始的。
1.2.2 按协议类型划分
按协议类型划分,可以分为TCP、UDP、IP和ICMP(Internet控制消息协议)等端口。下面主要介绍TCP和UDP端口。
(1)TCP端口
TCP端口,即传输控制协议端口,需要在客户端和服务器之间建立连接,这样可以提供可靠的数据传输。每个网络软件都可以打开任何一个端口来使用(只要该端口号没有被其它软件使用),不过为了使网络连接畅通和避免复杂问题,有些网络软件和硬件就会固定使用一个或几个端口。常见的包括FTP服务的21端口,Telnet服务的23端口,SMTP服务的25端口,以及HTTP服务的80端口、NNTP新闻讨论服务的119端口等。
(2)UDP端口
UDP端口,即用户数据包协议端口,无需在客户端和服务器之间建立连接,安全性得不到保障。常见的有DNS服务的53端口,SNMP(简单网络管理协议)服务的161端口,QQ使用的8000和4000端口等。
1.2.3 查看端口
在Windows 2000/XP/Server 2003 系统中用Netstat命令可以查看。
(1) 点击任务栏的“开始”选择“运行”,输入“cmd”并回车,进入命令提示符的界面。
(2) 在命令提示符状态下,输入“netstat –a –n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口。如图2所示。
1.2.4 常用的“关闭”和“开启”端口的方法
(1) 关闭端口
点击任务栏的“开始”,选择“运行”,输入“services.msc”,此时就可以看到服务列表,找到你所要关闭的端口,该端口的状态栏显示“已启动”,即此端口已处于开启状态;选中端口的名称并双击,然后点“停止”按钮即可(个别的端口的停止需要增加一些设置)。
(2) 开启端口
按1.2.4中(1)的方法进入服务列表。选中你所要打开的端口,双击后点击“启动”按钮即可。
在网络中黑客易通过以下端口进行攻击(端口号后是该端口所对应的服务): 端口7:echo、端口11:systat、端口15:netstat、端口19:chargen、端口21:FTP、端口23:telnet、端口25:SMTP、端口53:domain、端口67:bootp、端口69:TFTP、端口79:finger、端口80:http、端口109:pop2、端口110:pop3、端口111:portmap、端口135:loc-serv、端口137:nbname、端口138:nbdatagram、端口139:nbsession、端口161:SNMP、端口512:exec、端口513:login、端口517:talk、端口518:ntalk、端口520:route和端口540:uucp、端口3389:MS WBT Server Windows 终端服务等。下文主要介绍黑客经常用的139端口、135、21、23、3389端口进行说明。
(1) 通过(NetBIOS Over TCP/IP) 资源管理器连接服务,(也就是通过端口139)来入侵局域网中的电脑。最主要的原因是这些电脑都有连接局域网,所以端口139在开启状态,若设置有磁盘共享就更容易入侵成功了。
(2) 135端口主要用于使用RPC(Remote Procedure Call,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务,通过RPC可以保证在一台计算机上运行的程序可以顺利地执行远程计算机上的代码;使用DCOM可以通过网络直接进行通信,能够包括HTTP协议在内的多种网络传输。
端口漏洞:2006年Windows 2000和Windows XP系统的计算机用户都中了“冲击波”病毒,该病毒就是利用RPC漏洞来攻击计算机的。RPC本身在处理通过TCP/IP的消息交换部分有一个漏洞,该漏洞是由于错误地处理格式不正确的消息造成的。该漏洞会影响到RPC与DCOM之间的一个接口,该接口侦听的端口就是135。
(3) 21端口主要用于FTP(File Transfer Protocol,文件传输协议)服务,FTP服务主要是为了在两台计算机之间实现文件的上传与下载,一台计算机作为FTP客户端,另一台计算机作为FTP服务器,可以采用匿名登录和授权用户名与密码登录两种方式登录FTP服务器。目前,通过FTP服务来实现文件的传输是互联网上上传、下载文件最主要的方法。另外,还有一个20端口是用于FTP数据传输的默认端口号。21端口会被一些木马利用,比如Blade Runner、FTP Trojan、Doly Trojan、WebEx等等。
(4) 23端口主要用于Telnet(远程登录)服务,是Internet上普遍采用的登录和仿真程序。同样需要设置客户端和服务器端,开启Telnet服务的客户端就可以登录远程Telnet服务器,采用授权用户名和密码登录。登录之后,允许用户使用命令提示符窗口进行相应的操作。在Windows中可以在命令提示符窗口中,键入“Telnet”命令来使用Telnet远程登录。利用Telnet服务,黑客可以搜索远程登录Unix的服务,扫描操作系统的类型。而且在Windows 2000中Telnet服务存在多个严重的漏洞,比如提升权限、拒绝服务等,可以让远程服务器崩溃。Telnet服务的23端口也是TTS(Tiny Telnet Server)木马的缺省端口。
(5) 有些单位计算机开放提供(MS WBT Server Windows)终端服务,使用的是3389端口,通过3389端口入侵系统是黑客的最爱,因为通过图形界面,可以像操作本地计算机一样来控制远程计算机。
2.3 端口的防护
主要是针对以上部分的典型端口来进行说明。由于端口在网络中的重要性,端口的正确防护就可以减少或避免病毒和木马的攻击。
(1) 关闭139端口,以下以宽带(xDSL、Cable Modem、ISDN)用户且系统为Windows XP进行讲解(其它Windows 操作系统基本相似)。
a. 点击任务栏的“开始”选择“设置”,再选择“控制面板”,点击“网络和 Internet 连接”图标。
b. 选择“网络连接”,再用鼠标右键选中“本地连接”的“属性”,把项目“Microsoft网络客户端”的打勾取消;然后用鼠标双击项目“Internet协议(TCP/IP)”。
c. 在弹出的对话框中点击“高级”按钮。在新弹出的对话框中,点击“WINS”按钮,再选择“禁用TCP/IP上的NetBIOS(S)”,然后点击确定按钮。139端口就关闭了。
遇到以下情况不能关闭139端口:
a. 客户端计算机需要通过Internet与其他电脑进行连接(或是其他计算机需要Internet与你的计算机进行正常的连接)。
b. 客户端计算机是经过局域网中的其他电脑来连接到Internet。
c. 在Win 9x和、WinMe中端口139默认一定会打开,而且无法关闭。
(2) 关闭135端口。
以Windows XP系统中关闭135端口做介绍。
运行“dcomcnfg”,展开“组件服务”→“计算机”,在“我的电脑”上点右键选“属性”,切换到“默认属性”,取消“启用分布式COM”;然后切换到“默认协议”,删除“面向连接的TCP/IP”,135端口已关闭。
(3) 如果不架设FTP服务器,建议关闭21端口。
a. 点击任务栏的“开始”,选择“运行”,输入“services.msc”,此时就可以看到服务列表,找到“FTP Publishing” 服务, 右键单击,选择“属性”。在“FTP Publishing的属性”对话框中,将启动类型改为“手动”。
b. 单击“停止”按钮,将服务状态改变为“停止”,单击“确定”,21端口已关闭。
(4) 关闭23端口。同以上关闭21端口的方法雷同。
(5) 3389端口的漏洞存在于Windows2000系统所有中文版本。
a. 可以通过微软提供的补丁程序进行漏洞修复。
b. 手动关闭3389端口:点击任务栏的“开始”,选择“运行”,输入“services.msc”,此时就可以看到服务列表,找到服务列表中的“Terminal Services”。双击“Terminal Services”,点击“停止”按钮,3389端口即关闭。
3 网络中个人计算机的安全策略
以上介绍了黑客常借用端口进行攻击,但是黑客使用那一种方式来入侵或攻击我们的电脑是我们无法预知的,因此最好能在上网时对所有网络程序的存取进行管制和查看;对每个连接项目进行实时监控。以下措施可以更好的防护好你的计算机。
(1) 隐藏上网IP。
a. 可以使用代理服务器上网,浏览网站时留下的IP地址就是代理服务器的网址,而不是你的计算机的IP地址。
b. 使用防火墙软件也可以隐藏IP地址,如SyGate Personal Firewall防火墙。
(2)安装防火墙。防火墙可以阻止远程的计算机连接你的计算机的部分端口,可以进行实时监控。
(3)E-mail的查看。电子邮件夹带病毒程序和木马程序。一般可以用杀毒软件查看,如瑞星杀毒软件和金山杀毒软件。
(4)下载文件的查看。同E-mail的查看一样,可用杀毒软件。
(5) ActiveX与Java 程序的管制。黑客利用在见面或HTML信件中加入Java Applets 或ActiveX,或ActiveX Control的病毒程序,当你浏览见面或读取信件时,病毒程序自己下载到你的计算机并运行。此种手段相对比较隐蔽。可以在Windows中直接关闭Java的功能,本文就不再叙述。
(6)即时下载Windows补丁,进行安装。
4 总结
计算机硬件和软件在最近十年得到了长足的发展,Internet网络技术日新月异。我们的生活已经离不开计算机网络。然而自1987年全球第一个个人电脑病毒cBrain产生以来,黑客技术也在“与时俱进”,形形色色的病毒、木马在网络中漫延,严重影响了我们的工作。端口的安全作为计算机安全的重要组成部分显得非常重要。
参考文献
[1] (美)John Chirillo着,李宏平译. 黑客攻击防范篇(第2版).北京:机械工业出版社,2003年3月
程秉辉,John Hawke着.防毒防黑全攻略.北京:科学出版社,2004年3月