网站大量收购闲置独家精品文档,联系QQ:2885784924

ALG在netfilter中的实现.ppt

  1. 1、本文档共72页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ALG在netfilter中的实现 droplet@ 目录 alg overview netfilter alg implementation ftp sip 什么是ALG ALG:application level gateway 一种在安全设备里面分析和修改应用层协议内容的技术 ALG的用途 创建动态连接 有些应用层协议在协议交互过程中需要创建动态连接,动态连接的参数通过协议内容传递。连接可以分为控制连接和数据连接。一般来说,包含动态连接参数的连接叫做控制连接;不包含动态连接参数的连接叫做数据连接。由于在配置安全设备的过滤策略时,无法预知动态连接的地址和端口,所以需要ALG技术来帮助动态连接穿越安全设备。 修改协议内容 如果在安全设备上启用了地址转换(NAT)功能,那些在协议内容中传递动态连接参数的应用协议就有可能无法工作(协议内容中的地址有可能是私有地址,或者是需要映射到私有地址的公开地址)。ALG技术可以修改协议内容中的地址或端口,进而帮助这些应用协议正确穿越安全设备。 ALG的实现 关键字匹配 在协议内容里查找地址或端口的关键字。 协议解析 解析协议内容,生成相应的数据结构。 ALG的要点 什么时候创建动态连接? 根据协议内容判断何时需要创建动态连接。需要注意动态连接的参数。 什么时候修改协议内容? 开启地址转换功能时才需要修改协议内容。不仅要修改地址,而且可能需要修改端口。 如何修改协议内容? 协议内容中的地址和端口是如何表示的?是字符串还是数字(十进制还是十六进制)。协议中的相关项是否需要修改(比如数据长度)。校验和是否需要重新计算?是否需要分配一个新的数据包。 ALG的图示 netfilter ALG conntrack conntrack是管理连接的模块。每个连接都可以与一个ip_conntrack_helper关联。ip_conntrack_helper是netfilter中用来分析应用层协议的数据结构。 nat nat是完成地址转换功能的模块。每个连接都可以与一个ip_nat_helper关联。ip_nat_helper是netfilter中用来修改应用层协议的数据结构。 ip_conntrack_helper ip_nat_helper ip_conntrack_expect 调用流程 ip_conntrack_helper调用点 ip_nat_helper调用点 重要函数 ip_conntrack_expect_related 把expect与conntrack关联起来 ip_conntrack_change_expect 修改expect的参数 ip_conntrack_unexpect_related 解除expect与conntrack的关联关系 源转换的地址变化 目的转换的地址变化 地址转换与发送方向 注意事项 ip_conntrack_helper与ip_nat_helper之间如何传递参数? ip_conntrack_helper-help分析应用层协议,可以把分析结果保存在ip_conntrack_expect.help中。这样可以避免在ip_nat_helper-help中再次分析应用层协议。 IP_NAT_HELPER_F_ALWAYS的作用? 一般情况下,只有连接有与之关联的expect才会调用ip_nat_helper-help,有几个expect就会调用几次。如果有这个标记,那么,即使连接没有与之关联的expect,ip_nat_helper-help依然会被调用。 连接中与应用层协议相关的结构? 连接中,与应用层协议相关的结构是ip_conntrack.help。 ftp协议概览 面向命令行的协议,命令行以\r\n结束。 控制连接,目的端口默认是21。 控制连接传输命令,数据连接传输数据。 创建数据连接的命令有两种 PORT:主动方式,数据连接由服务器发起。 PASV:被动方式,数据连接由客户端发起。 ftp协议过程 PORT分析 PASV分析 不转换 源转换 目的转换 协议匹配方法 PORT字串 PORT h1,h2,h3,h4,p1,p2 227字串 227 Entering Passive Mode (h1,h2,h3,h4,p1,p2) 注意事项 数据连接地址与控制连接地址不一致的问题 port或227字串中的地址可能与控制连接的地址不一致(可以是其他主机的地址),这样会导致潜在的漏洞出现。 sip协议概览 采用与http类似的格式 当前版本是2.0 基于UDP或TCP 默认端口是5060 sip协议元素 代理模式 重定向模式 呼叫 挂断 sip消息格式 请求消息举例 应答消息举例 sdp举例 sip字段 REQUES

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档