本文详细介绍关于 TCP/IP协议安全性能问题的分析
大量的TCP SYN包将从主机X经过网络发往主机B,相应地有SYN-ACK包从主机B发往主机X。然后主机X将用RST包作应答。这个SYN/SYN-ACK/RST包序列使得入侵者可以知道主机B的TCP序列号发生器的动作。
主机A向主机B发送一个SYN包。实际上,这是主机X发送的一个“伪造”包。收到这个包之后,主机B将向主机A发送相应的SYN-ACK包。主机A向主机B发送ACK包。按照上述步骤,入侵主机能够与主机B建立单向TCP连接。
§3.2 虚假状态转移
当入侵者试图利用从SYN-RCVD到CLOSE-WAIT的状态转移长时间阻塞某服务器的一个网络端口时,可以观察到如下序列包:
●从主机X到主机B发送一个带有SYN和FIN标志位置位的TCP包。
●主机B首先处理SYN标志,生成一个带有相应ACK标志位置位的包,并使状态转移到SYN-RCVD,然后处理FIN标志,使状态转移到CLOSE-WAIT,并向X回送ACK包。
●主机X不向主机B发送其它任何包。主机的TCP机将固定在CLOSE-WAIT状态。直到维持连接定时器将其重置为CLOSED状态。
因此,如果网络监控设备发现一串SYN-FIN/ACK包,可推断入侵者正在阻塞主机B的某个端口。
§3.3 定时器问题
如果一入侵者企图在不建立连接的情况下使连接建立定时器无效,我们可以观察到以下序列包:
●主机X从主机B收到一个TCP SYN包。
●主机X向主机B回送一个SYN包。
主机X不向主机B发送任何ACK包。因此,B被阻塞在SYN-RCVD状态,无法响应来自其它客户机的连接请求。
§4 总结
目前还没有十分简便的方法防止伪造IP地址的和侵行为,但我们可以采取以下措施来尽可能地保护系统免受这类攻击。首先,我们可以配置路由器和网关,使它们能够拒绝网络外部与本网内具有相同IP地址的连接请求。而且,当包的IP地址不在酝酿 网内时,路由器和网关不应该把本网主机的包发送出去。其次,在包发送到网络上之前,我们可以对它进行加密。虽然加密过程要求适当改变目前的网络环境,但它将保证数据的完整性和真实性。
为了防止从SYN-RCVD到CLOSE-WAIT状态的伪转移,需要改变操作系统中TCP操作的部分相关代码,使得当TCP机处于SYN-RCVD状态时,忽略任何对等主机发来的FIN包。
只有当建立连接后,才可以使连接建立定时器无效。也就是说,在同步开放连接建立过程中,当主机收到一个ACK时,定时器应置为无效,使状态转移到ESTABLISHED。只有CLOSED等少数几种状态与定时器无关。入侵主机可能会迫使TCP机转移到这些状态,因为该状态不受任何定时器制约,如果入侵者不发送适当的包,主机可能会被阻塞在这个状态。
责编:豆豆技术应用
- Linux/Unix新闻
- Linux/Unix入门
- Linux/Unix命令
- Linux/Unix安装
- Linux/Unix编程
- Linux/Unix管理
- Linux/Unix桌面
- Linux/Unix内核
- Linux/Unix软件
- Linux/Unix发行版
- redhat/Fedora
- Ubuntu Linux
- IBM AIX
- FreeBSD
- Solaris
- NetBSD
- SCO Unix
- find基本用法
- ldd命令原理及用法例子
- su和sudo命令的区别与使用技巧
- Linux操作系统下的dd命令技巧
- 关于Top命令的参数详解
- 关于Tar命令的使用
- SSH实用技巧及常用命令使用
- Linux后台执行命令
- VI命令使用技巧集锦
- Vmstat命令列出的属性详解
- 如何查看及修改文件读写权限
- 最大可存储的单文件容量
- ext2/ext3文件系统介绍
- 常用压缩格式的压缩解压方法
- Linux系统的引导过程详细解析
- Configure参数解释说明
- Linux下硬盘和分区的命名方法
- 硬链接与软链接的区别
- 权限和所有权模型
- 存储设备的两种表示方法