一、写在前面的话
Internet网在我国是从1996年开始进入迅猛发展时期的,随着网络神话的不断诞生,更多的年轻人加入到这个令人神往的行业中来。俗话说的好:“林子大了,什么鸟都有。”网络也一样,良莠不齐,在绝大多数网络人员为祖国的信息产业献策献力的时候,少数人却为展示自己或获得某种利益而实施网络攻击,最终落得身陷囹圄甚至命绝黄泉的下场,实在可悲可叹。但由于网络的特殊魅力,网络攻击者可谓是前赴后继,一浪高过一浪。因此,当大家在与网络接触的过程中往往会遭到一些不明的侵袭,比如:聊天室里你的屏幕上突然被打开了无数的窗口,使用OICQ时一下子收到了大量的垃圾信息,使用从某网站下载的软件后发现机器处理速度明显变慢了,当你浏览某网站的时候突然机器蓝屏死机了,到电信局交网费的时候你发现拿到的是近乎天文数字的账单,如此种种,都表明你受到了网上的非法侵害。本人以有限的经历和水平,写出这篇关于网络自我防护方面的文章,肯定会有很多不当之处,敬请批评指正。
二、了解一点网络小常识
1.什么是IP地址?
我们上网的每台机器都至少会有一个IP地址,以区别于Internet网上的其他机器,格式为:xxx.xxx.xxx.xxx(其中x代表0-9的数字,xxx的大小在0到255之间)比如:一般机器的本地IP地址是127.0.0.1。其实IP地址相当于你在Internet上的身份证号码,是用于区别他人的,所以在Internet里是没有两个IP地址是相同的。
2.拨号用户的IP地址是每次都变化的
对于拨号上网的用户,你每次拨号上网被分配的IP地址是变化的。比如:这次你的IP地址是202.102.243.48,下次可能是202.102.243.170或其他,但在整个Internet里仍然是唯一的,并且在你没有挂断之前一直是不变的。不少拨号上网的网友对IP地址每次都变化表示困惑,我是这样理解的:假如你的ISP(网络服务提供商)有1000个拨号用户,而它只拥有500个IP,事实上经你的ISP统计,一般同时上网的用户不超过400人,所以给它的拨号用户随机从500个IP中分配不仅是可行的,而且是划算的。当然,你若肯向你的ISP额外付费的话,完全可以获得一个拨号的固定IP,但这对大多数拨号用户来说是不必要的开支。
3.每个网卡至少可以绑定一个IP地址
大多数时候,分配给网卡的IP地址是固定的。事实上,一个网卡可以同时绑定多个IP地址,网卡主要用在两种环境:一种是绑定一个外部IP地址直接接入Internet网,一般用于Internet服务器或专线用户上网;另一种是绑定一个内部IP地址和其他机器连接成一个局域网,若局域网服务器设置有DHCP服务器的话,也可以给局域网内部的每台工作站分配动态的内部IP地址。若有Proxy代理服务器的话,还可以访问外部Internet网。事实上,不少企业和网吧都是通过代理服务器实现内部机器上网的,这样不仅节省了IP,而且安全性更好些。
4.我上网后怎么才能知道我的IP地址?
对于Windows 95: 运行 winipcfg.exe
对于Windows 98: 运行 ipconfig.exe
注:文件winipcfg.exe和ipconfig.exe在你的Windows目录里。
5. Port端口有什么用处?
Port端口是用来标识不同Intenet服务的。打个比方:某公司的总机电话是88888888,电脑部的分机电话是001,网络部的分机电话是002,依次类推。那么我要找该公司电脑部的人,首先要知道公司总机电话88888888,而且还要知道001才能接通,同样要找网络部的话就要知道002……这里的8888888就相当于IP地址,001和002就相当于端口,是用来区分同一公司的不同服务部门的,也就是说,我知道了某台服务器的IP地址,并向它提供端口号,它才能把你需要的数据传送给你,当然那个端口必须是开放的,就好比公司的电脑部必须是存在的一样。一般我们的浏览器默认是向IP地址为80的端口发送请求的。常见的端口号及相应的服务如下:
21 FTP-文件传送(用CuteFtp等Ftp软件维护网站用的就是该协议)
23 TELNET - 远程登录(管理员和黑客远程控制系统的最基本手段)
25 SMTP - 邮件发送(Outlook Express或FoxMail等邮件程序发Email用)
53 DNS - 域名解析(实现域名和IP地址之间的转换)
80 HTTP - Web服务(最常用的为Internet Explorer等浏览器提供网页服务)
110 POP3 - 邮件接收(Outlook Express或FoxMail等邮件程序收E-mail用)
……
注:端口范围为0-65535,其中0-1024为系统使用,剩下的用户自己定义。所以聊天软件和木马等使用的端口大多都大于1024。
6. 我知道对方的IP地址,如何判断对方是否在网上?
用Ping.exe程序,方法如下:
Ping对方的IP地址(回车)
若出现信息“Reply from ……”说明对方在网上!
若出现信息“Request timeout ……”说明对方不在网上!
注:文件Ping.exe在Windows目录里。
7. 什么是Proxy代理服务?
代理服务其实很简单,就好比代理人,你只需把你的要求告诉他,他就会为你把事情办好。当然若他不认识你又不愿意学雷峰的话,你可能要付一定的费用,不过,若你能够使他认为你是他的亲戚的话,也许他很乐意免费为你服务。而Internet网上的代理,说白了就是一个IP地址和特定端口,比如:你在一个局域网里,你的内部IP地址是192.168.0.1,代理服务器的内部IP地址是192.168.0.100和外部地址是202.102.248.78,本来你是无法访问http://www.sina.com.cn的,但202.102.248.78能够访问,并且它只能和内部地址192.168.0.100相互交流(在同一主机里呀),那么你就可以把你的请求通过192.168.0.100告诉给202.102.248.78,由202.102.248.78向http://www.sina.com.cn递交请求,http://www.sina.com.cn会把请求结果反馈给202.102.248.78,然后202.102.248.78再通过192.168.0.100把结果给你就完了!对于Internet Explorer设置代理服务器的方法如下:
IE菜单“工具”→“Internet选项”→“连接”→“局域网设置”→“代理服务器”填入代理服务器的“地址”和“端口”即可。至于如何找到代理服务器,其实网上有很多免费的,用国产的一个叫Proxy Hunter软件的就可以找到很多!
可以看出,使用代理服务器至少有两个好处:一是你不能访问的资源现在可以访问了;二是你没有和你要访问的服务器打交道,那个服务器自然就无法知道你的IP地址,它只能知道你的代理服务器的IP地址,而你的代理服务器可能与你一点关系都没有。
注:代理服务器的外部地址可以是固定的(网卡绑定专线上网),也可以是动态的(拨号上网或ISDN等)。
8.什么是TCP和UDP协议?
TCP是面向连接的传送协议,就是说你首先要把你的IP地址和请求信息发送给对方,对方同意后也会把它的IP地址和许可信息发送给你,你收到对方的许可信息后,还要告诉对方:“我也准备好了!”然后就可以和对方进行数据传送了。其中建立连接的过程一般叫“三次握手”。因为过程繁琐,所以速度慢些,但可靠性高。数据结构如下:
[IP头]+[TCP头]+[数据]
注:(1)IP头里包括发送方和接收方的IP地址和使用的协议类型;
(2)TCP头里包括发送方和接收方的端口。
UDP是无连接的传送协议,就是说你不用握手,也不用知道对方是否在网上,只要知道对方的IP地址,发过去就是了。若对方在网上就可能收到了,否则根本收不到。但由于过程简单,所以速度快,当然可靠性就低了。其数据结构如下:
[IP头]+[UDP头]+[数据]
注:IP头里包括发送方和接收方的IP地址和端口。
(1)IP头里包括发送方和接收方的IP地址和使用的协议类型;
(2)UDP头里包括发送方和接收方的端口。
举例:HTTP、FTP和mIRC等用的都是TCP协议;DNS和OICQ等用的是UDP协议。
9.如何才能隐藏上网的IP地址?
对于这个问题,我个人认为,基本上是不可能的。为什么说是基本上呢?那是因为有的时候是可以的因此是相对的。具体实现IP隐藏的方法主要有两种:
(1)使用代理服务器。
从上面可以知道使用代理服务器就能实现对其他服务器的IP地址隐藏,但是你对代理服务器是无法隐藏的。
(2)发送数据时改掉IP数据包里你的IP地址。
说到底,在Internet网上传输的所有数据(包含有你的IP地址),都是以IP数据包的形式传送的,所以可以在发送IP数据包之前先把自己的IP地址改掉,然后再发送,自然对方就无法获得你的IP地址了,相当于实现了IP地址隐藏。但问题是,你使用的若是TCP协议的话,对方即便许可了也无法把许可信息发送给你,而是发送到了你改掉的IP地址那里去了,结果你和对方无法建立连接,当然也就无法从对方获得数据,基本上没什么意义。但是对于有些探测是可行的,比如端口扫描器。当然对于UDP就很有效果了,不少网络炸弹就是用UDP实现IP地址隐藏的。
事实上,现在的Windows平台的网络炸弹大多是没有实现IP地址隐藏的,原因是在Windows95/98/NT上的Winsock库不支持对IP头的修改和自定义,在Windows2000和Unix/Linux里才允许。当然,完全可以通过自己写一套底层的Socket库来实现,但这样并不容易,更多的是通过写Vxd/Sys等设备驱动程序来实现的,当然对一般编程人员而言,也有一定难度。
所以,总结一下就是:在网络上隐藏IP地址基本上是不可能的。
三、构建一个安全的操作系统
在这里说是构建一个安全的操作系统,更确切的应该是说保证操作系统的网络功能安全,因为无论是Windows 95还是Windows 98的网络功能都存在安全漏洞,可以导致远程的D.O.S(拒绝服务)攻击,而出现TCP/IP栈崩溃、Modem掉线、系统凝固、蓝屏错误和系统重新启动等现象。
1.常见D.O.S攻击软件介绍
(1)WinNuke: 通过发送OOB漏洞导致系统蓝屏,是最早的Windows 95攻击器。
(2)Bonk: 通过发送大量伪造的UDP数据包导致系统重启。
(3)TearDrop: 通过发送重叠的IP碎片导致系统的TCP/IP栈崩溃。
(4)WinArp: 通过发特殊数据包在对方机器上产生大量的窗口。
(5)Land:通过发送大量伪造源IP的基于SYN的TCP请求,导致系统重启。
(6)FluShot: 通过发送特定IP包导致系统凝固。
(7)Bloop: 通过发送大量的ICMP数据包导致系统变慢,甚至凝固。
(8)PIMP:通过IGMP漏洞导致系统蓝屏,甚至重新启动。
(9)Jolt: 通过大量伪造的ICMP和UDP导致系统变得非常慢,甚至重新启动。
等等…… 还有以上程序的诸多变种!不再一一叙述。
2. 安装网络安全补丁程序
[Windows 95]
步骤如下:
(1)下载并安装MS Winsock Update - wsockupd.exe(188K);
(2)下载并安装MS DUN 1.2 Upgrade - msdun12.exe(1.38M);
(3)下载并安装Winsock 2.2 Upgrade - ws2setup.exe(963K);
(4)下载并安装“端口攻击拦截器” - nn21.exe(602K)。
注:以上安装顺序不能颠倒,(1)-(3)安装完毕后都要重新启动系统。
[Windows 98第一版]
(1)下载并安装IGMP Patch - 3304up98.exe(176K)
注:安装完毕后要重新启动系统。
[Windows 98SE第二版]
(1)下载并安装IGMP Patch - 3304upse.exe(178K)
注:安装完毕后要重新启动系统。
3. 关掉不必要的服务(端口)
(1)下载PortScanner(26K)并运行,检查你的系统开放的端口,IP地址: 127.0.0.1。
(2)检查你有没有使用常见的HTTP和FTP服务,若有的话上网时最好关掉。因为每一个服务软件都会遭到很多种攻击,对于一般用户是难以防范的。
(3)关掉最容易受攻击的139端口:运行RegEdit.exe查找串“vnetbios”,找到后再选择“查找下一个”,将找到像“blahblah\vxd\vnetbios\”的串,删除“Vnetbios”项即可。
注:以上操作一定要谨慎,误操作可能导致系统崩溃。另,关掉139端口后将无法共享文件和打印功能。
4. 使用病毒和木马查杀工具对系统扫描
我个人推荐使用Norton AntiVirus 2000,不仅杀除病毒和木马程序的效果好,支持动态检测而且免费,更有在线升级支持。网站地址为http://www.symantec.com,下载并安装后对系统进行一次全面的查杀即可。
5. 使用防火墙软件实现在线安全防护
一般来说,经过以上处理以后,系统已经是相当安全的了,但若为更加安全起见,不妨安装防火墙软件。当然,这是以付出系统资源和降低网速为代价的,有的免费防火墙软件有后门,所以大家要慎重选择。
一般用户可选用:
国产免费的“天网”
http://sky.net.cn for windows 9x/nt/2000
国产免费的“绿色警戒”
http://www.nsfoucs.com for windows nt/2000
专业用户选用:
国外共享的“LockDown2000”产品
说明:目前用于个人的防火墙软件大多只是在底层实现包过滤功能,对于D.O.S拒绝服务类的攻击比较有效,但对于应用层的攻击基本上是无能为力的,比如: ICQ和OICQ消息攻击器,就能穿透大多数的防火墙软件。
四、网络攻击的分类与防范
对个人用户的网络攻击按照攻击,效果大致分D.O.S拒绝服务和系统入侵两种。攻击者要实施攻击就必须知道对方的IP地址,所以很好地保护自己的IP地址是非常重要的。至于端口,攻击者知道你的IP地址后,用端口扫描软件很容易获得你开放的端口列表。
1. D.O.S拒绝服务攻击
该攻击的方法往往是利用操作系统网络功能的漏洞而进行的,比如:Windows 95/NT的OOB漏洞,Windows 98的IGMP漏洞等,造成的现象为TCP/IP栈崩溃导致与Internet的连接中断、系统蓝屏、系统凝固甚至重新启动、有无数的窗口被打开等等。但基本上对硬盘上的数据没有损害,一般重新启动机器即可恢复。
防范方法为:安装系统补丁程序和使用防火墙软件。
2. 系统入侵攻击
由于大多数的Windows95/98不提供如HTTP、FTP、TELNET等服务器才提供的服务,所以通过这些实现入侵一般是行不通的,但有的用户可能会使用HTTP服务器设计网页或使用FTP服务器让朋友从自己机器上下载文件或调试程序,这就给攻击者造成了可乘之机,所以也必须多加注意。若你对自己开的这些服务的安全性没有把握的话,上网时建议最好关掉。事实上,对于Windows95/98系统的入侵大多数是通过下面的方式进行的:
(1)通过139端口的共享功能。
Windows 95/98的139主要是用于文件和打印机共享的,所以往往开放,这使得攻击者知道你的IP后只要使用Legion、SharesFinder、Smbscanner等共享搜索软件,很容易把你的C:盘映射成他的H:盘等,然后就可以读写你C:盘的文件了,是非常危险的。
防范方法:删除文件或打印机共享功能(控制面板→网络→打开→删除列表中的“Microsoft网络的文件和打印机共享”项),或用前面的方法彻底关掉139端口。
(2)木马程序实现全系统控制。
当前,使用木马程序实现对远程机器的全部控制是非常流行的,主要因为通过该方法的入侵是隐蔽性强,控制能力强。事实上,木马入侵是有条件的,大多用来入侵那些对网络不太熟悉的一般用户,一旦入侵就会造成比较严重的后果。一般木马入侵步骤为:
A.在你的机器上安装木马的Server程序
木马的Server一般会隐藏在下面的程序中:
<>Email里得到的说是如何如何好的程序
<>从非专业网站站点下载的程序中
<>从朋友处得到的据说有多么多么好的程序
<>通过ICQ等实时聊天软件传送过来的程序
<>……
防范方法:在运行任何程序前都用最新的病毒和木马查杀软件扫描。
B.取得你的IP地址
基本上,一旦取得你的IP地址,攻击者就已经可以完全控制你的机器系统了,也就是说你相当危险了,所以保护自己的IP地址是很重要的。事实上,即便你的机器上被安装了木马程序,若没有你的IP地址,攻击者也是没有办法的。但可恶的是,有些木马的Server程序会把你每次上网的IP地址自动发送到指定的ICQ或指定的E-mail信箱里,以致于防不胜防,所以关键在于切断木马入侵的第一步。
防范方法:不运行来历不明的程序,并且定期用最新的病毒和木马查杀软件对系统进行扫描;专业用户用防火墙软件关掉你不用的端口。
常见木马程序:BO2000、SubSeven、NetBus、国产冰河等。
五、保护自己的网上资源
上网用户基本上在网络上都有自己的网络资源,比如:Email、BBS账号、个人主页空间等,我们这些资源的安全其实主要取决于服务商的系统和程序的安全。我们能掌握的主要是帐号和密码。那么在被动的情况下如何才能更好地保护自己的资源呢?我想主要是从以下几个方面考虑:
1. 选择名气大和名声好的服务商申请我们需要的资源,因为这样的服务商大多有资金去保证系统的稳定性和安全性。
2. 把自己的密码设置安全,我个人认为比较安全的密码应该是:不少于8位的字母大小写和数字混合,比如:A1b2C3d4,否则很难抵御一些网页破解软件,如:WWWHACK、WEBHACK等的暴力破解。一定不要用生日、电话等公开信息作密码。
3. 在网吧等公共上网场所,当你下机时要把自己留下的信息清除掉,比如,你的OICQ号码为888888,那么下机后最好把C:\Program File\Oicq\888888目录删除,否则你就有OICQ密码被破解和聊天记录被偷看的危险。当然,你一定要确保把“回收站”清空,否则很容易被还原出来。
六、网上畅游需要注意的问题
1. 浏览网站
一般来说浏览网站是不会有太大危险的,因为大凡网站都是想吸引人的,所以越是名气大、浏览量高的网站一般安全性越好!也许有朋友会问:浏览网站的危险性有多大?这基本上可以明确,轻的可以使系统死机,重的可以格式化硬盘。当前通过网页进行的欺骗和攻击的常见手法有:
(1)通过让你提交表格偷窃你的邮件地址。
就是说,你看到某网站提供一些服务,并没说要你填写E-mail地址,否则你可能就不填写了,可是当你提交时才发现,程序自动调用了你的邮件程序,用你的默认账号把你填的内容发走了,也许快的你根本来不及阻止。这样好了,以后等着收垃圾信吧。所以,最好在你的邮件程序里建立一个假的E-mail账号并设置为默认账号。
(2)通过模拟登录界面偷窃你的邮件账号和密码
这种手法被用的太多了,就是在自己网页上模拟你的邮件服务商的登录界面,让你输入你的账号和密码,你填入并提交后的确进入到了你的服务商提供的操作界面里,但孰不知你的账号和密码已经被截获了。所以建议从Web登录信箱时一定要从你的服务商提供的界面登录。
(3)通过网页偷窃走你硬盘上的文件。
其实是通过一个CGI程序和浏览器的漏洞实现的,在你浏览某网页的时候,该CGI程序会读出你计算机里指定的文件内容并处理(比如发送到某指定信箱)。
(4)使用JavaScript/VBScript/Java炸弹。
不说了,非常简单,除非你在浏览器里禁止这些脚本的运行,否则几乎没有办法。设置方法为:Internet Explorer→工具→Internet选项→高级,然后根据需要自己选择吧。
(5)通过网页下载某类文件并执行该文件里的脚本程序。
当你浏览某设置好的网页时,浏览器会自动下载某类文件,然后执行文件里的脚本。也就是说可以执行你计算机上的程序,比如:Format.com!所以建议最好还是把硬盘上的format.com文件改名,比如改为fmt.com,甚至del掉。format.com文件一般在你的windows\command目录中。
(6)通过网页里的脚本执行硬盘上的程序
意思很明显了,就是可以直接执行你计算机上的程序,比上面的方法速度更快,但容易暴露,一看源文件就知道了。但可怕的是,没等你来得及看,它已经执行开始甚至完成了。一般此类网页都需要JavaScript支持,所以若禁止JavaScript的话就没危险了,但问题是禁止了JavaScript的话,就不能正常浏览大多数使用JavaScript的网站了!
2. Web聊天室
我想在网上没有比在聊天室里的问题更多的了,尤其是踢人问题。大家所在的大多为Web聊天室,何为Web聊天室呢?其实就是不用客户端软件直接用浏览器就可以进行交流的聊天室,当然Java聊天室其实属于客户端,不在这之列。在这里我只想讨论一下在聊天室里保护自己的IP地址的问题。实际上在聊天室里能不能保护自己的IP地址,并不是我们所能够控制的,主要是聊天室程序的问题,若聊天室发言支持HTML的话,那么JavaScript炸弹基本上可以在这个聊天室满天飞了。事实上大多数聊天室的发言并不支持HTML,但却支持发任意地址的图片和音乐,这恰恰是一个漏洞。假如我在自己的机器上安装一个HTTP服务器,我的IP地址为202.108.123.44,那么我把http://202.108.123.44/dog.gif发给对方,对方的浏览器就会向我的HTTP服务器请求dog.gif文件,结果我的HTTP服务器就把对方的IP地址记录了下来;若我向全聊天室的人发送,大家都来请求,结果我会得到所有人的IP地址,这也正是我写的《在Web聊天室里抓IP的小工具-IP Hunter》的原理,非常简单。所以比较安全的Web聊天室就是发言只支持纯文本的聊天室,当然这种安全是以失去动态页面为代价的。其实在Web聊天室里比较安全的保护自己IP的方法是使用代理服务器。关于如何设置代理服务器请参考前面的讲述。
3. OICQ聊天软件
现在国内很多人在使用该软件,然而由于该软件设计上的原因,注重了数据的传送效率,对于安全性考虑的相对少一些,它使用的是UDP协议,给攻击者造成了漏洞,以至于熟悉UDP编程的人只要用很短的代码就可以编制出消息攻击器来。由于消息攻击器发出的数据和正常的数据除了短时间发送的次数多以外,几乎没什么区别,所以基本上连防火墙软件也无能为力。临时的解决办法是不要让你不熟悉的人成为你的好友,当然你也不要暴露你的好友的OICQ号码给陌生人。对于来自陌生人的消息攻击,就是一下子有好多陌生人出现,只需退出OICQ再重新登录就可以消除,若真是出现了来自某个“好友”的消息攻击,也不用去一直点消息框,直接把你的这个“好友”Del掉就可以了!
七、最后要说的话
其实关于如何做好上网自我保护,远不是这么一篇文章能够说明的。本文只是针对上网的普通用户,用通俗的话向大家介绍了一些网络基本常识、如何安全自己的操作系统、常见的攻击方法及防范,以及网络冲浪需要注意的事项等。希望对广大网友能够有所帮助。由于工作原因写的比较仓促,一定会有不少问题存在,敬请批评指正,以便在下一版中更正。若您是高手的话,我们可以在深层次进行探讨,我将非常欢迎。
