网络管理行为原则
关于这个话题,可能比较新鲜。这里所指的网络是狭义的计算机互联网络。
不言而喻,任何一个计算机网络都存在管理和被管理的行为。互联网设计之初,从其结构上来说,任何一个进入网络的“终结点”(计算机终端、网络层互联设备等)都是对等的,其目的在于增强网络路径冗余,降低关键点被损毁导致网络失败的风险,这是应对现代信息战争的需要。
对于网络管理者而言,他们或许持有大量关于网络结构的资料和信息,而使用网络的人可以不必关心这些东西。管理者会尽可能多地从网络实时运行中获知各种状态、处理各种可能发生的事故或影响网络安全运行的事件。当今的计算机互联网不再像几年前那样纯净和安全,任何一个入网的终结点都面临着“安全”、“开放”的矛盾选择,甚至包括“隐私”和“机密”的矛盾抉择。早些年前,在互联网技术还没有被彻底开放和认识的情况下,网络管理是一个棘手的问题,同时,我们可以假定网络使用者可以依赖技术的未知性达成上网安全和隐私保护。但现在,这种理论完全过时了。如果“终结点”放置在网络上,必然要受到来自各方面的攻击和窥测,其中,网络管理员甚至也加入这一行当中,他们在窥探尽可能多地信息以便提高管理效率和执行力度。
我们不能说这是一种安全问题。因为从网络和终结点的边界上来定义,这已经不能成为安全问题。就算一个终结点保护再严密,他都无法控制和适应来自网络的探测和管理。
上面这一段啰嗦的文字似乎解释不了什么问题。我们可以举一些例子来说明以下我所讨论的话题。
来自ARP的困惑
提到ARP,如果你是专业人员,再熟悉不过,它是Address Resolution Protocol(地址解析协议),以一个典型的以太局域网来说,以太局域网通过双绞线或者同轴电缆等形式连接在一起,并且通过网关与互联网连接。在以太网内的“网络层”工作的节点(除了交换机,终端、网桥、网关等任何互联设备)都必须在数据链路层持有“唯一标识”,这就是MAC地址。如果你在计算机中敲入ipconfig /all,看到一个形如00-00-00-00-00-00的48位(二进制)地址就是MAC地址,但是每一个终结点(终端、网桥、网关)都还持有网络层的IP地址。一台终端想要通过网关连接到互联网,它必须知道网关的数据链路层地址,以便于将IP数据报封装到以太网帧中,传输到网关,解开为IP数据报,再选择路由转发出去。
这就好比我们要寄一个包裹,包裹上填写的是Ip地址,但是,我们还必须知道邮政局在哪里,这是我就要询问:嘿、邮政局!你在哪里?
邮政局有义务回答:嘿!我在这儿。
因此我就把包裹地给邮政局,接下来我的任务就算完成了。邮政局接到包裹后,他们就选择一个路径转发出去,直到目的地,而这一细节我们不需要关心。
但是,假如回答我问题的不是邮政局,而是一个别有用心的人呢?
从协议的理论条件上,我们认为任何回答我问题的人确定是邮政局,那么我们把包裹交给了这个所谓“邮政局”的人。它接到包裹以后,它能解开包裹,就能获得我包裹中全部的内容。然后它再将包裹封起来,递给真正的邮政局,负责转发出去。
而这一过程,我却并不知道他们做了手脚。
这就是来自ARP的困惑。
我们再举几个现场情况:
当我问:嘿,邮政局,在哪里?
1、 一个别有用心者回答说他是邮政局。然后我把包裹交给他。但是他接到包裹以后随手丢弃了。包裹没有到达目的地,因此,我认为:网络无法联通。
2、 一个别有用心者回答说他是邮政局。然后我把包裹交给他。他接到包裹后,拆开包裹,篡改了其中的内容,然后再递给真正的邮政局。
3、 一个别有用心者回答说“某某”是邮政局,而这个“某某”也不是真的邮政局。我把包裹给了那个“某某”。
假设,邮政局有一个给我的包裹,现在邮政局要问:嘿,铲铲,在哪里?
结果:
1、 还没等我回答,别有用心者就回答:我是铲铲,结果,邮政局把包裹递给了别有用心者。别有用心者可能拆开窥探了其中的内容,再把包裹递给我。别有用心者声称他是邮政局,而我理论上相信他。
2、 还没有等我回答,别有用心者就回答:我是铲铲,结果,邮政局把包裹递给了别有用心者,别有用心者随手丢弃了。结果,我一直没有等到包裹,认为网络断了。
3、 还没等我回答,别有用心者就回答:某某是铲铲,结果,某某收到了包裹,而我没有收到,或者我收到的是某某递给我的包裹。
有些人觉得很陌生,因为这些工作都在计算机内完成了,很多时候并不需要用户直接参与。我只需要配置好IP地址、子网掩码和默认网关、DNS地址就可以上网了。但是由于ARP的这种特性,一个计算机终端甚至无法确定“网关”,它可能受到网络其他非法者的欺骗而傻乎乎地将数据报交给了他。以太网数据链路层设备也将忠实地根据MAC地址来转发信息。
ARP的弱点成为一把双刃剑,任何一个终结点都可以向另外的终结点发送ARP响应,回答我是邮局,而且也可以向路由器发送ARP响应,回答我是发送者某某,从而使得由终结点到路由器之间往来的信息全部都经过这个特殊的终结点,这样,它“荣升”为一个“监视员”或管理员,它甚至可以通过发送欺骗性的ARP回答,来影响终结点和路由器之间的往来行为,更有甚者,大多数应用程序的数据包没有进行加密,因此可以很轻易的被窥视或者篡改。
讲了很多,就有必要引出一个网络道德的问题,因为毕竟没有法律方面的约束,对这方面的管理行为,我们只希望任何使用网络的计算机用户遵循网络道德,一个非管理人员使用管理软件会遭到谴责,但也没有什么更好的办法。在大学的时候,我们曾经用嗅探器通过分析数据包,成功找到了一些使用网络执法官的同学,在说明原理的情况下,劝说其停止使用,一般来说还是配合的。
这是一种情况,而假如网络用户并不是使用管理软件,而是中毒,用户本身都不知情的情况,就很难进行协调了。
这样,对于网络的使用,提出了一些准则。在一个网络中,准则作为一种指导,如果大家都遵守,可以有效提高管理效果,防止侵权等行为发生。但是准则只是道德范畴,不要期望所有人都能遵守。
1、 任何网络使用者应该以保证网络畅通为最基本原则,不管管理员或是普通用户。作为管理者,应当在网络维护时尽可能提供旁路通信连接,如果没有条件,也应当尽量缩短检修断网时间,或安排在流量较低的凌晨进行。
2、 如果你不是管理者,就谨慎使用基于阻断、窥视、影响行为的管理软件,例如基于上述原理的ARP协议类管理软件(实际上大多数终结点管理软件都是这一类型)。如果是普通用户,也要谨慎使用ARP防火墙类型的软件,有些防火墙会向外影响其它用户的网络连接行为。
3、 截获用户的数据包,并窥视其中内容是不道德的,不过任何人都可以这样做,假如一个用户想要避免这类窥视,他应当寻求受到保护的连接。作为网络服务的提供商,他们提供网站、网络服务的同时,有义务对用户输入的敏感信息进行保护,如利用套接字安全、不交换密钥的身份识别方案,安全证书等。
4、 如果进行网络嗅探,不要轻易发包。发包会影响整个网络的行为。
5、 如果为限制流量或负载均衡,应当使用带负载均衡的路由、网络交换设备,而不应当给予一个协议的弱点。
6、 不要让用户自己配制IP地址等信息,应当尽可能使用DHCP,这样有助于防止IP冲突而导致的无法上网,而且对于用户来说,配置IP地址是一个艰苦的工作。
7、 如果使用DHCP,也尽可能让一台计算机每次分配的IP尽可能相同。可以在路由器上为用户登记IP-MAC登记表,MAC地址不易被更改,在有任何须用户协助完成的网络维护中,可以很容易通过MAC找到计算机用户。
8、 应当根据DHCP静态(或动态,自动更新)地址分配表,在路由器上绑定IP-MAC,这样一来,防止针对路由器的ARP欺骗,导致用户无辜不能上网。但是,这样用户自己试图自行分配IP将不能上网。
9、 尽可能使用两个DNS地址,而且主用和备用DNS地址不应调换使用。任何时候不能保证主用或备用DNS是否可用,而网络提供商针对主用和备用DNS服务器的下线维护策略是不同的,备用DNS服务器的下线维修时间比主用服务器长,主用服务器不出现严重情况时一般不下线。调换或只使用一个DNS服务器会影响用户上网的可用性。在云南的ChinaNet用户,主用DNS是:222.172.200.68,备用DNS是:61.166.150.123。
10、 网络管理员应当关注由于用户自己私接网络线路导致的拓扑结构变化。特别是可能形成环路(如用户使用了两路网络,在计算机上进行了桥接,而两个线路汇集到一个路由器,这样形成了一个环路。形成环路易导致数据报循环转发,直到TTL为0丢弃,这可能导致带宽浪费,并且可能导致数据报无法正常路由到目的地。)管理员在发现这类问题时,只能通过通知用户协助处理。用户也有可能错接了路由器的WAN和LAN端口。
11、 任何保证自己上网带宽为目的而降低其它平等用户的带宽、或者阻断其它用户上网等行为都是不道德的,不应提倡和宣扬,而网络管理软件的供应商也有义务为维护网络可用性,对管理员身份实行考查,不要将影响上网行为的管理软件轻易释放给别有用心的人使用。