如何在 Debian 9 (Stretch) 上使用 Jailkit 创建一个被监禁的 SSH 用户如何在 Debian 9 (Stretch) 上使用 Jailkit 创建一个被监禁的 SSH 用户如何在 Debian 9 (Stretch) 上使用 Jailkit 创建一个被监禁的 SSH 用户如何在 Debian 9 (Stretch) 上使用 Jailkit 创建一个被监禁的 SSH 用户
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Debian 9 (Stretch) 上使用 Jailkit 创建一个被监禁的 SSH 用户

本教程适用于这些操作系统版本

  • Debian 9(扩展)
  • Debian 7(Wheezy)

在此页

  1. 1 条初步说明
  2. 2 安装 Jailkit
  3. 3 监禁用户
  4. 4 在 Jailed 环境中运行服务和命令
  5. 5 个链接

本文档介绍如何在 Debian 9 (Stretch) Server 中安装和配置 Jailkit。 Jailkit 是一组实用程序,使用 chroot() 和/或特定命令将用户帐户限制为特定文件。设置一个 chroot shell,一个仅限于某些特定命令的 shell,或者一个 chroot jail 中的守护进程要容易得多,并且可以使用这些实用程序自动化。

众所周知,Jailkit 被用于几家领先 IT 安全公司的网络安全设备、几家大型企业组织的互联网服务器、互联网服务提供商的互联网服务器,以及许多需要保护 cvs、sftp、shell 的小公司和私人用户或守护进程。

1 初步说明

本教程基于 Debian 9 服务器,因此您应该在继续本教程之前设置基本的 Debian 服务器安装。系统应该有一个静态 IP 地址。我在本教程中使用 192.168.0.100 作为我的 IP 地址,使用 server1.example.com 作为主机名。

2 安装 Jailkit

我们将首先下载并安装 Jailkit。在撰写本指南时,Jailkit 的最新可用版本是 2.20。我将下载并安装它,如下所示:

cd /tmp    
wget http://olivier.sessink.nl/jailkit/jailkit-2.20.tar.gz
tar xvfz jailkit-2.20.tar.gz
cd jailkit-2.20

Jailkit 在安装之前需要一些包,我们将按如下方式安装它们:

apt-get install build-essential autoconf automake1.11 libtool flex bison debhelper binutils-gold python

现在我们的系统已经准备好安装 Jailkit,安装如下:

echo 5 > debian/compat
./debian/rules binary
cd ..
dpkg -i jailkit_2.20-1_amd64.deb

它将在 Debian Server 中安装 Jailkit,我们可以从 /tmp 中删除额外的包:

rm -rf /tmp/jailkit*

3 监禁用户

现在我们将创建一个使用 Jailkit 被监禁的用户:

adduser srijan

在我的例子中,我正在创建用户 srijan,您可以使用任何名称。

接下来我们查看/etc/passwd 中用户srijan 的信息为:

egrep srijan /etc/passwd

接下来,我们将监禁创建的用户。为 Jail 环境创建目录 /jail:

mkdir /jail

现在我们将为 Jail 提供一些默认的程序环境:

jk_init -v /jail netutils basicshell jk_lsh openvpn ssh sftp

我们也可以提供其他值,Jail 环境的完整列表可以在文件中查看

nano /etc/jailkit/jk_init.ini

现在 Jail 准备就绪,只需在环境中添加用户:

jk_jailuser -m -j /jail/ srijan

再次检查 /etc/passwd 中用户 srijan 的值:

egrep srijan /etc/passwd

现在我们的用户已添加到 Jailed 环境中。我将使用 IP 192.168.0.100 将 Debian 服务器连接到 bash 终端:

ssh 

由于用户没有日志外壳,连接正在关闭,让我们将其添加到 Jail 的配置文件中:

nano /jail/etc/passwd
root:x:0:0:root:/root:/bin/bash
nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
#srijan:x:1001:1001:,,,:/home/srijan:/usr/sbin/jk_lsh
srijan:x:1001:1001:,,,:/home/srijan:/bin/bash

它将为被监禁的用户 srijan 添加 bash 提示符。现在再次尝试使用 srijan 用户进行 ssh 登录,您将能够登录:

ssh 

现在检查根目录的内容,你会发现它有这样的内容:

ls /

4 在 Jailed 环境中运行服务和命令

Jail 可用于在 Jailed 环境中运行服务。假设我们想在 Jailed 环境中运行任何服务,那么我们将为此使用 jk_chrootlaunch 命令:

jk_chrootlaunch -j /jail -u srijan -x 'service apache2 start'

这里我启动Apache的服务。同样,您可以在 Jailed 环境中使用它运行任何服务或守护进程。

假设我们想在 Jail 环境中运行特定命令,那么我们将使用 jk_cp。让我们在 Jailed 环境中测试它,当我们运行 cal 时它显示如下:

cal

这意味着 Jail 环境不知道 cal 命令,现在我将在 Debian Server 中添加它,如下所示:

jk_cp  -v -j /jail/ /usr/bin/cal

再次在 Jailed 环境中运行 cal 命令:

cal


所以我们添加了 Jailed 环境的命令。恭喜!现在我们已经成功地在 Debian 9 中配置了 Jail 环境:)

5个链接

  • Debian:
  • Jailkit:https://olivier.sessink.nl/jailkit/

©2015-2025 艾丽卡 support@alaica.com