如何知道自己的电脑被黑客侵入了?
学这些知识,作黑客
第一个
什么是FTP
FTP是英文File Transfer Protocol的缩写,意思是文件传输协议。它和HTTP一样都是Internet上广泛使用的协议,用来在两台计算机之间互相传送文件。相比于 HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。
FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的XXXX端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口发送连接请求,建立一条数据链路来传送数据。
从上面可以看出,两种方式的命令链路连接方法是一样的,而数据链路的建立方法就完全不同。而FTP的复杂性就在于此。第二个 : HTTP是什么
当我们想浏览一个网站的时候,只要在浏览器的地址栏里输入网站的地址就可以了,例如:wwwmicrosoftcom,但是在浏览器的地址栏里面出现的却是:http://wwwmicrosoftcom ,你知道为什么会多出一个“http”吗?
一、HTTP协议是什么
我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL 或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。因此,在我们认识HTTP之前,有必要先弄清楚URL的组成,例如:http://wwwmicrosoftcom/china/indexhtm。它的含义如下:
1 http://:代表超文本传输协议,通知microsoftcom服务器显示Web页,通常不用输入;
2 www:代表一个Web(万维网)服务器;
3 Microsoftcom/:这是装有网页的服务器的域名,或站点服务器的名称;
4 China/:为该服务器上的子目录,就好像我们的文件夹;
5 Indexhtm:indexhtm是文件夹中的一个HTML文件(网页)。
我们知道,Internet的基本协议是TCP/IP协议,然而在TCP/IP模型最上层的是应用层(Application layer),它包含所有高层的协议。高层协议有:文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和 HTTP协议等。
HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。这就是你为什么在浏览器中看到的网页地址都是以http://开头的原因。
自WWW诞生以来,一个多姿多彩的资讯和虚拟的世界便出现在我们眼前,可是我们怎么能够更加容易地找到我们需要的资讯呢?当决定使用超文本作为WWW文档的标准格式后,于是在1990年,科学家们立即制定了能够快速查找这些超文本文档的协议,即HTTP协议。经过几年的使用与发展,得到不断的完善和扩展,目前在WWW中使用的是HTTP/10的第六版。
二、HTTP是怎样工作的
既然我们明白了URL的构成,那么HTTP是怎么工作呢?我们接下来就要讨论这个问题。
由于HTTP协议是基于请求/响应范式的(相当于客户机/服务器)。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。
许多HTTP通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请求。最简单的情况可能是在用户代理和服务器之间通过一个单独的连接来完成。在Internet上,HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP 80,但其它的端口也是可用的。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。HTTP只预示着一个可靠的传输。
这个过程就好像我们打电话订货一样,我们可以打电话给商家,告诉他我们需要什么规格的商品,然后商家再告诉我们什么商品有货,什么商品缺货。这些,我们是通过电话线用电话联系(HTTP是通过TCP/IP),当然我们也可以通过传真,只要商家那边也有传真。
以上简要介绍了HTTP协议的宏观运作方式,下面介绍一下HTTP协议的内部操作过程。
在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。这就好像上面的例子,我们电话订货的全过程。
其实简单说就是任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用户请求。你的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操作后回送所要求的文件。在这一过程中,在网络上发送和接收的数据已经被分成一个或多个数据包(packet),每个数据包包括:要传送的数据;控制信息,即告诉网络怎样处理数据包。TCP/IP决定了每个数据包的格式。如果事先不告诉你,你可能不会知道信息被分成用于传输和再重新组合起来的许多小块。
也就是说商家除了拥有商品之外,它也有一个职员在接听你的电话,当你打电话的时候,你的声音转换成各种复杂的数据,通过电话线传输到对方的电话机,对方的电话机又把各种复杂的数据转换成声音,使得对方商家的职员能够明白你的请求。这个过程你不需要明白声音是怎么转换成复杂的数据的。第三个 : ipc$ 是什么?
IPC$(Internet Process Connection)是共享\"命名管道\"的资源(大家都是这么说的),它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。
利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。
我们总在说ipc$漏洞ipc$漏洞,其实,ipc$并不是真正意义上的漏洞,它是为了方便管理员的远程管理而开放的远程网络登陆功能,而且还打开了默认共享,即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$)。
所有的这些,初衷都是为了方便管理员的管理,但好的初衷并不一定有好的收效,一些别有用心者(到底是什么用心我也不知道,代词一个)会利用IPC$,访问共享资源,导出用户列表,并使用一些字典工具,进行密码探测,寄希望于获得更高的权限,从而达到不可告人的目的
解惑:
1)IPC连接是Windows NT及以上系统中特有的远程网络登陆功能,其功能相当于Unix中的Telnet,由于IPC$功能需要用到Windows NT中的很多DLL函数,所以不能在Windows 9x中运行。
也就是说只有nt/2000/xp才可以建立ipc$连接,98/me是不能建立ipc$连接的(但有些朋友说在98下能建立空的连接,不知道是真是假,不过现在都2003年了,建议98的同志换一下系统吧,98不爽的)
2)即使是空连接也不是100%都能建立成功,如果对方关闭了ipc$共享,你仍然无法建立连接
3)并不是说建立了ipc$连接就可以查看对方的用户列表,因为管理员可以禁止导出用户列表第四个 : ASP 是什么
ASP即Active Server Page的缩写。它是一种包含了使用VB Script或Jscript脚本程序代码的网页。当浏览器浏览ASP网页时, Web服务器就会根据请求生成相应的HTML代码然后再返回给浏览器,这样浏览器端看到的就是动态生成的网页。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互。是一种简单、方便的编程工具。在了解了 VBSCRIPT的基本语法后,只需要清楚各个组件的用途、属性、方法,就可以轻松编写出自己的ASP系统。ASP的网页文件的格式是ASP。
第五个 : 什么是病毒
下面我们谈一谈病毒。您以前是否听说过电脑病毒不要一听到病毒就浑身发抖,只要了解了病毒,对付起来还是很容易的。
电脑病毒与我们平时所说的医学上的生物病毒是不一样的,它实际上是一种电脑程序,只不过这种程序比较特殊,它是专门给人们捣乱和搞破坏的,它寄生在其它文件中,而且会不断地自我复制并传染给别的文件,没有一点好作用。
电脑病毒发作了都会有哪些症状呢?
电脑染上病毒后,如果没有发作,是很难觉察到的。但病毒发作时就很容易感觉出来:
有时电脑的工作会很不正常,有时会莫名其妙的死机,有时会突然重新启动,有时程序会干脆运行不了。
◎ 电脑染毒后表现为:工作很不正常,莫名其妙死机,突然重新启动,程序运行不了。
有的病毒发作时满屏幕会下雨,有的屏幕上会出现毛毛虫等,甚至在屏幕上出现对话框,这些病毒发作时通常会破坏文件,是非常危险的,反正只要电脑工作不正常,就有可能是染上了病毒。病毒所带来的危害更是不言而喻了。
而且,以前人们一直以为,病毒只能破坏软件,对硬件毫无办法,可是CIH病毒打破了这个神话,因为它竟然在某种情况下可以破坏硬件!
电脑病毒和别的程序一样,它也是人编写出来的。既然病毒也是人编的程序,那就会有办法来对付它。最重要的是采取各种安全措施预防病毒,不给病毒以可乘之机。另外,就是使用各种杀毒程序了。它们可以把病毒杀死,从电脑中清除出去。
病毒后记
其实现在的病毒,随着网络的发展。已经变的更加的复杂。它与黑客技术、木马等技术相结合,让你无法轻易查杀!其威害之大,由近期的冲击波病毒,仅见一斑!
所以大家学习了解电脑知识与安全知识,是必不可少的。我们这里学习黑客等技术,也不是教你如何去攻击别人,这样是不道德的,主要是了解技术后,用于防范。
再一个,如何做好防范,让病毒无法入手。才是最重要的。对于初学的朋友,一个好的杀毒工具是必须的。个人认为正版的瑞星还是不错的,其网上升级速度很快,防与杀的效果也很好!
=====+++++++===============
我在普及最基本的知识时,遇到一个难题,我有时不知道该讲些什么?以什么为主题呢?所以希望大家在回贴时,如果希望了解什么相关的问题,请提出来。我好跟据提问,来安排主题!
对于所发布的主题,如有不明白的,也请及时提出,我会尽力作出完美的解答!
第六个 : 什么是路由器
路由器是一种连接多个网络或网段的网络设备,它能将不同网络或网段之间的数据信息进行“翻译”,以使它们能够相互“读”懂对方的数据,从而构成一个更大的网络。
路由器有两大典型功能,即数据通道功能和控制功能。数据通道功能包括转发决定、背板转发以及输出链路调度等,一般由特定的硬件来完成;控制功能一般用软件来实现,包括与相邻路由器之间的信息交换、系统配置、系统管理等。
多少年来,路由器的发展有起有伏。90年代中期,传统路由器成为制约因特网发展的瓶颈。ATM交换机取而代之,成为IP骨干网的核心,路由器变成了配角。进入90年代末期,Internet规模进一步扩大,流量每半年翻一番,ATM网又成为瓶颈,路由器东山再起,Gbps路由交换机在1997年面世后,人们又开始以Gbps路由交换机取代ATM交换机,架构以路由器为核心的骨干网。
附:路由器原理及路由协议
近十年来,随着计算机网络规模的不断扩大,大型互联网络(如Internet)的迅猛发展,路由技术在网络技术中已逐渐成为关键部分,路由器也随之成为最重要的网络设备。用户的需求推动着路由技术的发展和路由器的普及,人们已经不满足于仅在本地网络上共享信息,而希望最大限度地利用全球各个地区、各种类型的网络资源。而在目前的情况下,任何一个有一定规模的计算机网络(如企业网、校园网、智能大厦等),无论采用的是快速以大网技术、FDDI技术,还是 ATM技术,都离不开路由器,否则就无法正常运作和管理。
1 网络互连
把自己的网络同其它的网络互连起来,从网络中获取更多的信息和向网络发布自己的消息,是网络互连的最主要的动力。网络的互连有多种方式,其中使用最多的是网桥互连和路由器互连。
11 网桥互连的网络
网桥工作在OSI模型中的第二层,即链路层。完成数据帧(frame)的转发,主要目的是在连接的网络间提供透明的通信。网桥的转发是依据数据帧中的源地址和目的地址来判断一个帧是否应转发和转发到哪个端口。帧中的地址称为“MAC”地址或“硬件”地址,一般就是网卡所带的地址。
网桥的作用是把两个或多个网络互连起来,提供透明的通信。网络上的设备看不到网桥的存在,设备之间的通信就如同在一个网上一样方便。由于网桥是在数据帧上进行转发的,因此只能连接相同或相似的网络(相同或相似结构的数据帧),如以太网之间、以太网与令牌环(token ring)之间的互连,对于不同类型的网络(数据帧结构不同),如以太网与X25之间,网桥就无能为力了。
网桥扩大了网络的规模,提高了网络的性能,给网络应用带来了方便,在以前的网络中,网桥的应用较为广泛。但网桥互连也带来了不少问题:一个是广播风暴,网桥不阻挡网络中广播消息,当网络的规模较大时(几个网桥,多个以太网段),有可能引起广播风暴(broadcasting storm),导致整个网络全被广播信息充满,直至完全瘫痪。第二个问题是,当与外部网络互连时,网桥会把内部和外部网络合二为一,成为一个网,双方都自动向对方完全开放自己的网络资源。这种互连方式在与外部网络互连时显然是难以接受的。问题的主要根源是网桥只是最大限度地把网络沟通,而不管传送的信息是什么。
12 路由器互连网络
路由器互连与网络的协议有关,我们讨论限于TCP/IP网络的情况。
路由器工作在OSI模型中的第三层,即网络层。路由器利用网络层定义的“逻辑”上的网络地址(即IP地址)来区别不同的网络,实现网络的互连和隔离,保持各个网络的独立性。路由器不转发广播消息,而把广播消息限制在各自的网络内部。发送到其他网络的数据茵先被送到路由器,再由路由器转发出去。
IP路由器只转发IP分组,把其余的部分挡在网内(包括广播),从而保持各个网络具有相对的独立性,这样可以组成具有许多网络(子网)互连的大型的网络。由于是在网络层的互连,路由器可方便地连接不同类型的网络,只要网络层运行的是IP协议,通过路由器就可互连起来。
网络中的设备用它们的网络地址(TCP/IP网络中为IP地址)互相通信。IP地址是与硬件地址无关的“逻辑”地址。路由器只根据IP地址来转发数据。 IP地址的结构有两部分,一部分定义网络号,另一部分定义网络内的主机号。目前,在Internet网络中采用子网掩码来确定IP地址中网络地址和主机地址。子网掩码与IP地址一样也是32bit,并且两者是一一对应的,并规定,子网掩码中数字为“1”所对应的IP地址中的部分为网络号,为“0”所对应的则为主机号。网络号和主机号合起来,才构成一个完整的IP地址。同一个网络中的主机IP地址,其网络号必须是相同的,这个网络称为IP子网。
通信只能在具有相同网络号的IP地址之间进行,要与其它IP子网的主机进行通信,则必须经过同一网络上的某个路由器或网关(gateway)出去。不同网络号的IP地址不能直接通信,即使它们接在一起,也不能通信。
路由器有多个端口,用于连接多个IP子网。每个端口的IP地址的网络号要求与所连接的IP子网的网络号相同。不同的端口为不同的网络号,对应不同的IP子网,这样才能使各子网中的主机通过自己子网的IP地址把要求出去的IP分组送到路由器上
2 路由原理
当IP子网中的一台主机发送IP分组给同一IP子网的另一台主机时,它将直接把IP分组送到网络上,对方就能收到。而要送给不同IP于网上的主机时,它要选择一个能到达目的子网上的路由器,把IP分组送给该路由器,由路由器负责把IP分组送到目的地。如果没有找到这样的路由器,主机就把IP分组送给一个称为“缺省网关(default gateway)”的路由器上。“缺省网关”是每台主机上的一个配置参数,它是接在同一个网络上的某个路由器端口的IP地址。
路由器转发IP分组时,只根据IP分组目的IP地址的网络号部分,选择合适的端口,把IP分组送出去。同主机一样,路由器也要判定端口所接的是否是目的子网,如果是,就直接把分组通过端口送到网络上,否则,也要选择下一个路由器来传送分组。路由器也有它的缺省网关,用来传送不知道往哪儿送的IP分组。这样,通过路由器把知道如何传送的IP分组正确转发出去,不知道的IP分组送给“缺省网关”路由器,这样一级级地传送,IP分组最终将送到目的地,送不到目的地的IP分组则被网络丢弃了。
目前TCP/IP网络,全部是通过路由器互连起来的,Internet就是成千上万个IP子网通过路由器互连起来的国际性网络。这种网络称为以路由器为基础的网络(router based network),形成了以路由器为节点的“网间网”。在“网间网”中,路由器不仅负责对IP分组的转发,还要负责与别的路由器进行联络,共同确定“网间网”的路由选择和维护路由表。
路由动作包括两项基本内容:寻径和转发。寻径即判定到达目的地的最佳路径,由路由选择算法来实现。由于涉及到不同的路由选择协议和路由选择算法,要相对复杂一些。为了判定最佳路径,路由选择算法必须启动并维护包含路由信息的路由表,其中路由信息依赖于所用的路由选择算法而不尽相同。路由选择算法将收集到的不同信息填入路由表中,根据路由表可将目的网络与下一站(nexthop)的关系告诉路由器。路由器间互通信息进行路由更新,更新维护路由表使之正确反映网络的拓扑变化,并由路由器根据量度来决定最佳路径。这就是路由选择协议(routing protocol),例如路由信息协议(RIP)、开放式最短路径优先协议(OSPF)和边界网关协议(BGP)等。
转发即沿寻径好的最佳路径传送信息分组。路由器首先在路由表中查找,判明是否知道如何将分组发送到下一个站点(路由器或主机),如果路由器不知道如何发送分组,通常将该分组丢弃;否则就根据路由表的相应表项将分组发送到下一个站点,如果目的网络直接与路由器相连,路由器就把分组直接送到相应的端口上。这就是路由转发协议(routed protocol)。
路由转发协议和路由选择协议是相互配合又相互独立的概念,前者使用后者维护的路由表,同时后者要利用前者提供的功能来发布路由协议数据分组。下文中提到的路由协议,除非特别说明,都是指路由选择协议,这也是普遍的习惯。
3 路由协议
典型的路由选择方式有两种:静态路由和动态路由。
静态路由是在路由器中设置的固定的路由表。除非网络管理员干预,否则静态路由不会发生变化。由于静态路由不能对网络的改变作出反映,一般用于网络规模不大、拓扑结构固定的网络中。静态路由的优点是简单、高效、可靠。在所有的路由中,静态路由优先级最高。当动态路由与静态路由发生冲突时,以静态路由为准。
动态路由是网络中的路由器之间相互通信,传递路由信息,利用收到的路由信息更新路由器表的过程。它能实时地适应网络结构的变化。如果路由更新信息表明发生了网络变化,路由选择软件就会重新计算路由,并发出新的路由更新信息。这些信息通过各个网络,引起各路由器重新启动其路由算法,并更新各自的路由表以动态地反映网络拓扑变化。动态路由适用于网络规模大、网络拓扑复杂的网络。当然,各种动态路由协议会不同程度地占用网络带宽和CPU资源。
静态路由和动态路由有各自的特点和适用范围,因此在网络中动态路由通常作为静态路由的补充。当一个分组在路由器中进行寻径时,路由器首先查找静态路由,如果查到则根据相应的静态路由转发分组;否则再查找动态路由。
根据是否在一个自治域内部使用,动态路由协议分为内部网关协议(IGP)和外部网关协议(EGP)。这里的自治域指一个具有统一管理机构、统一路由策略的网络。自治域内部采用的路由选择协议称为内部网关协议,常用的有RIP、OSPF;外部网关协议主要用于多个自治域之间的路由选择,常用的是BGP和 BGP-4。下面分别进行简要介绍。
31 RIP路由协议
RIP协议最初是为Xerox网络系统的Xerox parc通用协议而设计的,是Internet中常用的路由协议。RIP采用距离向量算法,即路由器根据距离选择路由,所以也称为距离向量协议。路由器收集所有可到达目的地的不同路径,并且保存有关到达每个目的地的最少站点数的路径信息,除到达目的地的最佳路径外,任何其它信息均予以丢弃。同时路由器也把所收集的路由信息用RIP协议通知相邻的其它路由器。这样,正确的路由信息逐渐扩散到了全网。
RIP使用非常广泛,它简单、可靠,便于配置。但是RIP只适用于小型的同构网络,因为它允许的最大站点数为15,任何超过15个站点的目的地均被标记为不可达。而且RIP每隔30s一次的路由信息广播也是造成网络的广播风暴的重要原因之一。
32 OSPF路由协议
80年代中期,RIP已不能适应大规模异构网络的互连,0SPF随之产生。它是网间工程任务组织(1ETF)的内部网关协议工作组为IP网络而开发的一种路由协议。
0SPF是一种基于链路状态的路由协议,需要每个路由器向其同一管理域的所有其它路由器发送链路状态广播信息。在OSPF的链路状态广播中包括所有接口信息、所有的量度和其它一些变量。利用0SPF的路由器首先必须收集有关的链路状态信息,并根据一定的算法计算出到每个节点的最短路径。而基于距离向量的路由协议仅向其邻接路由器发送有关路由更新信息。
与RIP不同,OSPF将一个自治域再划分为区,相应地即有两种类型的路由选择方式:当源和目的地在同一区时,采用区内路由选择;当源和目的地在不同区时,则采用区间路由选择。这就大大减少了网络开销,并增加了网络的稳定性。当一个区内的路由器出了故障时并不影响自治域内其它区路由器的正常工作,这也给网络的管理、维护带来方便。
33 BGP和BGP-4路由协议
BGP是为TCP/IP互联网设计的外部网关协议,用于多个自治域之间。它既不是基于纯粹的链路状态算法,也不是基于纯粹的距离向量算法。它的主要功能是与其它自治域的BGP交换网络可达信息。各个自治域可以运行不同的内部网关协议。BGP更新信息包括网络号/自治域路径的成对信息。自治域路径包括到达某个特定网络须经过的自治域串,这些更新信息通过TCP传送出去,以保证传输的可靠性。
为了满足Internet日益扩大的需要,BGP还在不断地发展。在最新的BGp4中,还可以将相似路由合并为一条路由。
34 路由表项的优先问题
在一个路由器中,可同时配置静态路由和一种或多种动态路由。它们各自维护的路由表都提供给转发程序,但这些路由表的表项间可能会发生冲突。这种冲突可通过配置各路由表的优先级来解决。通常静态路由具有默认的最高优先级,当其它路由表表项与它矛盾时,均按静态路由转发。
4 路由算法
路由算法在路由协议中起着至关重要的作用,采用何种算法往往决定了最终的寻径结果,因此选择路由算法一定要仔细。通常需要综合考虑以下几个设计目标:
——(1)最优化:指路由算法选择最佳路径的能力。
——(2)简洁性:算法设计简洁,利用最少的软件和开销,提供最有效的功能。
——(3)坚固性:路由算法处于非正常或不可预料的环境时,如硬件故障、负载过高或操作失误时,都能正确运行。由于路由器分布在网络联接点上,所以在它们出故障时会产生严重后果。最好的路由器算法通常能经受时间的考验,并在各种网络环境下被证实是可靠的。
——(4)快速收敛:收敛是在最佳路径的判断上所有路由器达到一致的过程。当某个网络事件引起路由可用或不可用时,路由器就发出更新信息。路由更新信息遍及整个网络,引发重新计算最佳路径,最终达到所有路由器一致公认的最佳路径。收敛慢的路由算法会造成路径循环或网络中断。
——(5)灵活性:路由算法可以快速、准确地适应各种网络环境。例如,某个网段发生故障,路由算法要能很快发现故障,并为使用该网段的所有路由选择另一条最佳路径。
路由算法按照种类可分为以下几种:静态和动态、单路和多路、平等和分级、源路由和透明路由、域内和域间、链路状态和距离向量。前面几种的特点与字面意思基本一致
建议先删除多增加的用户,让杀毒软件全盘杀毒,检查系统日志分析日志来路及运行情况,查看服务器是否留有后门,如远程控制后门,webshell等。最好仔细检查,如果硬盘文件过多,建议使用专业的扫马工具,如asp雷客站长等。
我在电信的托管服务器也被入侵了,安装了硬防火墙也挡不住我有时怀疑是不是谁在故意在搞我的破坏
国家在这方面的法律跟不上,犯罪人太多只能靠自己了以下是一篇摘录的文章,文章比较长且晦涩,但读后至少知道追踪原理,至于能不能追踪到,这就涉及到很多方面了关键还是做好预防
系统安全策略----如何追踪入侵者
入侵者的追踪(Intruder Tracing)
在区域网路上可能你听过所谓「广播模式」的资料发送方法,此种方法不指定收信站,只要和此网路连结的所有网路设备皆为收信对象。但是这仅仅在区域网路上能够实行,因为区域网路上的机器不多(和Internet比起来 )。如果象是Internet上有数千万的主机,本就不可能实施资料广播(至于IP Multicast算是一种限定式广播 Restricted Broadcast,唯有被指定的机器会收到,Internet上其他电脑还是不会收到)。假设Internet上可以实施非限定广播,那随便一个人发出广播讯息,全世界的电脑皆受其影响,岂不世界大乱?因此,任何区域网 路内的路由器或是类似网路设备都不会将自己区域网路内的广播讯息转送出去。万一在WAN Port收到广播讯息,也不会转进自己的LAN Port中。
而既然网路皆有发信站与收信站,用以标示信息发送者与信息接收者,除非对方使用一些特殊的封包封装方式或是使用防火墙对外连线,那么只要有人和你的主机进行通讯(寄信或是telnet、ftp过来都算) 你就应该会知道 对方的位址,如果对方用了防火墙来和你通讯,你最少也能够知道防火墙的位置。也正因为只要有人和你连线,你就能知道对方的位址,那么要不要知道对方位置只是要做不做的问题而已。如果对方是透过一台UNIX主机和你连线,则你更可以透过ident查到是谁和你连线的。
在实行TCP/IP通讯协定的电脑上,通常可以用netstat指令来看到目前连线的状况。(各位朋友可以在win95、Novell以及UNIX试试看(注一),在下面的连线状况中,netstat指令是在win95上实行的,可以看到目前自己机器(Local Address处)的telnetport有一台主机workstationvarioxint 由远端(Foreign Address处)连线进来并且配到1029号tcp port而cc unix1主机也以ftpport连到workstationvarioxint去。所有的连线状况看得 一清二楚。(如A、B)
A在UNIX主机(ccunix1varioxint)看netstat
B另一端在Windows95(workstationvarioxint)看netstat, 虽然是不同的作业系统,但netstat是不是长得很像呢?
通信过程的纪录设定
当然,如果你想要把网路连线纪录给记录下来,你可以用cron table定时去跑: netstat>>filename
但是UNIX系统早已考虑到这一个需求,因此在系统中有一个专职记录系统事件的Daemon:syslogd,应该有很多朋友都知道在UNIX系统的/var/adm下面有两个系统纪录档案:syslog与messages,一个是一般系统的纪录,一个是核心的纪录。但是这两个档案是从哪边来的,又要如何设定呢?
系统的纪录基本上都是由syslogd (System Kernel Log Daemon)来产生,而syslogd的控制是由/etc/syslogconf来做的。syslogconf以两个栏位来决定要记录哪些东西,以及记录到哪边去。下面是一个 Linux系统所附上的yslogconf档案,这也是一个最标准的syslogconf写法:
格式就是这样子,第一栏写「在什么情况下」以及「什么程度」。然后用TAB键跳下一栏继续写「符合条件以后要做什么」。这个syslogconf档案的作者很诚实,告诉你只能用TAB来作各栏位之间的分隔(虽然看来好像他也不知道为什么)。 第一栏包含了何种情况与程度,中间小数点分隔。另外,星号就代表了某一细项中的所有选项。详细的设定方式如下:
1在什么情况:各种不同的情况以下面的字串来决定。
auth 关于系统安全与使用者认证方面
cron 关于系统自动排程执行(CronTable)方面
daemon 关于背景执行程式方面
kern 关于系统核心方面
lpr 关于印表机方面
mail 关于电子邮件方面
news 关于新闻讨论区方面
syslog 关于系统纪录本身方面
user 关于使用者方面
uucp 关于UNIX互拷(UUCP)方面
上面是大部份的UNIX系统都会有的情况,而有些UNIX系统可能会再分出不同的项目出来。
2什么程度才记录:
下面是各种不同的系统状况程度,依照轻重缓急排列。
none 不要记录这一项
debug 程式或系统本身除错讯息
info 一般性资讯
notice 提醒注意性
err 发生错误
warning 警告性
crit 较严重的警告
alert 再严重一点的警告
emerg 已经非常严重了
同样地,各种UNIX系统可能会有不同的程度表示方式。有些系统是不另外区分crit与alert的差别,也有的系统会有更多种类的程度变化。在记录时,syslogd 会自动将你所设定程度以及其上的都一并记录下来。例如你要系统去记录 info等级的事件,则notice、errwarning、crit、alert、emerg等在info等级以上的也会一并被记录下来。 把上面所写的1、2项以小数点组合起来就是完整的「要记录哪些东西」的写法。例如 mailinfo表示关于电子邮件传送系统的一般性讯息。authemerg就是关于系统安全方面相当严重的讯息。 lprnone表示不要记录关于列表机的讯息(通常用在有多个纪录条件时组合使用)。另外有三种特殊的符号可供应用:
1星号() 星号代表某一细项中所有项目。例如mail表示只要有关mail的,不管什么程度都要记录下来。而info会把所有程度为info的事件给记录下来。
2等号(=)等号表示只记录目前这一等级,其上的等级不要记录。例如刚刚的例子,平常写下info等级时,也会把位于info等级上面的notice、errwarning、crit、alert、emerg等其他等级也记录下来。但若你写=info则就只有记录info这一等级了。
3惊叹号(!) 惊叹号表示不要记录目前这一等级以及其上的等级。
记录到哪边去
一般的syslogd都提供下列的管道以供您记录系统发生的什么事:
1一般档案
这是最普遍的方式。你可以指定好档案路径与档案名称,但是必须以目录符号「/」开始,系统才会知道这是 一个档案。例如/var/adm/maillog表示要记录到/var/adm下面一个称为maillog的档案。如果之前没有这个档案 ,系统会自动产生一个。
2指定的终端机或其他设备
你也可以将系统纪录写到一个终端机或是设备上。若将系统纪录写到终端机,则目前正在使用该终端机的使 用者就会直接在萤幕上看到系统讯息(例如/dev/console或是/dev/tty1你可以拿一个萤幕专门来显示系统讯息 )。若将系统纪录写到印表机,则你会有一长条印满系统纪录的纸(例如/dev/lp0)。
3指定的使用者
你也可以在这边列出一串使用者名称,则这些使用者如果正好上线的话,就会在他的终端机上看到系统讯息( 例如root,注意写的时候在使用者名称前面不要再加上其他的字)。
4指定的远端主机
这种写法不将系统讯息记录在连接本地机器上,而记录在其他主机上。有些情况系统碰到的是硬碟错误,或是万一有人把主机推倒,硬碟摔坏了,那你要到哪边去拿系统纪录来看呢?而网路卡只要你不把它折断,应该是比硬碟机耐摔得多了。因此,如果你觉得某些情况下可能纪录没办法存进硬碟里,你可以把系统纪录丢到其他的主机上。如果你要这样做,你可以写下主机名称,然后在主机名称前面加上「@」符号(例如 @ccunix1varioxint,但被你指定的主机上必须要有syslogd)。
在以上各种纪录方式中,都没有电子邮件这项。因为电子信件要等收件者去收信才看得到, 有些情况可能是很紧急的, 没办法等你去拿信来看(BSD的Manual Page写着「when you got mail,it's already too late」 :-P)。以上就是syslog各项纪录程度以及纪录方式的写法,各位读者可以依照自己的需求记录下自己所需要的内容。但是这些纪录都是一直堆上去的,除非您将档案自行删除掉,否则这些档案就会越来越大。有的人可能会在syslogdconf里面写:/var/log/everything
要是这样的话,当然所有的情况都被你记录下来了。但是如果真的系统出事了,你可能要从好几十MB甚至几百MB的文字中找出到底是哪边出问题,这样可能对你一点帮助都没有。因此,以下两点可以帮助你快速找到重要的纪录内容:
1定期检查纪录
养成每周(或是更短的时间,如果你有空的话)看一次纪录档的习惯。如果有需要将旧的纪录档备份,可以 cploglog1,cploglog2或是cploglog971013,cploglog980101等,将过期的纪录档依照流水号或是日期存起来,未来考察时也比较容易。
2只记录有用的东西
千万不要像前面的例子一样,记录下。然后放在一个档案中。这样的结果会导致档案太大,要找资料时根本无法马上找出来。有人在记录网路通讯时,连谁去ping他的主机都记录。除非是系统已经遭到很大的威胁,没事就有人喜欢尝试进入你的系统,否则这种鸡毛蒜皮的小事可以不用记录。可以提升些许系统效率以及降低硬盘使用量(当然也节省你的时间)。
地理位置的追踪
如何查出入侵者的地理位置?光看IP地址可能看不出来,但是你常看的话,会发现也会发现规律的。在固接式的网路环境中,入侵者一定和网路提供单位有着密切的关系。因为假设是区域网路,那么距离绝对不出几公里。就算是拨接好了,也很少人会花大笔钱去拨外县市甚至国外的拨接伺服器。因此,只要查出线的单位,入侵者必然离连线单位不远。
拨接式的网路就比较令人头疼了。有许多ISP为了吸引客户,弄了很多什么网络卡。User这边只要买了固定的小时数,不需须另外向ISP那边提出申请,就可以按照卡片上的说明自行拨接上网。这样当然可以吸引客户,但是ISP就根本无从得知是谁在用他们的网路。也就是说,虽然以网络卡提供拨接服务给拨接使用者带来相当大的便利,但却是系统安全的大敌,网路管理员的恶梦。如果入侵你的人是使用网络卡来上网,那……,要从拨号的地点查吗?入侵者可以不要用自己家里的电话上网。管它是偷是抢,或是盗打王八机,反正查到的发话来源绝不是入侵者自己的电话。
来话者电话侦测(Caller ID)
各位读者家中有ISDN吗?如果你用过ISDN的Caller ID功能,会发现真是方便极了,对方的号码马上就显示出来给你看。看到女朋友打电话来,马上就接了起来;而杂志社的打来催稿,就打开电话答录机假装不在家…… :-P但是Caller ID依然有失效的时候。有以下测试,是看CallerID可以显示出哪些号码的(受测机种为Zyxel,终端机使用Windows NT的Hyper Terminal):要显示来话方号码的前提是,对必须是透过数位交换机打到你这边,有些地区目前仍然使用机械式交换机,如果你打电话的交换路径中,有经过这些机械式的交换机,那么依然无法显示出号码来。其他电话还没有做测试。
如何靠IP地址或Domain Name找出入侵者位置?
虽然电话不一定查得出来,但是至少你会知道他的IP地址。IP地址的使用必须向InterNIC登记,而Domain Name要向当地直属的网路管理中心登记。在Internet上的网路管理中心共有三个层级(单位性质一定为NET):
1国际等级
国际等级只有InterNIC一个,全球各国的NIC以及洲际NIC均由其管理。(http://wwwinternicnet/)。
2洲际等级
InterNIC并不直接管理整个Internet,其下的网路资源会再做分区。例如台湾、日本、香港等亚太地区国家 ,由亚太洲际网路管理中心(Asian-PacificNIC,APNIC,位于日本)来管理,并不直接由InterNIC管理 (http://wwwapnicnet/)。
3国家等级
Domain Name后面不挂国码的不是由InterNIC管理就是由洲际的NIC管理,但是有挂国码的由当地国家之NIC管理,惯例是两位国码加上NIC就是该国NIC之名称。例如中国的国码为CN,则中国网路管理中心为CNNIC(http://wwwcnnicnet/),但由于InterNIC位于美国,因此美国的DomainName由InterNIC直辖。有一个特别的例外是挂mil的美国军方网路的资料是由ddnmil(美国军事防卫网路)来管理,不由InterNIC管理,当您得到某个Domain Name或是IP地址后,可以使用whois来查出资料,语法如下:
whois -h<whois服务器><查询对象>
例如向whoisinternicnet查询hpcom,需输入:whois -h whoisinternicnethpcom whois
也可能使用下列语法:
whois <查询对象>@<whois伺服器>
例如向whoistwnicnet查询ntuedutw需输入:whois ntuedutw@whoistwnicnet
目前在Slackware Linux附上的为后者。
Domain Name命名的三种情况
虽然同样是 Domain Name,可能你会遇到三种命名的不同情况。在许多国家edu是由NIC以外的单位所管理( 如育部),而属性也不一定是三个字母,甚至没有属性。在判断单位性质时读者宜多加注意,以免找不到资料。
1标准国码+三码属性码(或没有国码,仅有属性码)
普遍使用于欧洲,美洲国家以及部份东南亚国家。如台湾常见edutw、comtw,美国的com、edu。
2标准国码+二码属性码
以日本例,公司属性为co,社团属性为or,和三码定义的com、org略有不同。如日本万代公司之Homepage 为wwwbandaicojp,如果读者要使用公司名称拼凑出完整主机名称时,需注意日本为仅有两码属性码之地区,否则若猜测其为wwwbandaicomjp就会发生错误(注:在国际通信范例中,无论是无线电通信、国际越洋电 话、乃至于网际网路等,均将台湾与中国大陆划分为两个不同国家。在此将中国大陆与台湾区分,除突显此一 特性外,并无其他涵义,请大家勿需自行揣测其他意义)。
3仅有标准国码,未有任何属性码
如澳洲的主机均为仅有au之主机名称,未有任何其他的com、co、或任何单位属性码后面直接接上单位名称 。
由Domain Name查出连线单位资料
在Internet上惯例由whois服务来查询连线单位的登记资料,whois本来应该是用来查某人的电话或是其他资 料的(有点像是finger或是现在很流行的寻人服务,像是whowhere、bigfoot之类的,请上wwwwhowherecom一 探究竟),但是在NIC方面是用来查出连线单位的电话以及住址,技术联络人等。符合该NIC管理权限的单位资料 会存放于该单位的whois主机中,惯例是whois+NIC名称+net。例如亚太地区网路管理中心whois server为whoisapnicnet,台湾网路中心whois server为whoistwnicnet,我过网路中心whois server是whoiscnnicnet。当你知道某台主机的Domain Name以后,可以依照下面顺序查出连线单位的电话住址等资料。
第一步,先看有没有国码。
没有国码的,向whoisinternicnet问;有国码的,向whois国码nicnet问 (exwhoistwnicnet)。
另外,如果你要查美国军事单位的联络明细(假如某天你发现有人利用美国海军的网路来入侵你的电脑)则你需要向nicddnmil查询,方可查到资料。例如查出美国陆军的资料:但FBI等调查机构属政府单位,非军事单位 ,查询时需注意: 由DomainName查出资料, 如您能从nslookup查出某一IP地址之FQDN,则可以直接向当地NIC查出入侵者网路之资料:
1由美国入侵的例子:
由 xxxaolcom入侵由主机名称发现未有国码, 因此直接向InterNIC查询。由此我们可以查到America Online的技术负责人以及电话、传真等资料,把你的系统纪录档准备好,发封传真去告洋状吧!
2由台湾入侵的例子:
由HopeNet入侵(cded1hopecomtw)由于TWNIC目前whois资料库不知怎么的不见了,故请改由 dbmsseednettw查出hopecomtw之中文名称,再打104询问该公司的电话!现在如果直接由whoistwnicnet 查询会这样:
只有IP地址的查法
若某天您发现由16895109222有人入侵,假设您不知道这是哪里的网路,而这个IP地址也没有Domain Name 的话,则须先将IP地址分等级,再向InterNIC查询: (以下作为范例之位址均为虚构,如有雷同,纯属巧合)。
1由154752入侵的例子:
此IP地址是15开头,为一个ClassA网路,故向InterNIC查询150:查出此IP地址为惠普公司所有
2由1401113253入侵的例子:
此IP地址为ClassB,需查询两次。先向InterNIC查询1401110:查出为台湾教育部所有。再向 whoistwnicnet查询140111320:
3由20366351入侵的例子
这是一个ClassCIP,因此必须查询至少二次,一般是三次。顺序为国际->洲际->所属国家。先查2030:出来一大堆,怎么办?有的情况只好再追问ClassB。由于InterNIC将部份ClassC交给洲际管理机构来负责配给,因此有些ClassC的资料会在洲际管理机构,此时先向InterNIC查出所属洲际管理机构(用ClassB问)。问到 20366为亚太地区洲际网路,于是向whoisapnicnet询问20366350:查了三次以后,终于查到20366350 为:
在一堆资料中查到20366351,此一IP地址为ForwardnessTechnologyCoLtd所有,电话地址也一并附在上面
由以上的查法,可以由任一主机名称或IP地址查到连线者网路单位的资料,如果您发现该网路单位下属主机对您的网路有攻击行为,请检具资料告诉对方的系统管理员(对方不一定接受)。下面是Windows95的hosts档案:当您没有DNS的时候,您可以拿这个来将DomainName<->IP地址的对应工作做好。写法就和UNIX一样。Microsoft的这个hosts档案写的是给chicago用的,这是windows95的开发代号,看见没?(看来Microsoft出windows95时太赶,忘了修正这些小东西), 不过各位读者要注意的是, 原先的hosts档案档名是hostssam,您要自己将档名改成hosts才能用。
注:几乎所有使用TCP/IP通讯协定的机器都会有hosts、network等档案。这是所有TCP/IP系统的共通习惯(但只有 Microsoft的软体会有lmhosts来配合Microsoft自己的wins域名解译系统)。如果读者有注意到的话,可以发现 Novell Netware服务器也有一个etc目录,还有hosts等档案!
祝你好运
首先建议你使用360主机卫士、安全狗对服务器进行扫描排查。
1应当采用的处理方式
(1)、建立被入侵系统当前完整系统快照,或只保存被修改部分的快照,以便事后分析和留作证据。
(2)、立即通过备份恢复被修改的网页。
(3)、在Windows系统下,通过网络监控软件或"netstat -an"命令来查看系统目前的网络连接情况,如果发现不正常的网络连接,应当立即断开与它的连接。然后通过查看系统进程、服务和分析系统和服务的日志文件,来检查系统攻击者在系统中还做了什么样的操作,以便做相应的恢复。
(4)、通过分析系统日志文件,或者通过弱点检测工具来了解攻击者入侵系统所利用的漏洞。如果攻击者是利用系统或网络应用程序的漏洞来入侵系统的,那么,就应当寻找相应的系统或应用程序漏洞补丁来修补它,如果目前还没有这些漏洞的相关补丁,我们就应当使用其它的手段来暂时防范再次利用这些漏洞的入侵活动。如果攻击者是利用其它方式,例如社会工程方式入侵系统的,而检查系统中不存在新的漏洞,那么就可以不必做这一个步骤,而必需对社会工程攻击实施的对象进行了解和培训。
(5)、修复系统或应用程序漏洞后,还应当添加相应的防火墙规则来防止此类事件的再次发生,如果安装有IDS/IPS和杀毒软件,还应当升级它们的特征库。
(6)、最后,使用系统或相应的应用程序检测软件对系统或服务进行一次彻底的弱点检测,在检测之前要确保其检测特征库是最新的。所有工作完成后,还应当在后续的一段时间内,安排专人对此系统进行实时监控,以确信系统已经不会再次被此类入侵事件攻击。
如果攻击者攻击系统是为了控制系统成为肉鸡,那么,他们为了能够长期控制系统,就会在系统中安装相应的后门程序。同时,为了防止被系统用户或管理员发现,攻击者就会千方百计地隐藏他在系统中的操作痕迹,以及隐藏他所安装的后门。
因而,我们只能通过查看系统进程、网络连接状况和端口使用情况来了解系统是否已经被攻击者控制,如果确定系统已经成为了攻击者的肉鸡,那么就应当按下列方式来进行入侵恢复:
(1)、立即分析系统被入侵的具体时间,目前造成的影响范围和严重程度,然后将被入侵系统建立一个快照,保存当前受损状况,以更事后分析和留作证据。
(2)、使用网络连接监控软件或端口监视软件检测系统当前已经建立的网络连接和端口使用情况,如果发现存在非法的网络连接,就立即将它们全部断开,并在防火墙中添加对此IP或端口的禁用规则。
(3)、通过Windows任务管理器,来检查是否有非法的进程或服务在运行,并且立即结束找到的所有非法进程。但是,一些通过特殊处理的后门进程是不会出现在 Windows任务管理器中,此时,我们就可以通过使用Icesword这样的工具软件来找到这些隐藏的进程、服务和加载的内核模块,然后将它们全部结束任务。
可是,有时我们并不能通过这些方式终止某些后门程序的进程,那么,我们就只能暂停业务,转到安全模式下进行操作。如果在安全模式下还不能结束掉这些后门进程的运行,就只能对业务数据做备份后,恢复系统到某个安全的时间段,再恢复业务数据。
这样,就会造成业务中断事件,因此,在处理时速度应当尽量快,以减少由于业务中断造成的影响和损失。有时,我们还应当检测系统服务中是否存在非法注册的后门服务,这可以通过打开"控制面板"-"管理工具"中的"服务"来检查,将找到的非法服务全部禁用。
(4)、在寻找后门进程和服务时,应当将找到的进程和服务名称全部记录下来,然后在系统注册表和系统分区中搜索这些文件,将找到的与此后门相关的所有数据全部删除。还应将"开始菜单"-"所有程序"-"启动"菜单项中的内容全部删除。
(5)、分析系统日志,了解攻击者是通过什么途径入侵系统的,以及他在系统中做了什么样的操作。然后将攻击者在系统中所做的所有修改全部更正过来,如果他是利用系统或应用程序漏洞入侵系统的,就应当找到相应的漏洞补丁来修复这个漏洞。
如果目前没有这个漏洞的相关补丁,就应当使用其它安全手段,例如通过防火墙来阻止某些IP地址的网络连接的方式,来暂时防范通过这些漏洞的入侵攻击,并且要不断关注这个漏洞的最新状态,出现相关修复补丁后就应当立即修改。给系统和应用程序打补丁,我们可以通过相应的软件来自动化进行。
(6)、在完成系统修复工作后,还应当使用弱点检测工具来对系统和应用程序进行一次全面的弱点检测,以确保没有已经的系统或应用程序弱点出现。我们还应用使用手动的方式检查系统中是否添加了新的用户帐户,以及被攻击做修改了相应的安装设置,例如修改了防火墙过滤规则,IDS/IPS的检测灵敏度,启用被攻击者禁用了的服务和安全软件。
2进一步保证入侵恢复的成果
(1)、修改系统管理员或其它用户帐户的名称和登录密码;
(2)、修改数据库或其它应用程序的管理员和用户账户名称和登录密码;
(3)、检查防火墙规则;
(4)、如果系统中安装有杀毒软件和IDS/IPS,分别更新它们的病毒库和攻击特征库;
(5)、重新设置用户权限;
(6)、重新设置文件的访问控制规则;
(7)、重新设置数据库的访问控制规则;
(8)、修改系统中与网络操作相关的所有帐户的名称和登录密码等。
当我们完成上述所示的所有系统恢复和修补任务后,我们就可以对系统和服务进行一次完全备份,并且将新的完全备份与旧的完全备份分开保存。
在这里要注意的是:对于以控制系统为目的的入侵活动,攻击者会想方设法来隐藏自己不被用户发现。他们除了通过修改或删除系统和防火墙等产生的与他操作相关的日志文件外,高明的黑客还会通过一些软件来修改其所创建、修改文件的基本属性信息,这些基本属性包括文件的最后访问时间,修改时间等,以防止用户通过查看文件属性来了解系统已经被入侵。因此,在检测系统文件是否被修改时,应当使用RootKit Revealer等软件来进行文件完整性检测。二、 以得到或损坏系统中机密数据为目的的系统入侵恢复
现在,企业IT资源中什么最值钱,当然是存在于这些设备当中的各种机密数据了。目前,大部分攻击者都是以获取企业中机密数据为目的而进行的相应系统入侵活动,以便能够通过出售这些**的机密数据来获取非法利益。
如果企业的机密数据是以文件的方式直接保存在系统中某个分区的文件夹当中,而且这些文件夹又没有通过加密或其它安全手段进行保护,那么,攻击者入侵系统后,就可以轻松地得到这些机密数据。但是,目前中小企业中有相当一部分的企业还在使用这种没有安全防范的文件保存方式,这样就给攻击者提供大在的方便。
不过,目前还是有绝大部分的中小企业都是将数据保存到了专门的存储设备上,而且,这些用来专门保存机密数据的存储设备,一般还使用硬件防火墙来进行进一步的安全防范。因此,当攻击者入侵系统后,如果想得到这些存储设备中的机密数据,就必需对这些设备做进一步的入侵攻击,或者利用网络嗅探器来得到在内部局域网中传输的机密数据。
机密数据对于一些中小企业来说,可以说是一种生命,例如客户档案,生产计划,新产品研究档案,新产品图库,这些数据要是泄漏给了竞争对象,那么,就有可能造成被入侵企业的破产。对于抢救以得到、破坏系统中机密数据为目的的系统入侵活动,要想最大限度地降低入侵带来的数据损失,最好的方法就是在数据库还没有被攻破之前就阻止入侵事件的进一步发展。
试想像一下,如果当我们发现系统已经被入侵之时,所有的机密数据已经完全泄漏或删除,那么,就算我们通过备份恢复了这些被删除的数据,但是,由于机密数据泄漏造成的损失依然没有减少。因此,我们必需及时发现这种方式的系统入侵事件,只有在攻击者还没有得到或删除机密数据之前,我们的恢复工作才显得有意义。
当然,无论有没能损失机密数据,系统被入侵后,恢复工作还是要做的。对于以得到或破坏机密数据为目的的系统入侵活动,我们仍然可以按此种入侵活动进行到了哪个阶段,再将此种类型的入侵活动细分为还没有得到或破坏机密数据的入侵活动和已经得到或破坏了机密数据的入侵活动主两种类型。
1、恢复还没有得到或破坏机密数据的被入侵系统
假设我们发现系统已经被入侵,并且通过分析系统日志,或者通过直接观察攻击者对数据库进行的后续入侵活动,已经了解到机密数据还没有被攻击者窃取,只是进入了系统而已,那么,我们就可以按下列方式来应对这样的入侵活动:如果企业规定在处理这样的系统入侵事件时,不允许系统停机,那么就应当按这种方式来处理:
(1)、立即找到与攻击源的网络连接并断开,然后通过添加防火墙规则来阻止。通常,当我们一开始就立即断开与攻击源的网络连接,攻击者就会立即察觉到,并由此迅速消失,以防止自己被反向追踪。因而,如果我们想抓到攻击者,让他受到法律的惩罚,在知道目前攻击者进行的入侵攻击不会对数据库中的机密数据造成影响的前提下,我们就可以先对系统当前状态做一个快照,用来做事后分析和证据,然后使用IP追捕软件来反向追踪攻击者,找到后再断开与他的网络连接。
不过,我们要注意的是,进行反向追踪会对正常的系统业务造成一定的影响,同时,如果被黑客发现,他们有时会做最后一搏,会破坏系统后逃避,因而在追捕的同时要注意安全防范。只是,大部分的企业都是以尽快恢复系统正常运行,减少入侵损失为主要目的,因此,立即断开与攻击源的网络连接是最好的处理方式。
(2)、对被入侵系统的当前状态建立快照,以便事后分析和留作证据。
(3)、通过分析日志文件和弱点检测工具找到攻击者入侵系统的漏洞,然后了解这些系统漏洞是如何得到的。如果漏洞是攻击者自己分析得到的,那么就可能还没有相应的漏洞修复补丁,因而必需通过其它手段来暂时防范再次利用此漏洞入侵系统事件的发生;如果漏洞是攻击者通过互联网得到的,而且漏洞已经出现了相当一段时间,那么就可能存在相应的漏洞修复补丁,此时,就可以到系统供应商建立的服务网站下载这些漏洞补丁修复系统;如果攻击者是通过社会工程方式得到的漏洞,我们就应当对当事人和所有员工进行培训,以减少被再次利用的机率。
(4)、修改数据库管理员帐号名称和登录密码,重新为操作数据的用户建立新的帐户和密码,并且修改数据库的访问规则。至于剩下的系统恢复工作,可以按恢复以控制系统为目的的系统入侵恢复方式来进行。
2、恢复已经得到或删除了机密数据的被入侵系统
如果当我们发现系统已经被入侵时,攻击者已经得到或删除了系统中全部或部分的机密数据,那么,现在要做的不是试图抢救已经损失了的数据,而是保护没有影响到的数据。由于此类系统入侵事件已经属于特别严重的入侵事件,我们的第一个动作,就是尽快断开与攻击源的网络连接。
如果允许系统停机处理这类严重系统入侵事件,那么就可以直接拔掉网线的方式断开被入侵系统与网络的直接连接。当系统仍然不允许停机处理时,就应当通过网络连接监控软件来找到系统与攻击源的网络连接,然后断开,并在防火墙中添加相应的规则来拦截与攻击源的网络连接。这样做的目的,就是防止此次系统入侵事件进一步的恶化,保护其它没有影响到的数据。
断开与攻击源的连接后,我们就应当立即分析数据损失的范围和严重程度,了解哪些数据还没有被影响到,然后立即将这些没有影响到的数据进行备份或隔离保护。对于丢失了数据的系统入侵事件,我们还可以将它归纳成以下的三个类别:
(1)、数据被窃取。
当我们检测数据库时发现数据并没有被删除或修改,但是通过分析系统日志和防火墙日志,了解攻击者已经进入了数据库,打开了某些数据库表,或者已经复制了这些数据库表,那么就可以确定攻击者只是窃取了数据而没有进行其它活动。此时,应当按前面介绍过的方法先恢复系统到正常状态,然修补系统和数据库应用程序的漏洞,并对它们进行弱点检测,发现没有问题后分别做一次完全备份。还应当修改系统管事员和数据库管理员帐户的名称和登录密码,所有的操作与前面提到过的方式相同。只是多出了数据库的恢复工作。
(2)、数据被修改
如果我们在分析数据库受损情况时发现攻击者并没有打开数据库表,而是通过数据库命令增加、修改了数据库某个表中的相关内容。那么,我们不得不一一找出这些非授权的数据表相关行,然后将它们全部修正或删除。如果修改的内容有关某个行业,例如办理驾驶证的政府机关,办理毕业证的教育机构,或者办理其它各种执照相关单位等,那么,还要将攻击者修改的内容向外界公布,说明这些被攻击者修改或添加的内容是无效的,以免造成不必要的社会影响。其它的系统和数据库恢复处理方式与数据被窃取方式相同。
(3)、数据被删除
如果我们在分析数据库受损情况时,发现攻击者不仅得到了机密数据,而且将系统中的相应数据库表完全删除了,那么,我们在断开与其网络连接时,要立即着手恢复这些被删除了的数据。
当我们通过备份的方式来恢复被删除的数据时,在恢复之前,一定要确定系统被入侵的具体时间,这样才知道什么时候的备份是可以使用的。这是因为,如果我们对数据库设置了每日的增量备份,当攻击者删除其中的内容时,非法修改后的数据库同样被备份了,因此,在入侵后的增量备份都不可用。同样,如果在系统被入侵期间,还对数据库进行了完全备份,那么,这些完全备份也不可用。
如果允许我们停机进行处理,我们可以拆下系统上的硬盘,接入其它系统,然后通过文件恢复软件来恢复这些被删除的文件,但是,对于数据库表中内容的删除,我们只能通过留下的纸质文档,来自己慢慢修正。
在这里我们就可以知道,备份并不能解决所有的系统入侵问题,但仍然是最快、最有效恢复系统正常的方式之一。通过这我们还可以知道,及时发现系统已经被入侵对于抢救系统中的机密数据是多么的重要。三、 以破坏系统或业务正常运行为目的的系统入侵恢复
当攻击者入侵系统的目的,就是为了让系统或系统中的正常业务不能正常运行,如果我们发现不及时,当这类系统入侵事件攻击成功后,就会造成系统意外停机事件和业务意外中断事件。
处理这类系统入侵事件时,已经没有必需再考虑系统需不需要停机处理的问题了,既然系统都已经不能正常运行了,考虑这些都是多余的,最紧要的就是尽快恢复系统正常运行。对于这类事件,也有下列这几种类别,每种类别的处理方式也是有一点区别的:
1、系统运行正常,但业务已经中断
对于此类系统入侵事件,我们可以不停机进行处理,直接以系统在线方式通过备份来恢复业务的正常运行,但在恢复前要确定系统被入侵的具体时间,以及什么时候的备份可以使用,然后按本文前面介绍的相关系统入侵恢复方式来恢复系统和业务到正常状态。
对于没有冗余系统的企业,如果当时非常迫切需要系统业务能够正常运行,那么,也只有在通过备份恢复业务正常运行后直接使用它。但在没有修复系统或应用程序漏洞之前,必需安排专人实时监控系统的运行状况,包括网络连接状况,系统进程状况,通过提高IDS/IPS的检测力度,添加相应的防火墙检测规则来暂时保护系统安全。
2、系统不能正常运行,但系统中与业务相关的内容没有受到破坏
此时,我们首要的任务就是尽快让系统恢复正常运行,但是要保证系统中与业务相关的数据不能受到损害。如果与业务相关的重要数据不在系统分区,那么,将系统从网络中断开后,我们就可以通过另外保存的系统完全备份来迅速恢复系统到正常状态,这是最快速的解决方法。
但是,如果与业务相关的数据全部或部分存放在系统分区,那么,为了防止当前业务数据的完整性,我们应当先通过像WinPE光盘系统的方式启动Winpe系统,然后将与业务相关的重要数据全部备份到其它独立的存储设备中,再对系统分区进行备份恢复操作。
如果我们发现系统的完全备份不可用,我们就只能在保证与业务相关的重要数据不损失的情况下,进行全新的操作系统安装方式来恢复系统正常运行,然后再安装业务应用程序,来恢复整个系统业务的正常运行。但是,由于这种方式是重新全新安装的操作系统,因此,如没有特殊的要求,应当对系统和应用程序做好相应的安全防范措施并完全备份后,才将系统连入网络当中。
至于剩下的系统恢复工作,可以按恢复以控制系统为目的的系统入侵恢复方式来进行。
3、系统不能正常运行,系统中的业务也已经被破坏
此时,首先按第二种方式恢复系统正常运行,然后再在系统中重新安装与业务相关应用程序,并且尽量通过备份恢复与业务相关的数据。至于剩下的系统恢复工作,可以按恢复以控制系统为目的的系统入侵恢复方式来进行。
当系统或业务被破坏不能运行后,造成的影响和损失是肯定的,我们按上述方式这样做的目的,就是为了尽量加快系统和业务恢复正常运行的速度,减少它们停止运行的时间,尽量降低由于系统停机或业务中断造成的影响和损失。
在对入侵系统进行恢复处理的过程中,对于一些与企业经营生死相依的特殊业务,例如电子邮件服务器,由于邮件服务器是为员工和客户提供邮件服务器的,如果邮件服务器停用,势必会影响的业务的正常往来。因此,对邮件服务器进行入侵恢复前,在使用本文前面所描述的方法进行进,还应当完成下列的工作:
(1)、启用临时邮箱,如果受影响的邮件服务器是企业自身的,可以通过申请邮件服务器提供商如Sina、163等的邮箱作为代替。
(2)、然后将临时邮箱信息尽快通知供货商和合作伙伴。
(3)、完成这些的工作后,就可以对被入侵的邮件服务器系统作相应的入侵恢复处理,恢复的方式与本文前面描述的方式相同。
四、 事后分析
当成功完成任何一种系统入侵类型的处理工作后,我们还必需完成与此相关的另外一件重要的事情,那就是对系统入侵事件及事件处理过程进行事后分析。
事后分析都是建立在大量的文档资料的基础上的,因而,我们在对被入侵系统进行处理的过程中,应当将事件处理过程中的所有操作内容和方式全部细致地记录下来。另外,我在描述如何恢复被入侵系统的处理过程中,在每次进行入侵恢复前都要求将受损系统的当前状态建立快照,其目的之一也是为了事后可以通过它来进行入侵分析。
我们通过对被入侵系统进行入侵分析,就能了解到此次入侵事件影响的范围和损失的严重程度,以及处理它所花费的时间、人力和物力成本。另一方面,通过分析此次入侵事件,可以了解攻击者是通过什么方式入侵系统的。
通过了解攻击者入侵系统的各种方式,就可以从中学习到相应的防范对策,为我们的安全防范工作带来相应的宝贵经验,让我们以后知道如何去应对与此相似的系统入侵活动。并由此来修改安全策略中不规范的内容,或添加相应的安全策略,使安全策略适应各个时期的安全防范需求。
同样,对每次系统入侵事件的处理过程进行分析,可以让我们了解自己或事件处理团队在应对系统入侵事件时的操作是否正确,是否产生了不必要的操作,是否产生了人为的失误,这些失误是如何产生的,以及哪些操作提高了处理的效率等等有用的信息。通过对系统入侵恢复处理过程的事后分析,能让我们增加相应的事件入侵响应能力,而且,还可以找出事件响应计划中不规范的内容,并由此做相应的修正。
对系统入侵事件和其恢复处理过程进行事后分析得出的结论,都应当全部以书面形式记录下来,并上报给上级领导。同时,还应当将处理结果发到每个事件响应小组成员手中,或企业中各个部门领导手中,由各部门分别组织学习,以防止此类系统入侵事件再次发生。如果有必要,还可以将事件发生和处理情况通告给合作伙伴和客户,以帮助它们防范此类系统入侵事件的发生,或告知系统或应用软件提供商,让他们尽快产生相应的漏洞补丁。
0条评论