项目2 协议分析
1 什么是网络协议
在网络中,协议是一套用于格式化和处理数据的规则。网络协议就像计算机的一种共同语言。一个网络中的计算机可能会使用截然不同的软件和硬件,然而,协议的使用使它们能够相互通信。
可见,网络协议对网络的重要性。但是,这些网络协议被创造时,大都出于科研目的,并未太在意安全问题。而在黑客们的努力发掘下,网络协议本身存在的很多安全方面的漏洞被发现,黑客们可以利用这些协议自身的漏洞,对网络进行破坏。
了解这些漏洞,并熟悉相应的对策,做到知己知彼,才能保护网络的安全。
前置知识点:OSI七层网络参考模型
2 ARP协议
2.1 简介
首先,我们通过一个视频来初步了解一下ARP协议。
2.2 ARP 的安全问题及防范
从ARP工作机制可以看出,ARP协议简单易用,但是却没有任何安全机制,攻击者可以发送伪造ARP报文对网络进行攻击。目前主要的ARP攻击方式有如下几类:
仿冒网关攻击
仿冒用户攻击(欺骗网关或者其他主机)
泛洪攻击
要防范ARP欺骗,我们可以在网络中的路由器和终端设备上,建立静态ARP表,进行 IP-MAC 绑定。
3 ICMP协议
3.1 简介
首先,我们通过一个视频来初步了解一下ICMP协议。
3.2 ICMP 的安全问题及防范
3.2.1 "Ping of Death"(死亡之Ping)
Ping of Death (PoD) 攻击是一种分布式拒绝服务 (DDoS)攻击,攻击者通过发送超过最大允许大小的数据包,试图通过导致目标计算机卡顿或崩溃来破坏目标计算机。
一般来说 ping 数据包非常小,但 IPv4 ping 数据包要大得多,允许的最大数据包大小为 65,535 字节。
当攻击者向目标发送大型恶意数据包时,该数据包会被分成多个分段,每个分段都小于允许的最大大小。当目标机器尝试将数据包重新组合在一起时,总大小超过允许的最大大小,并且发生缓冲区溢出,导致目标机器卡顿、崩溃或重新启动。
解决
Ping of Death 攻击几乎已经绝迹。1998 年之后制造的设备通常可以免疫此类攻击。针对 IPv6 数据包的新 Ping of Death 攻击也于 2013 年被修复。
3.2.2 Ping (ICMP) 洪水攻击
Ping 洪水是一种拒绝服务攻击。处理每个 ICMP 请求以及给出 ICMP 回复,都需要占用一些系统资源,在发动洪水攻击时,攻击者会试图用大量 ICMP 请求包使目标设备不堪重负,导致正常流量无法正常访问目标。当攻击流量来自多个设备时,攻击将成为 DDoS (分布式拒绝服务攻击)。
解决
防范 ping 洪水最简单的方法是禁用目标设备的 ICMP 功能。在此后,所有涉及 ICMP 的网络活动都会被禁用,设备对 ping 请求、traceroute 请求和其他网络活动无响应。
对于面向互联网的服务器来说,可能不方便禁用 ICMP 。此时,可以使用高防服务器。这种服务器拥有极高的性能和网络带宽,这使得它可以在一定程度的洪水攻击下,安然无恙。
3.3 实验
本实验会涉及一些路由器操作命令,记录如下:
命令 | 意义 | 简写命令 |
---|---|---|
回车 | 在路由器启动后,在终端按回车键,进入特权模式。此时,命令提示符变成“ | |
#configure terminal | 进入全局配置模式。此时对路由器进行的配置会立即生效。此时,命令提示符变成“ | conf t |
(config)# interface 某接口 | 进入对应接口的配置模式。此时,命令提示符变成“ | int 某接口 |
(config-if)#ip address IP地址 子网掩码 | 设置当前接口的IP地址和子网掩码。 | ip add IP地址 子网掩码 |
(config-if)#no shutdown | 路由器默认关闭所有接口,需要使用此目录激活当前接口。 | no shut |
(config-if)#end | 从接口配置模式转回特权模式。 | |
#ping IP地址 | 使用ping命令测试此路由器与输入IP地址对应设备的联通状态。 |
4 TCP协议
4.1 简介
首先,我们通过一个视频来初步了解一下Telnet协议。
4.2 TCP 的安全问题及防范
目前主要的TCP攻击方式有如下几类:
SYN Flood 攻击
IP 欺骗DDoS攻击
解决
扩展积压工作队列
隔离核心服务器
使用防火墙进行入口过滤
5 Telnet协议
5.1 简介
首先,我们通过一个视频来初步了解一下Telnet协议。
5.2 Telnet 的安全问题及防范
Telnet 使用明文传输账号密码,黑客可以通过抓包轻松获取这些敏感信息。
解决
使用 SSH 代替。
5.3 实验
本实验会涉及一些路由器操作命令,记录如下:
命令 | 意义 |
---|---|
(config)#line vty 0 4 | 允许使用0-4号虚拟终端,并进入Line配置模式。此时,命令提示符变成“ |
(config-line)#password xx | 设置登录口令xx |
(config-line)#login | 要求口令验证 |
#enable password xxb | 设置特权非密口令 |
>enable | 从用户模式进入特权模式 |
远程设备名#exit | 退出telnet |
line vty 0 4 命令的含义
VTY (Virtual Teletype)代表虚拟电传打字机,即“虚拟终端”,用于通过 Telnet/SSH 对 Cisco 路由器或交换机进行访问。
命令 line vty 0 4 将打开 5 个虚拟接口,即 (0,1,2,3,4) 用于远程访问。这意味着,5 个不同的管理员/连接可以使用Telnet或SSH同时访问 Cisco 路由器/交换机。Cisco 硬件最多支持 16 个线路虚拟接口,即 (0,1,2,3,…,15)。
6 FTP协议
6.1 简介
首先,我们通过一个视频来初步了解一下FTP协议。
6.2 FTP 的安全问题及防范
目前主要的FTP攻击方式有如下几类:
反弹攻击
有限制的访问
暴力破解密码
密码明文传输
解决
禁用PORT命令
限制密码尝试次数
使用SFTP或FTPS