jail-shell - 安全受限 shell


GPL
Linux
C/C++

软件简介

简介

==============
jail-shell安全受限shell是一个Linux环境下的安全工具,主要使用chroot,
namespace技术,限制用户执行特定的命令,和访问特定的目录;可将用户通过ssh, scp, sftp,telnet,
终端等方式登录限制到安全的运行环境中。

相比ssh自带的chroo功能,有易于使用,自动生成chroot环境,支持Namespace隔离,支持chroot环境只读,目录文件映射等功能。

可用于:

  1. webhost的ssh,sftp受限访问;

  2. 企业管理员的权限分级管理;

  3. 一体化产品的权限控制;

功能列表

==============
1.易于使用
通过配置文件,自动生成chroot运行环境,提供jail-shell管理命令方便添加、查看、删除受限用户,以及安装、删除chroot运行环境。
2.chroot技术限制用户访问范围
采用Linux chroot技术,限制用户的目录访问范围,避免用户访问受限信息,防止用户对系统做破坏。
3.目录只读保护
对chroot运行环境进行只读保护,避免需要保护的目录被修改、文件被破坏;避免用户创建设备文件,访问系统受限文件,并避免执行外部可执行文件。
4.namespace限制用户可见范围
采用Linux namespace技术,限制用户pid,mount目录的可见范围,避免信息泄漏。
5.系统命令通道
提供系统命令代理通道,允许用户在chroot环境中执行真实系统的受限命令,在提供必要功能的情况下,保护系统。
6.自动处理chroot环境命令依赖
只需要提供命令列表,即可自动将命令依赖的动态库复制到chroot环境,避免手工复制动态库的繁杂工作。
7.capabilities限制
丢弃关键的capabilities权限,避免系统,chroot运行环境被rootkit破解。
8.多Linux操作系统支持
支持redhat, sles, debian及其衍生的操作系统。

架构说明

==============

安全受限shell包含3部分,pam插件,jail-cmd命令代理,jail-shell命令工具。
pam_jail_shell插件:
主要控制登录的用户,根据配置列表,将登录的用户采用chroot, namespace技术,限制在特定的受限目录中。
jail-cmd命令代理
主要将命令转发到真实的系统中,如用户密码修改,或其他用户相关的业务命令的执行,并对命令做注入检测,防止注入
jail-shell工具
主要提供管理安全受限shell的功能,让用户更加易于使用,包括用户的添加、删除,shell的配置,安装,删除。

说明

1. 用户通过ssh,
终端,telnet等shell管理工具登录到系统后,pam_jail_shell插件根据配置列表,将登录用户的访问范围限制在指定的chroot环境中。2.
管理员通过jail-shell命令,管理受限用户名单列表,以及管理chroot环境的命令列表,并配置目录的访问范围。
3. jail-cmd代理用户执行的系统命令,辅助实现必要的业务功能。

使用步骤

==============
下载源代码,编译安装完成后,可使用 jail-shell 命令管理安全受限shell,通过 jail-shell -h 查看命令帮助
在使用上,步骤如下:
1. 使用 useradd username 命令添加用户到系统中。
2. 使用 jail-shell jail 创建安全受限shell配置,并创建受限运行环境。
3. 使用 jail-shell user 将用户添加到受限系统中。