1 引言
在网络技术中,端口(Port)的意思有多种:集线器、交换机、路由器的端口是指连接其他网络设备的接口,如RJ-45端口、Serial端口等。这里所指的端口不是指物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口。那么TCP/IP协议中的端口指的是什么呢? Intemet的通用语言是TCP/TP,它是一组协议,它规定在网络的第四层运输层有两种协议TCP、UDP。端口就是这两个协议打开的。当我们访问一个网站时,就是在本机开个端口去连网站服务器的一个端口,别人访问我们时也是如此。也就是说,计算机的通讯就像我们互相串门一样,从这个门走进那个门,而病毒与黑客也是会想方设法由这些门(端口)入侵。统计数据显示:约90%的攻击来自蠕虫,蠕虫病毒具有反复攻击的特性,它们会寻找同一端口并大规模入侵这些端口。96%的扫描集中在端口。
2 TCP网络端口类型分析
TCP使用端口来识别出一台主机所拥有的不同的TCP连接,端口范围为o-65535,每一项服务都对应相应的端口,比如,众所周知的WWW服务的端口是80,Smtp是25,ftp是端口,可分为3大类:
(1)熟知端口(Well Known Ports):从0到1023,它们紧密绑定于一些服务。通常这些端口的通讯明确表明了某种服务的协议。常用的熟知端口如表l所示。
表1常用的熟知端口
(2)注册端口(Registered Pons):从1024到49151。它们松散地绑定于一些服务,也就是说有许多服务绑定于这些端口,这些端口同样用于许多其他目的。
(3)动态和/或私有端口(Dynamic and/or PrivatePorts):从49152到65535。理论上,不应为服务分配这些端口。实际上,机器通常从1024起分配动态端口。
3 端口状态分析
查看系统正在使用的端口状态和动作,可用命令netstat及常用的监控软件TCPView、Active Ports、IPTools等。在TCP/IP协议中,IP加端口构成套接字Socket,是网络定位方法之一。而Socket有3种,一种是操作系统自身使用的系统Socket,另一种是普通应用程序使用的普通Socket;最后一种是隐藏Socket,它在操作系统的任务列表中是看不到的。黑客程序大多使用隐藏Socket。功能较强的监控软件IceSword(冰刃)、PortExplore就可以将隐藏Socket用红色显示出来并有关闭功能。
3.1下面列出上述软件监控窗口中各参数的中英文对照
表2各参数中英文对照
3.2查看本机端口状态
3.2.1利用netstat命令
操作方法:单击“开始→程序→附件→命令提示符”,进入DOS窗口,输入命令netstat—na回车,于是就会显示本机连接情况及打开的端口,如图l所示。其中,Local Address代表本机IP地址和打开的端口号(图l中本机打开了135端口),Foreign Address是远程计算机IP地址和端口号,State表明当前TCP的连接状态,图中LISTENING是监听状态,表明本机正在打开135端口监听,等待远程电脑的连接。
图1本机连接情况及打开端口
如果在DOS窗口中输入了netstat—nab命令,还将显示每个连接都是由哪些程序创建的,如图2所示,本机在135端口监听,就是由svchost.exe程序创建的。如果你发现本机打开了可疑的端口,就可以用该命令察看它调用了哪些组件,然后再检查各组件的创建时间和修改时间,如果发现异常,就可能是中了木马。
图2本机连接程序创建显示
3.2.2使用TCPView端口监视类软件
与netstat命令类似,端口监视类软件也能查看本机打开了哪些端口,这类软件非常多,上网时密切监视本机端口连接情况,这样就能严防非法连接,确保自己的网络安全。
4 利用网络端口防范病毒
4.1关闭不需要的端口
对一般上网用户来说只要能访问Intemet就行了,并不需要被访问,也就是说没有必要开放服务端口。而默认情况下,Windows有很多端口是开放的,如135端口、137端口、139端口和445端口。这些端口可以说都是一把“双刃剑”,它们既能为你提供便利,反过来,网络病毒和黑客也可以通过这些端口连上你的电脑。为了广让你的系统变为铜墙铁壁,应该封闭这些端口,主要有:TCP137、139、445、593、1025端口和UDP 135、137、445端口,一些流行病毒的后门端口(如TCP 2745、3127、6129端口),以及远程服务访问端口3389。
第一步,点击“开始”莱单-设置-控制面板-管理工具,双击打开“本地安全策略”,选中“IP安全策略,在本地计算机”,在右边窗格的空白位置右击鼠标,弹出快捷菜单,选择“创建IP安全策略”,于是弹出一个向导。在向导中点击“下一步”按钮,为新的安全策略命名,再按“下一步”,则显示“安全通信请求”画面,在画面上把“激活默认相应规则”左边的“√”去掉,点击“完成”按钮就创建了一个新的IP安全策略。
第二步,右击该IP安全策略,在“属性”对话框中,把“使用添加向导”左边的“√”去掉,然后单击“添加”按钮添加新的规则,随后弹出“新规则属性”对话框,在画面上点击“添加”按钮,弹出IP筛选器列表窗口;在列表中,首先把“使用添加向导”左边的“√”去掉,然后再点击右边的“添加”按钮添加新的筛选器。
第三步,进入“筛选器属性”对话框,首先看到的是寻址,源地址选“任何IP地址”,目标地址选“我的IP地址”;点击“协议”选项卡,在“选择协议类型”的下拉列表中选择“TCP”,然后在“到此端口”下的文本框中输入“135”,点击“确定”按钮,这样就添加了一个屏蔽TCP 135(RPC)端口的筛选器,它可以防止外界通过135端口连上你的电脑。
点击“确定”后回到筛选器列表的对话框,可以看到已经添加了一条策略,重复以上步骤继续添加TCP 137、139、445、593端口和UDP 135、139、445端口,为它们建立相应的筛选器。
重复以上步骤添加TCP 1025、2745、3127、6129、3389端口的屏蔽策略,建立好上述端口的筛选器,最后点击“确定”按钮。
第四步,在“新规则属性”对话框中,选择“新IP筛选器列表”,然后点击其左边的圆圈上加一个点,表示已经激活,最后点击“筛选器操作”选项卡。在“筛选器操作”选项卡中,把“使用添加向导”左边的“√”去掉,点击“添加”按钮,添加“阻止”操作:在“新筛选器操作属性”的“安全措施”选项卡中,选择“阻止”,然后点击“确定”按钮。
第五步,进入“新规则属性”对话框,点击“新筛选器操作”,其左边的圆圈会加了一个点,表示已经激活,点击“关闭”按钮,关闭对话框;最后回到“新IP安全策略属性”对话框,在“新的IP筛选器列表”左边打钩,按“确定”按钮关闭对话框。在“本地安全策略”窗口,用鼠标右击新添加的IP安全策略,然后选择“指派”。重新启动后,电脑中上述网络端口就被关闭了,病毒和黑客也被拒于这些端口之外,从而实现了计算机安全防范。
如果本机的默认端口不能关闭,应该将它“重定向”,即把该端口重定向到另一个地址,这样即可隐藏公认的默认端口,降低受破坏机率,保护系统安全。例如,电脑上开放了远程终端服务(Terminal Server)端口(默认是3389),可以将它重定向到另一个端口(例如1234),方法是:
首先,在本机上(服务器端)修改。定位到下列两个注册表项,将其中的PortNumber,全部改成自定义的端口(例如1234)即可:
[HKEY_LOCAL_MACHINESYST EMCurrentControlSetControlTerminal ServerWds dpwdTds cp]
[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP—Tcp]
其次,在客户端上修改。依次单击“开始→程序→附件→通讯→远程桌面连接”,打开“远程桌面连接”窗口,单击“选项”按钮扩展窗口,填写完相关参数后,单击“常规”下的“另存为”按钮,将该连接参数导出为.rdp文件。用记事本打开该文件,在文件最后添加一行:server port:i:1234(这里填写服务器自定义的端口)。以后直接双击这个.rdp文件即可连接到服务器的这个自定义端口了。
4.2安装防火墙
4.2.1安装系统自带防火墙
通过安装Windows XP与Wmdows 2003自带防火墙或ADSL“猫”防火墙基本可以抵御从外到内的攻击,也就是说即使服务端口开放,黑客和类似震荡波一类的病毒也奈何不了你的计算机。上述防火墙只能防止从外到内的连接,不能防止从内到外的连接,当打开网页和用QQ聊天时就是从内到外的连接,反弹型木马就是利用防火墙的这一特性来盗取你机器的数据的。反弹犁木马虽然十分隐蔽,但也不是没有马脚,防范这类木马最好的办法就是用第三方防火墙。
4.2.2第三方防火墙
由于反弹型木马会使用隐避性较强的文件名,如iexpiore.exe、explorer等与IE的程序IEXPLORE.EXE相似的名字或用一些rundll32之类的相似于系统文件的名字。但木马的本质就是要与远程的计算机通讯,只要通讯就会有连接。即正常连接是IEXPLORE.EXE发起的,而非正常连接是木马程序explorer发起的。一般的防火墙都有应用程序访问网络的权限设置,在防火墙的这类选项中将不允许访问网络的应用程序选择×,即不允许访问网络。
4.2.3用Tcpview结束一个连接
当用Tcpview观察哪个连接有可能是不正常的连接时,可在Tcpview中直接鼠标右键点击该连接,选择End Process即可结束该连接。