Как использовать Jailkit Jail Manager в Virtualmin для ограничения пользователей

Вопрос или проблема

Как использовать Jailkit Jail Manager в Virtualmin (Webmin 1.892), чтобы ограничить пользователей в их домашних каталогах, включая виртуальные сайты и все сервисы, работающие под пользователем?

Я настраиваю небольшой хостинг для веб-сайтов и должен отключить доступ ко всему, кроме домашнего каталога пользователя.

Я не хочу использовать FTP или FTPS! У пользователей будет полный доступ по SSH к их системе, и они смогут запускать, например, скрипты NodeJS, Teamspeak и т.д…

Это возможно? Если да, то возможно ли это в Virtualmin или нужна более глубокая настройка.

ДОПОЛНЕНИЕ: Я использую Debian 9

Virtualmin -> выбрать домен/виртуальный сервер -> Опции администрирования -> Изменить лимиты владельца -> раздел ‘Другие ограничения’ -> внизу ‘Чи́стая кампания для пользователя Unix?’

Ответ или решение

Использование Jailkit Jail Manager в Virtualmin для ограничения пользователей в их домашних директориях

Введение

Создание хостинга для небольших веб-сайтов требует от администратора высокой степени контроля над доступом пользователей, особенно когда речь идет о SSH-доступе и выполнении различных служб, таких как NodeJS. В этой статье мы рассмотрим, как ограничить пользователей в Virtualmin с помощью Jailkit Jail Manager, обеспечивая их доступ только к домашним каталогам и интеграцию с веб-службами.

Условия для работы с Jailkit в Virtualmin

Для успешного выполнения задач проверьте, что у вас установлены следующие компоненты:

  1. Debian 9 – операционная система, на которой будет производиться настройка.
  2. Virtualmin – установленная версия, подходящая для работы с Jailkit.
  3. Jailkit – инструмент, который позволит вам создавать "jail" окружение для пользователей.

Установка Jailkit

Для начала необходимо установить Jailkit, если он еще не установлен. Выполните следующие команды в терминале:

sudo apt-get update
sudo apt-get install jailkit

Настройка Jailkit

После успешной установки Jailkit, давайте создадим окружение "jail" для пользователей:

  1. Создание Jail:
    Для настройки окружения выполните следующую команду, заменив <username> на имя пользователя, для которого создается jail:

    sudo jk_init -j /home/jail -n <username> basicshell ssh

    Это создаст директорию /home/jail, в которой будет находиться окружение для пользователя.

  2. Добавление пользователя:
    После создания jail необходимо добавить пользователя в него. Выполните команды:

    sudo useradd -d /home/jail/home/<username> -s /bin/bash <username>
    sudo passwd <username>
  3. Настройка окружения пользователя:
    Важно скопировать необходимые библиотеки и команды в jail:

    sudo jk_cp -j /home/jail -n <username> /usr/bin/node
    sudo jk_cp -j /home/jail -n <username> /usr/bin/teamspeak
  4. Настройка прав доступа:
    Убедитесь, что пользователю разрешен доступ только в его домашний каталог. Для этого откройте файл /etc/ssh/sshd_config и убедитесь, что у вас установлено следующее:

    ChrootDirectory /home/jail
    AllowTcpForwarding no

    После внесения изменений перезапустите SSH сервер:

    sudo systemctl restart sshd

Настройка в Virtualmin

Теперь, когда Jailkit настроен, вы можете интегрировать его с Virtualmin:

  1. Откройте Virtualmin и выберите нужный домен или виртуальный сервер.
  2. Перейдите в раздел Administration Options, выберите Edit Owner Limits.
  3. Найдите раздел Other restrictions и установите флажок на Chroot jail domain Unix user?.
  4. В выпадающем меню выберите созданный jail.

Проверка настройки

После настройки jail и внедрения его в Virtualmin, рекомендуется провести тестирование. Войдите под учетной записью пользователя и убедитесь, что он может запускать только те команды и службы, которые были заранее разрешены.

Заключение

Использование Jailkit в комбинации с возможностями Virtualmin предоставляет вам мощный инструмент для управления доступом пользователей к системе. Это особенно важно в условиях хостинга, когда необходимо обеспечить безопасность и контроль. Следуя приведенным выше шагам, вы сможете создать ограниченное окружение, соответствующее всем вашим требованиям.

Оцените материал
Добавить комментарий

Капча загружается...