NsJail 技术文档

NsJail 技术文档

nsjail A lightweight process isolation tool that utilizes Linux namespaces, cgroups, rlimits and seccomp-bpf syscall filters, leveraging the Kafel BPF language for enhanced security. nsjail 项目地址: https://gitcode.com/gh_mirrors/ns/nsjail

概述

NsJail 是一个用于 Linux 的进程隔离工具,利用 Linux 命名空间子系统、资源限制和 seccomp-bpf 系统调用过滤器来实现隔离。它可以帮助用户隔离网络服务、托管计算机安全挑战(CTF)以及包含侵入性系统调用级别的操作系统模糊测试。

安装指南

系统要求

  • Linux 操作系统
  • 支持 Linux 命名空间、seccomp-bpf 和 cgroups

安装步骤

  1. 克隆项目仓库

    git clone https://github.com/google/nsjail.git
    cd nsjail
    
  2. 编译项目

    make
    
  3. 安装

    sudo make install
    

项目使用说明

基本使用

NsJail 提供了三种不同的操作模式,分别是:

  1. 网络服务隔离(inetd 风格)
  2. 具有私有克隆接口的隔离(需要 root/setuid)
  3. 本地进程隔离

示例

网络服务隔离(inetd 风格)
./nsjail -Ml --port 9000 --chroot /chroot/ --user 99999 --group 99999 -- /bin/sh -i
具有私有克隆接口的隔离(需要 root/setuid)
sudo ./nsjail --user 9999 --group 9999 --macvlan_iface eth0 --chroot /chroot/ -Mo --macvlan_vs_ip 192.168.0.44 --macvlan_vs_nm 255.255.255.0 --macvlan_vs_gw 192.168.0.1 -- /bin/sh -i
本地进程隔离
./nsjail -Mo --chroot /chroot/ --user 99999 --group 99999 -- /bin/sh -i

项目 API 使用文档

命令行参数

  • -Ml:以 inetd 模式运行
  • --port:指定监听端口
  • --chroot:指定 chroot 目录
  • --user:指定用户 ID
  • --group:指定组 ID
  • --macvlan_iface:指定 macvlan 接口
  • --macvlan_vs_ip:指定虚拟 IP 地址
  • --macvlan_vs_nm:指定网络掩码
  • --macvlan_vs_gw:指定网关地址
  • -Mo:以一次性模式运行
  • -Mr:以重新运行模式运行
  • -R:指定要挂载的目录或文件
  • --keep_caps:保留特权

配置文件

NsJail 使用 ProtoBuf 格式的配置文件来定义详细的隔离参数。配置文件可以包含以下内容:

  • 命名空间配置
  • 文件系统约束
  • 资源限制
  • seccomp-bpf 过滤器
  • 网络接口配置
  • cgroups 配置

项目安装方式

NsJail 可以通过源码编译安装,具体步骤如下:

  1. 克隆项目仓库
  2. 编译项目
  3. 安装到系统
git clone https://github.com/google/nsjail.git
cd nsjail
make
sudo make install

通过以上步骤,您可以成功安装并使用 NsJail 进行进程隔离。

nsjail A lightweight process isolation tool that utilizes Linux namespaces, cgroups, rlimits and seccomp-bpf syscall filters, leveraging the Kafel BPF language for enhanced security. nsjail 项目地址: https://gitcode.com/gh_mirrors/ns/nsjail

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

焦如峥Kirstyn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值