chaitin / SafeLine

serve as a reverse proxy to protect your web services from attacks and exploits.
https://waf.chaitin.com
GNU General Public License v3.0
13.28k stars 817 forks source link

「开发者面对面」第一期:我提的功能啥时候能上线 #156

Open zclaiqcc opened 1 year ago

zclaiqcc commented 1 year ago

引言

最近一段时间涌入了很多新的社区用户,用户量和社群活跃度都大幅提升,GitHub issue 也多了很多。

image

通过每天和社区用户在各种渠道的沟通交流中,我们收获了很多很有价值的一手场景信息,有的是一些非常不错的交互优化建议,我们也都马上放在版本里面发布了,比如列表的字段展示、排序、筛选等;有的场景确实我们之前没有考虑到,比如自定义规则支持配置「不属于」某个 IP 组;有的场景我们也收到并且考虑了,但是没有考虑清楚如何集成到系统里面比较「优雅」,比如如何简单易用地接入 ACME 自动证书签发和续期。当然也了解到很多用户在上手雷池 WAF 的时候遇到了很多卡点。

以上的种种情况我们都看到了,内部也进行过讨论了,在部分群里也跟一些用户做了深入沟通。但是因为群比较多,issue 也比较分散,很多很有价值的讨论、观点、建议没法很方便地同步给所有人。所以我们考虑开一档定期更新的「开发者面对面」的小“栏目”,通过类似 FAQ 的方式,尽量每周都更新本周的动态,方便更多用户了解到我们在做什么,未来计划要做什么。当然也有一些功能需要各位社区的师傅们一起给我们提提建议,我们内部可能也没完全想清楚,相当于把「产品设计」开源了。

废话不多说,下面开始。

往期传送门

暂无,下期就有了 :)

xxx 功能啥时候上线呀?

首先说声抱歉,我们在加紧搞定各位师傅的需求了。

雷池社区版自 4 月 13 号第一个版本发布之后,保持每周一个版本的迭代节奏,已经持续了超过三个月了。但是一方面受限于产品研发资源(已经加人了),另一方面我们内部也规划了很多“炫酷”的功能,所以没法很快地满足所有师傅的需求。

我们现在只能是把需求的优先级排序收敛到 GitHub issue 里面。欢迎多给我们提 issue,点赞越多,实现得越快:New Issue - chaitin/safeline

比如有师傅应该注意到 v2.1.0 版本 就包含了很多 GitHub issue(甚至有师傅在 release 文案里面都发现了 bug :disappointed_relieved:)

p.s. 这里额外提一点,师傅们点赞的时候,尽量使用下方的 :+1: 表情按钮,手动评论 +1 虽然我们也能看到,但是几十个 issue 排序的时候,这些是不会算到排序里面的。所以大家尽量在第一条 comment 里面点表情的 :+1:,替产品师傅谢谢各位了。

image

p.s.s. 再分享一个隐藏 Tip:在社群和 GitHub issue 上多活跃,也是能玄学加速需求实现的。曾经有一个 issue 区的老熟人,上午提的需求,下午版本发布就加上了 :rocket: :smile:

社区群里提了个问题咋没人回复我

群太多,我们人太少。看到都会及时回复的,但是现在大家都是多线程工作状态,既要完成当周的功能开发,又要回复群里各位师傅的问题,分身乏术。

image

“我上了 WAF 就不好使了,不上 WAF 就没问题”

image image image image image image

PTSD 中...

如上经典话术听起来好像很科学,控制变量嘛。但实际使用中,WAF 是需要和上下游进行交互的,如果整个链路不通,可能的原因其实非常多,很多情况下其实不是 WAF 的问题。

举一个群里遇到的实际例子,1.10.0 版本增加了一个 HTTP Header,如果上游服务器是 JumpServer,就会返回一个 CORS 的异常。但是这个问题是 JumpServer 无法处理反向代理 header 的 bug(他们也很快修复并且发布了补丁,只不过需要自己配置 CSRF_TRUSTED_ORIGINS 参数)。

对于流量接入的问题确实比较复杂,根据我们收到的反馈看,链路不通的问题,大部分是因为站点配置不正确。少数情况下是上下游兼容性问题,可以修改 Nginx conf 来支持(在最新版本里面我们也部分支持了自定义站点 nginx conf)。不管是哪种情况,都需要根据具体配置和流量抓包结果才能判断。如果遇到类似问题,可以在业务服务器前,使用 tcpdump 分别抓取 “流量经过 WAF” “流量不经过 WAF” 两种情况下的数据包,对比一下哪里不同(如何抓包和分析 pcap 数据包,可以搜索 tcpdump + wireshark),才能判断是哪里的问题。

说句心里话,我们写代码的时候总是会尽最大可能使软件完美,如果上来就说有个大问题,其实是对我们很大的伤害。求求大家反馈的时候提供更明确的抓包信息,不要上来就一直重复 “反正没 WAF 的时候好好的,过了 WAF 就不行了”,真的 PTSD 了 :disappointed:

结语

以上就是第一期的内容了,欢迎各位师傅多提 issue,多讨论具体场景 :rocket:

image

觉得社区版还不错的师傅去 chaitin/safeline - GitHub 右上角点个 star,鼓励鼓励我们呗 :smirk: 没有加讨论群的师傅可以扫码进群。

image

放个小预告,下周会围绕一些具体的 GitHub issue 以及社区群里师傅的一些反馈,聊聊我们内部讨论的一些想法。

luweijun1992 commented 1 year ago

牛B,多上新功能~