ALG:应用层网关(防火墙)
来源:互联网 发布:android 网络编程 pdf 编辑:程序博客网 时间:2024/06/06 21:37
ALG:应用层网关(防火墙)
简称“ALG”(也叫应用层防火墙或应用层代理防火墙),在windows中其进程名是alg.exe,应用层网关通常被描述为第三代防火墙。当受信任网络上的用户打算连接到不受信任网络(如Internet)上的服务时,该应用被引导至防火墙中的代理服务器。代理服务器可以毫无破绽地伪装成Internet上的真实服务器。它可以对请求进行评估,并根据一套单个网络服务的规则决定允许或拒绝该请求。WinXP Home/PRO默认安装的启动类型为手动。
ALG在作为NAT穿透的应用时,因为我们知道传统的NAT不能改变应用层中的IP地址,那么一个最直接的方法就是直接改变应用层的IP地址,在得到终端的私有地址时就直接绑定其公网地址,为此后可能涉及到的互通做好准备。
1:ALG用在什么地方?
ALG用于以下两种情况:
a:应用协议需要创建动态连接,而创建动态连接所需的ip地址和端口是在协议内容中描述的。由于这些ip地址和端口是动态的,所以安全设备无法通过静态的过滤规则来允许或禁止这些连接,所以就需要动态创建连接。比如FTP协议。 b:应用协议的通讯两端经过了NAT设备。由于协议中携带的地址可能是私有网络地址,因此,需要在NAT设备上把它转换成因特网可以寻址的地址(或者协议两端设置了路由,这种方法只能在实验室里面用,不能在因特网上用),如果NAT设备需要支持多个客户端或服务器,端口也需要修改。修改协议内容,就需要同时修改数据包的长度,校验和等。如果数据包长度超过了MTU,数据包会被分片。
2:ALG的安全问题
动态连接在创建时只是对连接的部分描述(参数不完整),所以在建立真实连接时,会存在安全隐患(放大了安全设备的安全策略,有可能会创建一些未验证的连接,所以在实现ALG时,需要特别注意不要把动态连接的参数设置的过于模糊)
3:ALG中的协议解析问题
一般常见的ALG实现都是采用内容匹配的方法,直接在字符串中找相关的ip地址和端口。这样做的好处是实现简单,坏处是有时不能正确匹配协议。更好的办法是使用协议解析,但这样做比较复杂,如果是基于tcp的应用协议,还可能涉及到流重组的问题(无法确定包边界)。所以一般简单协议用内容匹配,复杂协议用协议解析(特别是基于udp的协议)
4:哪些情况下不能用ALG
如果协议内容加密,就不能使用ALG(无法解析和修改协议内容)
5:ALG相关的RFC
RFC 3027描述了ALG相关的问题。
防火墙技术在不停的发展。目前用的比较多的,还是二代防火墙,状态防火墙。。。主要是针对源地址、目标地址、源端口、目标端口、协议,来进行限制的,并不能深度识别应用内的问题。。
比如80端口,是网页,还是迅雷下载?
ALG可以识别出来。。
准备的说ALg是三代防火墙的一个技术
以后防火墙的趋势:ALg、IPS、AV、QOS、上网行为等。。。多合一。。。
- ALG:应用层网关(防火墙)
- BCM SIP ALG原理及实现(应用层实现机制)
- 网络安全:包过滤防火墙和代理防火墙(应用网关防火墙)
- 防火墙技术之---ALG技术
- ALG原理与应用
- 多通道协议与应用层网关
- NAT ALG原理与应用
- NAT ALG原理与应用
- NAT ALG原理与应用
- Mac OS X: 应用层防火墙(ALF)
- 【Linux应用层】防火墙iptables命令
- 公司网关简单防火墙...
- 防火墙、网关、路由器
- 编译内核实现iptables防火墙layer7应用层过滤 (三)
- Linux网关防火墙简单版本
- 透明网关与透明防火墙
- Zigbee网关 Zstack增加串口功能2-修改应用层APP/ZigbeeGateWay.c
- 应用层(一)
- linux内核中断原理博文记录
- 接口测试之上传文件
- H5 选项卡—三级菜单联动
- Linux下Wget获取云盘资源
- 我看小程序:连接一切的背后,是打群架时代的开始
- ALG:应用层网关(防火墙)
- quartz 2.2.3 自带示例源码解读example6~example10
- linux mysql-bin.000001占用磁盘空间过大解决方法
- 学习《第一行代码》之实战项目-天气预报API实例
- wpf之一:基础概念
- android 切换到阿拉伯语电话号码+号显示在右侧及顺序错乱的处理
- Minimax算法及实例分析
- 卷积层和池化层的参数
- 我的前20年生活经历(刚入程序员前)