网络层是OSI模型的第3层,紧靠在物理层和数据链路层的上面。它是路由选择和负责网络寻址的层。从该层上面往下看,可以认为底下存在的是一个不可靠无连接的端对端的数据通路。最核心的协议当然是IP协议。此外还有ICMP,RIP,OSPF ,IS-IS,BGP,ARP,RARP等。
网络层也叫做网间层,因为它提供允许连接不同类型网络和共享同一寻址方案的功能。网络向上提供的服务有两类,即面向联机的网络服务和无连接的网络服务。这两种服务的具体实现就是所谓的虚电路服务和数据报服务。
网络层在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设法从源端经过若干个中间节点传送到目的端,从而向传输层提供最基本的端到端的数据传送服务。网络层的目的是实现两个端系统之间的数据透明传送,具体功能包括路由选择、拥塞控制和网际互连等。
网络层最主要的就是互联网协议(IP),网络层上还有互联网控制消息协议(ICMP)。
与ICMP相关的一个潜在问题是它在拒绝服务(DoS)攻击中的使用。Smurf就是一个例子。Smurf使用ping数据包来滥用ICMP。它会发送坏ICMP数据包。它能修改目标地址以将数据包发送到网络节点的广播地址。而源地址则已经被重新指定为被攻击者地址。在大型的网络上,很多系统都会响应广播ping。这样攻击的结果是导致被攻击者被ping响应流所淹没,以致合法的访问被阻断。在2002年发生了一个类似的、针对核心DNS服务器的攻击案例。管理员可以在Cisco路由器上添加以下命令来防止他们的网络响应Smurf流量:noipdirected-broadcast.
ICMP还可以用于辅助进行端口扫描和OS识别,这也叫做指纹识别。它是攻击过程中一个必要的步骤。毕竟,在不知道目标系统运行状态的情况下,攻击是无法成功的。例如,黑客可能只有一个针对WindowsXP的攻击,因此它对于Windows2003系统就没有用了。指纹识别是用于识别OS的。当进行指纹识别时,黑客会使用一个扫描工具来向目标系统发送一系列正常的、特有的以及异常的ICMP查询。接着,扫描工具会观察响应并将它们与数据库进行比较。
ICMP是设计用于更可信网络的。有了ICMP的所有功能,如果它可以在网络上自由的进出,那么它将会是非常实用的。但是,事实上并不是这样的。如果你的目的是为了使网络更加的安全,那么要尽可能地在重要的网络访问端口阻截和禁用ICMP。你的选择将会丢弃或拒绝流量。但是,这些都由你自己来决定。从安全的角度考虑,丢弃数据包可以减少信息的泄露并使黑客更加难以收集到信息。而拒绝数据包会使服务能发现操作失败并快速地中止,而这使使网络更加容易受到攻击了。基于这些原因,作者建议选择丢弃ICMP数据。
本文出自系统集成实验室,转载请注明: http://www.cnsilab.com/
本文链接地址:OSI网络安全防御:第三层之网络层
相关日志

