上面讨论的最终结果是端口碰撞提供一些增强安全的真实好处,但是一些严重的限制也需要处理,单数据包授权是一个相对较新的协议,它保留了端口碰撞所有的好处,同时还修复了上面讨论到的限制,第一个公共可用SPA实施在2005年五月作为一个叫做fwknop(http://www.cipherdyne.org/fwknop)的软件的一部分被发布,fwknop最初在2004年被创建,结合了被动操作系统指纹技术和端口碰撞技术,它是第一个端口碰撞实施(使得它可以做类似“仅从Linux2.4系统接受保护序列”的事情),但是SPA方法是目前fwknop提供的最流行的(也是默认的)认证方法,注意fwknop同时提供认证和认证服务,但是完全讨论它们之间的不同之处已经超出了本文的范围。
单数据包授权授权一个与端口碰撞类似的架构,既有客户端也有服务端,服务端维护控制默认删除包过滤器,同时被动监视数据包,无论如何,在端口碰撞和SPA分支之间架构上是非常相似的。
单数据包授权移动数据到它所归属的地方—应用程序层,这就暗示每个数据包只能发送2字节的数据,在端口碰撞的例子中,在每个在客户端和服务端之间的包中SPA可以发送最小MTU大小的数据(在以太网上是1500字节),使用端口碰撞有更快的数据传输速率,并更容易打开大的数据包进行访问,本文剩余的部分讨论单数据包授权通过fwknop进行实施。
Fwknop在应用程序层定义下面的包格式:
◆16字节随机数据
◆客户端用户名
◆客户端时间戳
◆Fwknop版本
◆模式(访问或命令)
◆访问(或命令字符串)
◆MD5校验和
SPA包的许多字段长度是可变的,被一个:字符分隔开来(字段是基于64编码的,因此嵌入的冒号不能破坏这个语法),一旦fwknop客户端建立了上面的包格式,整个包将被一种或两种加密算法加密:使用128位共享密钥的Rijndael对称加密或者使用由GnuPG生成的2048位公/私密钥对的非对称ElGamal算法,默认情况下,fwknop客户端通过UDP的62201端口发送SPA包,但是这个可以很容易从命令行改变,查看—Server-port参数,(fwknop提供许多配置选项,查看文档资源和帮助页面),运行中的SPA图形化表示,图2:
![]() |
| 图2 运行中的SPA |
那么,所有的字段都有什么作用呢?首先,16字节随机数据允许在端口碰撞下进行高优先级限制来解决重放问题,每个SPA包在加密前预先设置一个16位的随机数据,然后通过fwknop服务端解密,全部包的MD5校验是被缓存起来的,随机数据允许每个SPA包不相同(甚至发送的是相同的访问指令),因此每个包的MD5校验和也可能是不相同的(不相同的几率很高),如果任何一个新数据包的MD5校验和与前面的包相匹配,fwknop服务端不做任何动作只是往系统日志中写入一条警告信息,因此,任何被第三方拦截的SPA包不能在网络上重放。
客户端用户名和时间戳被fwknop放入数据包里,用户名用来给远程fwknop服务端用户维护不同认证等级,fwknop可以安装在多用户系统上,每个用户可以通过远程fwknop服务器进行认证来连接不同的服务,fwknop版本字段维护向后兼容性,该字段在fwknop新版本中可以增加或删除,但是使用的是版本号,fwknop服务器能保留了对老式客户端创建的SPA包的兼容性,模式字段告诉fwknop服务器客户端是想访问一个服务还是想执行一个命令(在下一个字段使用特定的访问控制指令或命令),例如:为了能访问TCP端口22,访问字典应该包含字符串
我们已经明白了数据的数量是如何增长的,通过SPA包解决了重放问题,以及在端口碰撞架构下的非常慢的数据传输速率,在端口碰撞下我们仍然有2个局限需要处理,首先,SPA协议的单包类型意味着第三方恶意的程序不能通过在相同端口上欺骗一个数据包破坏认证架构,最后,因为SPA协议只需要一个包,它不会在中级的IDS如一个端口扫描上暴露出来,所有IDS都能看到的是难以理解的数据块发送到一些ip地址。
结论
单数据包授权提供类似端口碰撞的安全好处,任何人扫描受此保护的服务不会得到该服务是否正在运行的结果,使得用0day攻击程序进行攻击也更困难,SPA提供了端口碰撞实施的许多优雅方案,允许SPA解决重放问题,使得用非对称加密的数据传输速率得到提升,阻止简单的欺骗攻击,在入侵检测系统的雷达下监视网络端口扫描。
下一篇文章将展示如何使用SPA。
【51CTO.COM 独家翻译,转载请注明出处及作者!】
【相关文章】
| 共2页: 上一页 [1] 2 | ||||
|
|
||||
| · 微软Forefront企业安全.. · 如何优化IT 控制能耗 · 国际文档格式标准开战 · CISSP认证成长之路 · 珊瑚虫QQ作者侵权案开庭 · 微软出价446亿美元收购.. · Windows Server 2008专.. · 隐私保护技术探讨 |
· 贝恩资本携手华为22亿.. · 802.11n:下一代的无线.. · 体验Visual Studio 200.. · 运营商封堵非法ADSL共享 · ADSL应用面面俱到 · 龙芯要做中国的“奔腾” · 华为七千人主动辞职规.. · 华为路由器配置 |
|||
|
||||
| · VPN技术 · SQL Server 2008/2005.. · SOA 面向服务架构 · 子网掩码教程 · SQL Server 2008/2005.. · 中间件应用技术专题 · 深入了解PGP加密技术 · MySQL数据库备份 |
· 病毒查杀专题 · VPN技术 · Solaris 10 配置管理 · Linux 基础 · SSL VPN详细知识 · Linux防火墙 · Linux 集群技术专题 · 打造安全服务器 |
|||
|
||||
| · VPN技术 · SQL Server 2008/2005.. · 中间件应用技术专题 · SQL Server 2008/2005.. · SOA 面向服务架构 · 子网掩码教程 · MySQL数据库备份 · 身份认证技术 |
· 病毒查杀专题 · 清除流氓软件——51CTO.. · SSL VPN详细知识 · Sniffer安全技术从入门.. · Linux 集群技术专题 · VPN技术 · Linux 基础 · SOA 面向服务架构 |
|||