内容简介:阅读说明:WAF就是Web防火墙,是对Web业务进行防护的一种工具。基本上,只要是利用HTTP/HTTPS协议进行交互的应用,都用得着WAF。Web应用通常充当着攻击者入口的角色。本篇推荐几款开源WAF,适用有一定动手能力,且预算不多的网络安全职能部门(如:一个人的网络安全部门)。开源产品虽然坑比较多,但是踩坑还是一件很快乐的事。随着互联网应用技术的不断发展,Web应用越来越受到业务系统的重视,早期的Web应用在多数人的理解中,似乎就是网站。如今的电子商务、网上银行、网上营业厅、以及新型医院HIS系统,等众
阅读说明:WAF就是Web防火墙,是对Web业务进行防护的一种工具。基本上,只要是利用HTTP/HTTPS协议进行交互的应用,都用得着WAF。Web应用通常充当着攻击者入口的角色。本篇推荐几款开源WAF,适用有一定动手能力,且预算不多的网络安全职能部门(如:一个人的网络安全部门)。开源产品虽然坑比较多,但是踩坑还是一件很快乐的事。
随着互联网应用技术的不断发展,Web应用越来越受到业务系统的重视,早期的Web应用在多数人的理解中,似乎就是网站。如今的电子商务、网上银行、网上营业厅、以及新型医院HIS系统,等众多B/S架构的应用均以Web为载体。Web也由早期的网站转变为网上购物、网上交易、网上办公等多种业务应用系统。
1 WAF是什么?
WAF,全称 Web Application FireWall,也就是Web应用防火墙。在早期门户网站时代,我们所面临的安全威胁主要源自网站被黑或者网站页面被篡改,因此网页防篡改技术得到成长并大量使用。应用推动系统架构革新,而系统架构革新推动了安全技术的发展。WEB应用防火墙也不例外,也是在现有WEB防护技术力日益无法满足业务的新需求时诞生的。WAF即Web应用防火墙,是通过执行对HTTP/HTTPS请求的过滤,并对Web应用提供保护的一种产品。抵御大量的攻击行为。
我们现在使用的手机端app,多数的数据交方式依然是通过Web与服务器进行通信。那么这些Web Api在调用时,随之而来的安全风险,同样可以交给WAF来处理。不过这里我要申明一点, 这个世界上没有绝对安全的产品 ,相信我, 绝对 没有“ 绝对 ”。
2 为什要使用WAF?
在软件应用的整个生命周期中,信息安全工作包括了开发编码,测试上线流程、升级维护、网络防护、日志审计等一系列工作,即使这样也无法保证100%的安全。那么,企业投入10--30万来上一台WAF设备,拦截90%以上的来自互联网的攻击,使得攻击者没有机会来尝试。相比动辄几百万的安全监控项目,还不能保证100%的安全,我相信多数人都会选WAF。当然,无论你是选择商用或开源产品。
3 有哪些WAF是开源的?
如果你查询了搜索引擎,那么通常你会得到两种结果: ModSecurity 和 OpenResty 。
前者确实是开源WAF,而后者是Nginx+lua(第三方Web平台)。不可否认的是 OpenResty 确实是优秀的Web服务端平台,可实现各种你能想到的功能(包括WAF)。但开源的世界从来不缺少优秀的项目,优秀的开源WAF包括但不限于: ModSecurity 、 NAXSI 、 WebKnight 、 Shadow Daemon, 当然还有我最近在用的 JXWAF(基于OpenResty) 。
4 开始讨论WAF建设吧
除自建开源WAF之外,我们还有很多优秀的云WAF可以选择。云WAF是在CDN技术上的一种扩展,反向代理用户请求,并过滤攻击请求。它应该是这个样子的:
(请无视图画的丑,我是一边画图一边写稿)
云WAF接收到请求,也是通过Internet的方式请求真实的Web服务器,国内有: 百度云加速 , 360网站卫士 等优秀的免费云WAF可以使用。
但是,如果你认为,使用了云端WAF就没事儿了? 那就真的大错特错了!
通常,Web业务都会先上线,再根据业务需求做云端WAF的解析接入。这时候有两点致命的安全问题:1, Web服务会开放到互联网上,不会只开放给云端WAF (也就是,本地修改hosts,即可访问),当然,这方便了公司内部的开发人员和运维,但隐患也在这里;2, 只为上线云端WAF,没必要更换Web服务的IP地址吧 ?
问题就在这里,攻击者可以通过 查询 DNS历史解析 ,很快可以找到真实的主机,更改到本地hosts或自建本地DNS,就优雅的绕过云端WAF了。毕竟,信息收集只是渗透测试的第一步。
但是,这并不是说云端WAF没有用,云端WAF确实会拦截很多扫描类的攻击,但要想防止攻击者,云端WAF确实还有所欠缺。
那么,是不是该讨论自建WAF了?以下给出推荐的开源WAF,搭建方式可以在官网找到,就不在这里贴出了。
1.JXWAF
https://github.com/jx-sec/jxwaf
JXWAF(锦衣盾)是一款基于OpenResty(Nginx+Lua)开发的下一代web应用防火墙,独创的业务逻辑防护引擎和机器学习引擎可以有效对业务安全风险进行防护,解决传统WAF无法对业务安全进行防护的痛点。内置的语义分析引擎配合机器学习引擎可以避免传统WAF规则叠加太多导致速度变慢的问题,同时增强检测精准性(低误报、低漏报)。
功能优势不是最大的,既然是开源,当然是中文社区了。QQ群是最方便的工具,你有任何问题都可以快速得到响应 ( JXWAF QQ Group: 730947092)
OpenResty具有快速上手的优势(当然如果你有开发能力的话),也是我非常喜欢的Web引擎。
2.ModSecurity
http://www.modsecurity.org/
无法否认,ModSecurity确实是非常流行的开源WAF之一,有很多的开源防火墙也是参照它的实现思路。
但是可惜的是,ModSecurity并没有图形界面,如果你需要的话,可以考虑使用WAF-FLE(http://waf-fle.org/about/)。它可以在控制台中存储、搜索和查看事件。 3.NAXSI
https://github.com/nbs-system/naxsi
NAXSI 是 Nginx Anti XSS & SQL Injection 的缩写。它是一个nginx的第三方模块。它默认的规则库自称可以过滤99%的已知Web攻击方式。当然,如果你将它放在生产环境,则还需要根据业务配置自动学习的工作方式,根据Web应用生成私有的白名单规则。 4. WebKnight
https://www.aqtronix.com/?PageID=99
WebKnight本质上是一个 ISAPI的过滤器,它通过扫描所有请求并根据管理员设置的筛选规则对其进行请求的处理。它并不依赖需要定期更新的规则库(这也是它最大的亮点)。在默认配置中,记录所有被阻止的请求,管理员可以根据需要进行自定义。WebKnight 3.0具有管理Web界面,可以在其中自定义规则并执行统计等。
5.Shadow Daemon
https://shadowd.zecure.org/overview/introduction/
Shadow Daemon 是一组工具,以过滤带有恶意参数请求的方式,来检测、记录和防止Web攻击。它有一个自己的UI,管理员可以在其中执行管理WAF、它还支持PHP/Perl/Python语言框架。(PHP是这个世界上最好的语言)
Shadow Daemon可以检测 SQL 注入、XML注入、代码注入、命令注入、XSS、后门、本地/远程文件包含等漏洞。开发人员可以将其嵌入Web应用中,以提升Web业务的安全性。
05 不能让WAF影响性能
如果你的用户量较大,单点WAF拖累了业务。不要着急, 我们还可以做WAF池。 LVS 就是我们的最佳实践。
LVS+Keepalived负载均衡方案虽然不是我们本篇讨论的重点,这里还是要引申出来。我们可以把WAF作为反向代理来看待,如下图:
(请再次原谅图丑,感谢您宽大胸怀)
既然Web服务器可以用负载均衡的方式,代理层就不行吗? 当然是可行的! 鉴于LVS+KeepAlived已经有太多的参考资料了,这里就不再复制粘贴了。
06 开源有哪些风险?
开源软件在一定程度上是免费的,但要与企业业务紧密结合,仍需要投入一定的人力成本(需要踩坑),以及需要一定的开发能力。当然,只能获取社区支持。另外,既然是开源,也是攻击者研究的对象,没有“绝对”安全的产品。安全类产品一旦出现漏洞不能及时处理,则形同虚设。
这时候,商用WAF的价值就凸显出来了,国内做的不错的WAF厂有: 远江盛邦(WebRay)、依讯信息、安恒信息 等。商用WAF各厂都有特色,具体可以直接与厂商联系。
后记:这篇讨论WAF的稿子,明明有一肚子话要说,可是写了又删,再写再改,连续折腾了几天,难道我不是明明?忽然发现,20年前30分钟写1200字作文的小伙儿已经不知道去哪儿了。我承认,成长会让我们失去一些能力。但解决这个问题的最佳方案就是 持续成长 。关注 河南CISP 公众号,我们一同成长!学习交流,请在公众号回复 “ 我要入群 ” 获得入群方式(人数够100人拉群)。
声明:本文来自河南CISP,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如需转载,请联系原作者获取授权。
以上所述就是小编给大家介绍的《企业安全建设(二):构建开源企业WAF》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 2019,企业使用开源的新时代
- 60% 的企业代码库包含开源漏洞
- 开源 | 夜莺 Nightingale:滴滴开源的企业级监控解决方案
- 企业级开源治理里程碑——开源治理论坛精彩抢先看
- GoodERP 17.4.3 发布,开源企业应用
- 红帽宣布发布企业容器仓库开源项目 Quay
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ggplot2:数据分析与图形艺术
哈德利·威克姆 (Hadley Wickham) / 统计之都 / 西安交通大学出版社 / 2013-5-1 / CNY 46.00
中译本序 每当我们看到一个新的软件,第一反应会是:为什么又要发明一个新软件?ggplot2是R世界里相对还比较年轻的一个包,在它之前,官方R已经有自己的基础图形系统(graphics包)和网格图形系统(grid包),并且Deepayan Sarkar也开发了lattice包,看起来R的世界对图形的支持已经足够强大了。那么我们不禁要问,为什么还要发明一套新的系统? 设计理念 打个比......一起来看看 《ggplot2:数据分析与图形艺术》 这本书的介绍吧!