safeguard:基于 eBPF+LSM 的 Linux 安全审计与控制工具项目

Linux security audit, control, and behavior analysis tools based on KRSI(eBPF+LSM)

分支6Tags1
文件最后提交记录最后更新时间
1 年前
1 年前
1 年前
4 个月前
1 个月前
1 个月前
1 个月前

safeguard: Linux security audit, control, and behavior analysis tools based on KRSI(eBPF+LSM)

针对操作系统、内核安全,safeguard是一个基于eBPF的Linux审计观测工具,可以实现安全操作的拦截及审计记录。项目采用libbpfgo库,使用go语言实现顶层控制

特性

  • 审计:日志记录配置范围内的行为
  • 控制:针对文件,进程,网络的安全访问控制
  • 行为分析:收集信息,进行资源,热点,异常等分析
  • 主机管理:从安全角度自动化构建细粒度资产信息
  • 风险管理:精准发现内部风险,快速定位问题并有效解决安全风险
  • 入侵检测:提供多锚点的检测能力,能够实时、准确的感知入侵事件,发现失陷主机,并提供对入侵事件的响应手段。

architecture

编译

内核配置参考 https://gitee.com/openeuler/safeguard/blob/master/INSTALL.md

$ git clone --recursive https://gitee.com/openeuler/safeguard.git && cd safeguard
# $ vagrant up && vagrant reload
# $ vagrant ssh

$ make build

$ sudo ./build/safeguard --config config/safeguard.yml

安装

$ wget https://gitee.com/openeuler/safeguard/releases/download/v2.0.1/safeguard-2.0.1-2.ule3.x86_64.rpm
$ yum install safeguard-2.0.1-2.ule3.x86_64.rpm
$ sudo safeguard --config /etc/safeguard/safeguard.yml

项目功能(部分位于开发阶段)

审计控制

文件:

  • 追踪文件系统的活动,包括文件的打开、关闭、读写、删除等。
  • 修改文件系统的行为,例如拦截某些文件操作,或者实现自定义的安全策略。 安全策略:
    1. 拦截或重定向某些文件操作,使用eBPF来拦截对敏感文件的读写操作,或者重定向对某些文件的访问到其他位置。
    2. 实现自定义的访问控制,使用eBPF来检查对文件的访问者的身份、权限、环境等信息,然后根据一些规则来允许或拒绝访问。
    3. 实现自定义的审计和监控,使用eBPF来记录对某些文件的操作的详细信息,如操作者、时间、内容等,并将这些信息输出到日志。

进程:

  • 追踪进程的生命周期,例如进程的创建、终止、调度、上下文切换等。
  • 修改进程的行为,例如注入或修改某些系统调用,或者实现自定义的调度策略。

网络:

  • 追踪网络的活动,例如网络包的发送、接收、转发、丢弃等。
  • 修改网络的行为,例如过滤或重写某些网络包,或者实现自定义的路由策略。

行为分析

  • 收集并分析文件系统的性能、热点、异常等。(选择合适的eBPF程序类型和挂载点,例如,使用kprobes或tracepoints来追踪文件系统相关的内核函数或事件,如vfs_read, vfs_write, ext4_sync_file等。)

  • 收集信息来分析进程的资源消耗、状态变化、依赖关系等(do_fork, do_exit, schedule等)。

  • 收集信息,分析网络的流量、延迟、丢包率、拥塞等(使用tc或xdp来追踪网络包的发送、接收、转发、丢弃等事件)。

主机管理

从安全角度自动化构建细粒度资产信息,支持对业务层资产精准识别和动态感知,让保护对象清晰可见。

  • 账号展示
  • 端口列表
  • 进程列表

风险管理

精准发现内部风险,快速定位问题并有效解决安全风险,提供详细的资产信息、风险信息以供分析和响应。

  • 漏洞检测
  • 安全补丁
  • 弱密码
  • 系统风险
  • 账号风险

入侵检测

提供多锚点的检测能力,能够实时、准确的感知入侵事件,发现失陷主机,并提供对入侵事件的响应手段。

  • 暴力破解
  • 异常登录
  • 反弹shell
  • 本地提权
  • 后门检测,Web后门

LICENSE

safeguard's userspace program is licensed under Apache License 2.0 License.
eBPF programs inside pkg/bpf directory are licensed under GNU General Public License version 2.

项目介绍

Linux security audit, control, and behavior analysis tools based on KRSI(eBPF+LSM)

定制我的领域