免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 11663 | 回复: 25
打印 上一主题 下一主题

应用层防火墙 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-16 21:12 |只看该作者 |倒序浏览
10可用积分
最近想了解下应用层防火墙,不知道现在实现应用层防火墙的主要技术是什么?  or 有没有开源的(linux c)实现的?   先谢谢大家了

最佳答案

查看完整内容

说一下个人的看法吧,做了应用防火墙差不多一年了。大家说的差不多还是传统的网络防火墙,来改造的针对应用防火墙的防御。实际上应用防火墙要比传统的防火墙复杂得多。传统防火墙主要是针对单个包来进行检测的,另外早期的针对端口和IP进行防护就更初级了。应用层防护的复杂主要体现在以下几个方面:1、应用层的编码问题,就够传统防火墙喝一壶的了。先别说HTTPS类加密的传输数据包,就算是编码类型的(URL、UNICODE、UTF8等等), ...

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
2 [报告]
发表于 2009-12-16 21:12 |只看该作者
原帖由 ubuntuer 于 2009-12-16 21:12 发表
最近想了解下应用层防火墙,不知道现在实现应用层防火墙的主要技术是什么?  or 有没有开源的(linux c)实现的?   先谢谢大家了


说一下个人的看法吧,做了应用防火墙差不多一年了。
大家说的差不多还是传统的网络防火墙,来改造的针对应用防火墙的防御。
实际上应用防火墙要比传统的防火墙复杂得多。传统防火墙主要是针对单个包来进行检测的,另外早期的针对端口和IP进行防护就更初级了。
应用层防护的复杂主要体现在以下几个方面:
1、应用层的编码问题,就够传统防火墙喝一壶的了。先别说HTTPS类加密的传输数据包,就算是编码类型的(URL、UNICODE、UTF8等等),还有正则的匹配,就让内核的处理变得困难重重,性能也大打折扣;
2、应用层的攻击,如注入、XSS、泄漏等等,很大一部分并不是在一个IP包里的,往往分析的时候发现,单个IP包分析不是攻击,但把他们组合起来就是一个攻击了,这种实现,要在内核去组装IP包(不是IP分片包),目前似乎很难实现;

最近看到一个比较新起的牛B公司,提出了一种 stream-based scanning的思想,他把传统的IPS这种架构的检测定义为File-based Scanning,即将一个IP包抽象为一个File。
Stream-based Scanning,主要是体现了应用层的一个完整的流来检测。我不太清楚他这种实现机制,估计需要IC的推动吧。个人观点,应用安全要真的发展起来,必须靠IC的推动,否则,很难有起色。

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
3 [报告]
发表于 2009-12-16 21:16 |只看该作者
应该就是iptables+Layer7吧

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
4 [报告]
发表于 2009-12-16 21:38 |只看该作者
Application Layer Packet Classifier for Linux
http://l7-filter.sourceforge.net/

还有一个模块ipp2p:
http://www.ipp2p.org/

[ 本帖最后由 Godbach 于 2009-12-16 21:41 编辑 ]

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
5 [报告]
发表于 2009-12-16 21:42 |只看该作者
l7-filter采用了正则表达式的方式,而ipp2p应该是将特征内置到程序

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
6 [报告]
发表于 2009-12-16 21:46 |只看该作者

回复 #4 Godbach 的帖子

L7里面有ipp2p模块吧

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
7 [报告]
发表于 2009-12-16 21:56 |只看该作者
刚才又看了一下l7-filter的介绍,它应该主要还是正则匹配吧,但是也使用了ipp2p中检测报文的方式

论坛徽章:
0
8 [报告]
发表于 2009-12-16 23:09 |只看该作者
lz所说的应用层防火墙我有点不太清楚,是不是包的处理功能在应用层实现?

一般的防火墙都是以内核模块的实行,在内核层对包进行处理,这样转发效率高。

如果把把勾到用户层也是可以的,可以看以下ipqueue,不过毕竟是用户态,所以效率很低。


还一种理解,你说的应用层,是不是应用程序识别?
现在流行的应用程序识别基本上都用的snort,l7只是iptalbe的一个模块,没有snort强大。

snort是开源的。而且非常灵活。

论坛徽章:
0
9 [报告]
发表于 2009-12-17 09:53 |只看该作者
恩  感谢大家的回复!!!
snort   l7 netfilter这些我都知道...
snort代码太庞大,l7是c++写的....
这个问题的来源是我想在内核态识别应用层协议...不知道对在应用层识别协议,以及协议的具体数据..
比如http协议  url是什么 是get or post   具体get 什么等   
协议识别除了从端口外还有没有别的方法...
我现在就是现在内核中分析下http 解析出url   get post等

论坛徽章:
36
IT运维版块每日发帖之星
日期:2016-04-10 06:20:00IT运维版块每日发帖之星
日期:2016-04-16 06:20:0015-16赛季CBA联赛之广东
日期:2016-04-16 19:59:32IT运维版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-19 06:20:00每日论坛发贴之星
日期:2016-04-19 06:20:00IT运维版块每日发帖之星
日期:2016-04-25 06:20:00IT运维版块每日发帖之星
日期:2016-05-06 06:20:00IT运维版块每日发帖之星
日期:2016-05-08 06:20:00IT运维版块每日发帖之星
日期:2016-05-13 06:20:00IT运维版块每日发帖之星
日期:2016-05-28 06:20:00每日论坛发贴之星
日期:2016-05-28 06:20:00
10 [报告]
发表于 2009-12-17 10:18 |只看该作者
原帖由 ubuntuer 于 2009-12-17 09:53 发表
恩  感谢大家的回复!!!
snort   l7 netfilter这些我都知道...
snort代码太庞大,l7是c++写的....
这个问题的来源是我想在内核态识别应用层协议...不知道对在应用层识别协议,以及协议的具体数据..
比如ht ...


应用层识别更为复杂的就是需要检测报文的数据,常称为DPI,Deep Packet Inspection.

这个前提就是你得知道某个具体应用的一些特征。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP