基于Golang打造开源的WAF网关


风晓
风晓 2023-12-30 13:54:02 52039
分类专栏: 资讯

【背景】

 

 

在互联网行业,Google将安全做到基础设施里面,素来是各大公司学习的榜样,在Web方面,通过GFE (Google Front-End) 统一对外发布,业务只需要在GFE登记,GFE就会调取正确的证书,保障用户到GFE的TLS连接安全。

 

 

Microsoft在Web方面,有一款叫做Azure Application Gateway的产品,提供了统一的Web路由、负载均衡,以及WAF(Web应用防火墙)功能。

遗憾的是,这几款产品均不能用于私有化部署,Google Front-End 和 Azure Application Gateway只服务于他们自身业务以及他们自己的云客户。想要使用他们的产品,得使用他们的云服务,不然就只能望洋兴叹了。

【对标与产品方案设计】

鉴于此,笔者希望借鉴GFE和Azure应用网关,打造一款这样的应用安全基础设施级产品,用于自己个人网站的防御,这款产品需要具备:

1.统一的网络入口,可以有多个节点,配合负载均衡进行调度,即应用网关(Application Gateway);

 

 

2.WAF (Web应用防火墙) 功能,可拦截常见的Web入侵行为(如SQL注入/命令注入/XSS/Webshell上传或连接)、数据泄露事件等;

上图中红色的叉叉部分表示拦截恶意攻击行为。

 

 

3.可应对CC攻击及简单的刷单场景,达到设定阈值时能够拦截或展示验证码。

 

 

【特色】

当然,上面这些是基本的功能。笔者还希望这是一款有特点、差异化的产品:

1.不要安装Agent

Agent维护起来比较麻烦,用浏览器配置可以更简单,比如配置应用:

 

 

2.支持HTTPS

还要能够把证书管理起来,把私钥保护起来,不再将证书文件、私钥文件直接明文的存放在服务器某个目录下(防止黑客偷走私钥);只让网关管理人员申请和配置证书,业务人员不用接触证书文件就可以启用HTTPS。

 

 

3.联动

很多WAF的一条策略只能检查一个地方(如GET或POST参数值),如果请求需要结合响应共同来判定 (或多个组合条件),就做不到了,这一点一定要突破,做到多个检查点可组合,特别是请求(Request)和响应(Response)能够关联(组合)起来。

4.非法域名拦截

曾经有人用fuck_your_domain.com 这样的域名指向your_domain.com 网站,如果服务器配置不当,有可能会正常响应请求,给公司带来公关风险。所以,当非法域名指向过来的时候,应该拒绝响应。

5.证书质量

不是所有的HTTPS都是安全的,错误配置、算法的选用均有可能踩坑,如SSL 1.0, SSL 2.0, SSL 3.0以及TLS 1.0 均已出现漏洞。典型的,如果您的业务涉及到资金支付,PCI-DSS认证会对证书质量有特别的要求,如必须使用TLS 1.1或以上的协议版本、必须使用前向安全算法(Forward Security)用于保障安全的密钥交换等。因此,网关默认就需要启用安全保障。

【开源】

是的,笔者较早前利用周末陪孩子上课的时间,构建了这样一个只有基本功能的版本(Janusec Application Gateway),并用在个人网站上。现在跟大家分享一下:

github.com/Janusec/janu

这是一款基于Golang打造的应用安全网关,具备WAF(Web应用防火墙)功能及组合策略配置,天然支持HTTPS(符合PCI-DSS认证要求),无需Agent,私钥加密存储在数据库,提供负载均衡和统一的Web化管理入口。

还在继续完善过程中,欢迎star、fork、pull request、提交issue,或下载release体验,共同提升应用安全防御能力。

【备注】

该产品并不能解决所有的安全问题,不能替代抗DDoS攻击产品,也不能替代HIDS产品,更不能代替日常的安全运营工作。但当你打算从零开始构建立体的安全防御体系(特别是应用安全防御体系)的时候,能够在关键的路径上,切断典型的入侵尝试,挡住大部分探测payload,大幅提高入侵难度,同时从一开始就能够利用此作为网关基础设施推广使用HTTPS,保护外网数据传输安全。

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=32652
赞同 0
评论 0 条
风晓L1
粉丝 1 发表 522 + 关注 私信
上周热门
WPS City Talk · 校招西安站来了!  3757
服贸会|范渊荣获年度创新领军人物!王欣分享安恒信息“AI+安全”探索  3683
有在找工作的IT人吗?  3646
字节跳动“安全范儿”高校挑战赛来袭!三大赛道,赢 80 万专项基金!  3605
阿B秋招线下宣讲行程来啦,速速报名!  3599
字节跳动校招 | 电商业务 2025 校园招聘进行中!五大职类热招,等你来投!  3590
麒麟天御安全域管平台升级!为企业管理保驾护航  3575
烽火通信2025届校园招聘宣讲行程发布!!  3411
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  3372
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  3343
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
如何玩转信创开放社区—从小白进阶到专家 15
信创开放社区邀请他人注册的具体步骤如下 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!