- 1、本文档共51页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WAF在云安全中的应用研究
石祖文(Safe3)
safe3q@
创新工场-安全宝
纲要
• 背景介绍
• 云WAF架构设计
• 云WAF安全研究
• Web攻击案例
• QA
1.背景介绍
1.1关于安全宝
安全宝是创新工场唯一安全领域的投资项目,它是星
云融创(北京)科技有限公司旗下产品,为“国内第一家
采用零部署的云计算技术一站式解决各种安全问题的高科
技企业。”
1.2大数据时代
• 每天处理上亿PV
• 每天过滤TB级访问流量
• 每天拦截几十万攻击请求
• 每天分析上万种应用类型
• 每天遭遇几十种0day攻击
• 每天同步上千万条配置
• DDOS攻击最高峰值流量达70G
1.3 2012年漏洞统计
• 第三方应用漏洞攻击比例
2.云WAF架构
2.1基础构件
1.深度定制化nginx (目前公认的高并发低RAM占用Web
Server)
2.高效luajit处理逻辑(CPU密集型执行效率接近C++,语法
简单)
3.大数据分析hadoop (大数据分析首选)
2.2云WAF架构图
2.3 使用nginx碰到的问题
1.reload加载2万个server配置耗时一分多钟
2.加载2万个server配置占用内存高达2G,如果8核绑定8个
进制则占用系统16G内存
3.只有针对单个url清理缓存的接口,无法支持整站缓存清
理
4.天生不是为加载大量配置而设计,部分结构查找配置效率
低下
2.4 如何解决这些问题
2.4.1 nginx配置动态化
(1)nginx变量机制
2.4 如何解决这些问题
(2)利用nginx变量机制动态修改gzip模块开关示例
2.4 如何解决这些问题
2.4.2 利用Luajit做逻辑层解析配置
(1)Luajit特点:接近C++的执行效率、语法简单易学易用
2.4 如何解决这些问题
(2)Lua动态解析配置并修改gzip模块开关示例
2.4 如何解决这些问题
2.4.3 变量化nginx动态清理缓存
(1)nginx缓存管理
cache manager进程的功能是定期检查缓存,并将过
期的缓存删除;
cache loader进程的作用是在启动的时候将磁盘中已
经缓存的个体映射到内存中,然后退出。
在这两个进程的ngx_process_events_and_timers()
函数中,会调用ngx_event_expire_timers()。
ngx_event_timer_rbtree(红黑树)里面按照执行的时间的
先后存放着一系列的事件。每次取执行时间最早的事件,
如果当前时间已经到了应该执行该事件,就会调用事件的
handler。两个进程的handler分别是:
ngx_cache_manager_process_handler
ngx_cache_loader_process_handler
2.4 如何解决这些问题
(2)Lua动态设置文件缓存时间代码示例,patch nginx的
ngx_http_file_cache_valid函数相关代码
2.4 如何解决这些问题
(3)Lua动态清空文件缓存代码示例,patch nginx的
ngx_http_file_cache_read函数相关代码
2.5 nginx动态化配置前后对比
2万server nginx.conf 动态加载
内存占用 2G内存,n系数增长 200M,1+0.1*n系数增长
站点数目 几千个 10万以上
加载时间 1分多钟 2秒钟
容易出现reload加载失
稳定性
文档评论(0)