接
五)、客户端口的状态变化
客户端口实际上就是从本机访问其它计算机服务时打开的源端口,最多的应用是上网,下面就以访问http://m.diyifanwen.net/为例来看看端口开放以及状态的变化情况。 1、SYN_SENT状态
SYN_SENT状态表示请求连接,当你要访问其它的计算机的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT,如果连接成功了就变为ESTABLISHED,此时SYN_SENT状态非常短暂。但如果发现SYN_SENT非常多且在向不同的机器发出,那你的机器可能中了冲击波或震荡波之类的病毒了。这类病毒为了感染别的计算机,它就要扫描别的计算机,在扫描的过程中对每个要扫描的计算机都要发出了同步请求,这也是出现许多SYN_SENT的原因。
下面显示的是本机连接http://m.diyifanwen.net/网站时的开始状态,如果你的网络正常的,那很快就变为ESTABLISHED的连接状态。
IEXPLORE.EXE:2928 TCP 192.168.1.10:1035 202.108.250.249:80 SYN_SENT 2、ESTABLISHED状态
下面显示的是本机正在访问http://m.diyifanwen.net/网站。如果你访问的网站有许多内容比如访问,那会发现一个地址有许多ESTABLISHED,这是正常的,网站中的每个内容比如图片、flash等都要单独建立一个连接。看ESTABLISHED状态时一定要注意是不是IEXPLORE.EXE程序(IE)发起的连接,如果是EXPLORE.EXE之类的程序发起的连接,那也许是你的计算机中了木马了。
IEXPLORE.EXE:3120 TCP 192.168.1.10:1045 202.108.250.249:80 ESTABLISHED 3、TIME_WAIT状态
如果浏览网页完毕,那就变为TIME_WAIT状态。
[System Process]:0 TCP 192.168.1.10:4259 202.108.250.249:80 TIME_WAIT
六)、端口详细变迁图
以上是最主要的几个状态,实际还有一些,图4是TCP的状态详细变迁图(从TCP/IP详解中剪来),用粗的实线箭头表示正常的客户端状态变迁,用粗的虚线箭头表示正常的服务器状态变迁。这些不在本文的讨论范围。有兴趣的朋友可以好好研究一下。
图3 TCP的状态变迁图 七)、要点
一般用户一定要熟悉(再啰嗦几句):
1、服务端口重点要看的是LISTENING状态和ESTABLISHED状态,LISTENING是本机开了哪些端口,ESTABLISHED是谁在访问你的机器,从哪个地址访问的。
2、客户端口的SYN_SENT状态和ESTABLISHED状态,SYN_SENT是本机向其它计算机发出的连接请求,一般这个状态存在的时间很短,但如果本机发出了很多SYN_SENT,那可能就是中毒了。看ESTABLISHED状态是要发现本机正在和哪个机器传送数据,主要看是不是一个正常程序发起的。 二、木马
什么是木马,简单的说就是在未经你许可偷偷在你的计算机中开个后门,木马开后门主要有两种方式。
1、有服务端口的木马
这类木马都要开个服务端口的后门,成功后该后门处于LISTENING状态,它的端口号可能固定一个数,也可能变化,还有的木马可以与正常的端口合用,例如你开着正常的80端口(WEB服务),木马也用80端口。这种木马最大的特点就是有端口处于LISTENING状态,需要远程计算机连接它。这种木马对一般用户比较好防范,将防火墙设为拒绝从外到内的连接即可。比较难防范的是反弹型木马。
2、反弹型木马
反弹型木马是从内向外的连接,它可以有效的穿透防火墙,而且即使你使用的是内网IP,他一样也能访问你的计算机。这种木马的原理是服务端主动连接客户端(黑客)地址。木马的服务端软件就像你的Internet Explorer一样,使用动态分配端口去连接客户端的某一端口,通常是常用端口,像端口80。而且会使用隐避性较强的文件名,像iexpiore.exe、explorer(IE的程序是IEXPLORE.EXE)。如果你不仔细看,你可能会以为是你的Internet Explorer。这样你的防火墙也会被骗过。如果你在TcpView中看到下面这样的连接一定要注意,很有可能是种木马了。 iexpiore.exe 192.168.1.10(本机IP):1035(你的端口) Y.Y.Y.Y(远程IP):80(远程端口)
或 Rundll32.exe 192.168.1.10(本机IP):1035(你的端口) Y.Y.Y.Y(远程IP):80(远程端口) 或 explorer.exe 192.168.1.10(本机IP):1035(你的端口) Y.Y.Y.Y(远程IP):80(远程端口) 三、安全
分析端口的目的就是要保证上网安全,根据以上的思路可以从以下几个方面来防范。 一)、关闭不需要的端口
对一般上网用户来说只要能访问Internet就行了,并不需要别人来访问你,也就是说没有必要开放服务端口,在WIN 98可以做到不开放任何服务端口上网,但在Win XP、Win 2000、Win 2003下不行,但可以关闭不必要的端口。图3是安装完WIN XP系统默认开的端口,以此为例关闭不必要的端口。 1、关闭137、138、139、445端口
这几个端口都是为共享而开的,是NetBios协议的应用,一般上网用户是不需要别人来共享你的内容的,而且也是漏洞最多的端口。关闭的方法很多,最近从网上学了一招非常好用,一次全部关闭上述端口。
开始-> 控制面板-> 系统-> 硬件-> 设备管理器-> 查看-> 显示隐藏的设备-> 非即插即用驱动程序-> Netbios over Tcpip。
找到图5界面后禁用该设备重新启动后即可。
图4 关闭137、138、139、445端口 2、关闭123端口
有些蠕虫病毒可利用UDP 123端口,关闭的方法:如图6停止windows time服务。
图5 关闭123端口 3、关闭1900端口
攻击者只要向某个拥有多台Win XP系统的网络发送一个虚假的UDP包,就可能会造成这些Win XP主机对指定的主机进行攻击(DDoS)。另外如果向该系统1900端口发送一个UDP包,令\域的地址指向另一系统的chargen端口,就有可能使系统陷入一个死循环,消耗掉系统的所有资源(需要安装硬件时需手动开启)。
关闭1900端口的方法如图7所示——停止SSDP Discovery Service 服务。
图6 关闭1900端口
通过上面的办法关闭了一些有漏洞的或不用的端口后是不是就没问题了呢?不是。因为有些端口是不能关掉的。像135端口,它是RPC服务打开的端口如果把这个服务停掉,那计算机就关机了,同样像Lsass打开的端口500和4500也不能关闭。冲击波病毒利用的就是135端口,对于不能关闭的端口最好的办法一是常打补丁,端口都是相应的服务打开的,但是对于一般用户很难判断这些服务到底有什么用途,也很难找到停止哪些服务就能关闭相应的端口。最好的办法就是下面要讲的安装防火墙。安装防火墙的作用通俗的说就像你不管住在一所结实的好房子里还是住在一所千疮百孔的破房子里,只要你在房子的四周建了一堵密不透风的墙,那对于墙里的房子就是安全的。
二)、安装防火墙
对于一般用户来讲有下面三类防火墙 1、 自带的防火墙
关于Win XP 与Win 2003自带防火墙的设置请参阅天极网中拙作,不再赘述。 2、ADSL猫防火墙
通过ADSL上网的,如果有条件最好将ADSL猫设置为地址转换方式(NAT),也就是大家常说的路由模式,其实路由与NAT是不一样的,权且这么叫吧。用NAT方式最大的好处是设置完毕后,ADSL猫就是一个放火墙,它一般只开放80、21、161等为了对ADSL猫进行设置开放的端口。如果不做端口映射的话,一般从远程是攻击不到ADSL猫后面的计算机的。ADSL猫最大的安全隐患就是很多用户都不改变默认密码。这样黑客如果进到你的猫做个端口映射就有可能进入到你的计算机,一定把默认密码改掉。
用自带的放火墙和ADSL猫的NAT方式基本可以抵御从外到内的攻击,也就是说即使服务端口开放(包括系统开放的端口和中了开个服务端口的木马),黑客和类似震荡波一类的病毒也奈何不了你的计算机。上述防火墙只能防止从外到内的连接,不能防止从内到外的连接,当你打开网页和用QQ聊天时就是从内到外的连接,反弹型木马就是利用放火墙的这一特性来盗取你机器的数据的。反弹型木马虽然十分隐蔽,但也不是没有马脚,防范这类木马最好的办法就是用第三方防火墙。 3、第三方防火墙
前面说过,反弹型木马而且会使用隐避性较强的文件名,像iexpiore.exe、explorer等与IE的程序IEXPLORE.EXE很想的名字或用一些rundll32之类的好像是系统文件的名字,但木马的本质就是要与远程的计算机通讯,只要通讯就会有连接。如下所示:正常连接是IEXPLORE.EXE发起的,而非正常连接是木马程序explorer发起的。