Linux上文件监控的踩坑分享

Linux上文件监控的踩坑分享 前言 在Linux主机安全产品HIDS中,文件监控是特别常见的需求,在实现方案上,Linux内核层提供了文件变动的通知机制fsnotify,然而,在高磁盘IO的主机上、不同版本的内核上以及海量监控目标中,将会面临哪些问题呢?业务性能与安全性如何做更好地取舍均衡?今天,我的小伙伴阿松给大家分享以下文件监控系统的建设历程。 文件监控的实现 Linux系统上,常见的文件监控一般有如下几种实现方案。 粗暴的周期性轮询,在内核不支持(比如伪文件系统),

如何给eBPF程序写单元测试

前言 eBPF程序还很年轻,周边质量建设体系还刚起步,常用于Linux内核上的监控跟踪,本身比较底层,测试成本很高。对于常写eBPF的同学,特别头疼的是快速迭代的项目,如何保证功能正常。如何给eBPF程序写单元测试呢?译者看到一篇文章,分享给大家。本文使用openAI翻译,如有错误,请看原文:Unit Testing eBPF Programs 当然,原文在 Hacker News上也被热烈讨论,大佬Daniel给出自己的看法,文章质量也很高,推荐看看。 BPF_PROG_

不及格的答卷

背景 前段时间,我参加公司的晋升考核,没通过。是的,失败了。 回顾 回顾这一年,在研发中,我曾在团队最低谷时,冲锋陷阵,带领大家逆转战局反败为胜,拿出漂亮的成绩单; 在推动中,我负责的项目也能做到做一个成一个,带领团队拿到很好的成绩,持续给团队信心与成就感; 在态度上,我从不会放弃任何一个疑难杂症,也都会以身作则,躬先表率,理清楚每一个细节; 在工时上,我也依然是遥遥领先的那位,每次深夜时,诺大的办公室,只有听到我敲击键盘的声音。 我以为我的产出、业绩、责任心、态度来说,我不

TLS handshake Fatal Alert Close Notify的错误排查

前置知识 浏览器同源安全策略 WebSocket\TCP通讯协议 HTTPS TLS 握手机制 CA证书信任链 strace、dtruss系统调用动态跟踪 keychain安全机制 macOS错误日志体系 背景 前段时间接了一个项目—-MOA,一款安装在macOS、Win办公电脑软件,是公司内部安全管理客户端,用来保护员工PC安全的软件。 我之前没有接触过macOS的开发,对objective-C(以下简称OC)语言也不熟悉,我这边的几个研发兄弟也一样,都是做

藏在你心底的哪吒

缘分 前几天在微博上看到《哪吒之魔童降世》的贴文,用的图片是下面这样,烟熏死鱼眼,一副玩世不恭的样子,看到后,我的内心是很抵触的,很拒绝的。 随后,在朋友圈里,又看到多位朋友在推荐这部电影,不乏对动漫电影有很高品位的大佬。我觉得有必要了解一下。 电影中讲的是哪吒被魔丸附体,注定在三年后遭遇天雷劫的先天宿命;在成长中,伴随着后天正能量、负能量的两种外在因素影响,一路打破偏见,遵从内心,倔强成长的故事。 偏见 人心的成见是座大山,电影中的白胡子瞎眼老头出现两次,一次是哪吒刚出生

你不在意的HTTPS证书吊销机制

缘起 偶刷《长安十二时辰》,午睡时,梦到我穿越到了唐朝,在长安城中的靖安司,做了一天的靖安司司丞。 当徐宾遇害消失的时候我不在司内,当时的情形我不得而知。后来徐宾醒了,据他描述说“通传陆三”是暗桩,险些致徐宾于死地。而擅长大案牍术的高智商人才居然被一个普通通传的几句话骗至险境,实在丢了我的脸。 陆三是通传,熟知靖安司的号令传递系统望楼信号,他是暗桩的消息,传遍整个机构。这让张小敬和姚汝能认为望楼系统已无法完成消息保密传送的功能,其实他们根本不了解这望楼。 整个望楼系统由“

保障IDC安全:分布式HIDS集群架构设计

详情见我司技术博客: [微信公众号]保障IDC安全:分布式HIDS集群架构设计 [官方博客]保障IDC安全:分布式HIDS集群架构设计 关注微信公众号,手机阅读更方便: 程序员的阅微草堂 莿鸟栖草堂 由 CFC4N 创作,采用 知识共享 署名-非商业性使用-相同方式共享(3.0未本地化版本)许可协议进行许可。基于http://www.cnxct.com上的作品创作。转载请注明转自:保障IDC安全:分布式HIDS集群架构设计

openresty的unescape_uri函数处理百分号后面字符的小特性

我们的 WAF (Web Application Firewall)是搭建在 nginx 上,使用 lua modules 来实现的。也就是 openresty 的 luajit 功能来实现WEB 攻击判断。处理收到的请求时,一般会进行unescape_uri 处理后,再走规则匹配。 在离线分析的机器学习识别结果里,发现有这么一条漏报/aa%20a?openId=%%3Cscript%3E%,这个问题却出乎我们意料,为此,开始排查产生该现象的原因。 问题描述 源字符串: /