IBM AIX TCP Traffic Regulation

从内核阻止拒绝服务攻击(DoS)

IBM® AIX® TCP Traffic Regulation (TR) 是在 IBM AIX 6.1 TL2 中引入的,它提供集中的基于端口的 TCP 连接资源使用控制。安全管理员可以定制 TCP 防火墙配置文件,然后把它装载到 AIX 内核中,从而主动地缓解基于 TCP 的拒绝服务攻击 (DoS)。

Lucas McLane, AIX 信息保障/软件工程师, IBM  

//ibm.com/developerworks/i/p-lmclane.jpgLucas McLane(CISSP)是 IBM AIX 的信息保障/软件工程师。Lucas 从 2002 年开始从事 IBM 软件开发。他是一位 Master Ethical Hacker 和软件工程师,在复杂的虚拟化环境方面有丰富的经验,尤其精通网络安全问题。Lucas 是 PHANTUM 的主要开发人员,为 Texas Tech University 的 Computer Science Advisory Board 提供服务。



Marco Cabrera, AIX 专家, IBM  

//ibm.com/developerworks/i/p-mcabrera.jpgMarco Cabrera 是德克萨斯 Austin 市的一位软件工程师。他从事软件开发已经超过六年。他涉及的领域非常广泛,从 Web 应用程序技术(.NET、Java 和 PHP)到作为 AIX TCP/IP 的关键开发人员进行核心系统编程。



2009 年 12 月 21 日

简介

只需经过简单的调优,在 AIX 上运行的 TCP 网络服务和子系统就会自动、透明地利用这种强大的 DoS 缓解技术。这个新特性提供集中的管理和基于防火墙的定制,可以简便地提高网络安全性。

除了提供有效的服务级和系统级 TCP DoS 缓解措施之外,IBM AIX TCP Traffic Regulation 还可以跨发起连接的源 IP 地址提供系统范围的 TCP 连接资源多样性。

由于世界各地的政府、银行、大学、医院和企业大量采用 Internet 技术,社会的日常运作越来越依赖于网络服务的可用性。社会的网络基础设施必须更有弹性,能够主动地防御攻击,确保可用性。

IBM AIX TCP Traffic Regulation 为实现网络服务攻击弹性提供低成本的解决方案。它在操作系统级确保可用性,可以透明地缓解主动和被动网络拒绝服务攻击。为了启用保护,管理员定义并定制一个防火墙配置文件,用它保护那些处理重要服务的 TCP 端口。安全管理员可以通过这些集中的定制防火墙配置文件更好更灵活地调整网络安全解决方案。


操作系统体系结构

IBM AIX TCP Traffic Regulation 在 AIX 操作系统中提供一个新的体系结构层。这个新层的目标有两个:

  • 为定义定制的 TCP 防火墙配置文件提供一个集中的管理框架。
  • 根据当前的防火墙策略主动地管理 TCP 套接字连接和资源多样性。
图 1. IBM AIX TCP Traffic Regulation (TR) 体系结构
TCP Traffic Regulation 体系结构

防火墙策略本身由配置文件定义控制,系统管理员可以添加、删除或修改防火墙配置文件。每个配置文件由三个元素组成:

  • 需要保护的 TCP 端口或端口范围。
  • 这个配置文件的 TCP 端口上允许的最大套接字连接数量。
  • 多样性值(这个数量值用于调优跨套接字连接池共享的 TCP 资源的总体多样性)。

这个迁移系统会透明地工作,不需要修改现有的应用程序。TCP TR 在内核级别主动地管理到达的套接字连接请求,允许迁移透明地工作 —— 不需要修改现有的应用程序(见 图 1)。因此,如果使用的 TCP 端口由这些防火墙配置文件控制,在 AIX 上运行的任何网络服务软件就会自动地防御拒绝服务攻击。

使用 tcptr 命令行实用程序定义防火墙配置文件。这个实用程序允许交互式地管理 TCP TR 策略,可以通过脚本操作策略。可以使用 tcptr_enable 网络选项启用或禁用整个 TCP TR 系统。例如,使用下面的 no 命令启用这个子系统:

no -p -o tcptr_enable=1

tcptr 命令为一个给定的网络端口或端口范围指定最大 TCP 连接限制。管理员用户通过添加或删除连接资源池来控制与 TCP TR 相关的系统资源,这些资源由远程访问 AIX TCP 层的套接字请求共享。

还可以指定多样性可调项,从而改进资源共享策略控制。

生效之后,这些 TCP TR 配置文件成为有效的连接治理策略。操作系统自动地确保在试图通过 TCP 连接特定端口的多个远程 IP 地址之间共享资源。


攻击概述

网络服务一般无法确定底层操作系统资源是否可用,是否可以支持它们的 TCP 通信。大多数 TCP 服务只是在收到新的套接字连接请求时尝试接受它们。如果不加限制的话,只要不断发出 TCP 连接请求,让这些网络服务消耗的 TCP 资源不断增加,最终会占用所有可用的系统资源。

图 2. TCP 资源耗尽的拓扑
TCP 资源耗尽的拓扑

恶意攻击者可以利用这一点,通过 Internet 对网络服务发动远程拒绝服务攻击。攻击会导致系统上产生大量套接字连接请求,最终导致服务不可用。系统本身拥挤或服务没有套接字可用都会出现这种情况。如果系统或服务不可用,合法用户就无法使用受攻击系统上的网络服务(见 图 2)。


TCP TR 实用程序

TCP TR 实用程序可以配置或显示 TCP TR 策略信息,控制端口的最大套接字连接数量。这个实用程序的语法如下:

tcptr -add <start port> <end port> <max connection> [divisor]

tcptr -delete <start port> <end port>

tcptr -show

其中:

  • -add 在系统中添加新的 TCP TR 策略。应该用这个标志指定当前策略的最大连接数量、启始端口和结束端口。如果不需要指定端口范围,启始端口和结束端口可以是相同的端口。还可以指定除数,这会增加在可用 TCP 连接之间共享的资源的多样性。
  • -delete 删除为系统定义的现有 TCP TR 策略。这个标志要求指定当前策略的最大连接数量、启始端口和结束端口(如果不指定端口范围,启始端口和结束端口可以相同)。
  • -show 显示在系统上定义的所有现有 TCP TR 策略。在使用 -delete 标志之前,可以使用 -show 标志查看当前有效的策略。

参数:

<max connection>指定给定 TR 策略的最大 TCP 连接数量。
<start port>指定当前 TR 策略的启始端口。
<end port>指定当前 TR 策略的结束端口。如果要指定端口范围,指定的值必须大于启始端口。如果这个 TR 策略只针对一个端口,指定的值必须等于启始端口。
<divisor>指定一个除数,它控制可用 TCP 连接数量和一个 IP 占用的 TCP 连接数量的比例。以除数作为指数求 2 的幂,把可用连接总数除以这个幂值就是一个 IP 可以使用的连接数量。这个参数是可选的,如果不指定它,默认值为 1。在这种情况下,使用可用连接的一半。

示例

下面的命令添加一个 TCP Traffic Regulation 策略,它只控制 TCP 端口 23,最大连接数量设置为 256,可用连接除数设置为 3:

# tcptr -add 23 23 256 3

下面的命令添加另一个 TCP Traffic Regulation 策略,它控制从 5000 到 6000 的 TCP 端口,最大连接数量设置为 5000,可用连接除数设置为 2:

# tcptr -add 5000 6000 5000 2

以下命令显示为系统设置的 TCP Traffic Regulation 策略:

# tcptr -show

以下命令删除一个 TCP Traffic Regulation 策略,它控制从 5000 到 6000 的 TCP 端口:

# tcptr -delete 5000 6000

结束语

IBM AIX TCP Traffic Regulation 为实现网络服务攻击弹性提供低成本的解决方案。它在操作系统级确保可用性,可以透明地缓解主动和/或被动网络拒绝服务攻击。需要确保安全性和可用性的网络服务应该会受益于这种强大的操作系统技术。

参考资料

学习

讨论

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=AIX and UNIX
ArticleID=457767
ArticleTitle=IBM AIX TCP Traffic Regulation
publish-date=12212009