Безопасность

Как установить Linux Chroot Jails

Как установить Linux Chroot Jails
Системы Linux, особенно те, которые предназначены для критически важных служб, требуют знаний экспертного уровня для работы и основных мер безопасности.

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

В этом руководстве мы обсудим процесс использования chroot jail для управления повреждениями системы в случае атаки. Мы рассмотрим, как изолировать процессы и подпроцессы в конкретной среде с привилегиями ложного root. Это ограничит процесс определенным каталогом и запретит доступ к другим системным областям.

Краткое введение в chroot jail

Chroot jail - это метод изоляции процессов и их подпроцессов от основной системы с использованием ложных привилегий root.

Как уже упоминалось, изоляция определенного процесса с использованием поддельных привилегий root ограничивает ущерб в случае злонамеренной атаки. Chrooted-службы ограничены каталогами и файлами в своих каталогах и не сохраняются после перезапуска службы.

Зачем использовать chroot jail

Основное предназначение chroot jail - это мера безопасности. Chroot также полезен при восстановлении утерянных паролей путем подключения устройств с живых носителей.

Есть различные преимущества и недостатки установки chroot jail. Это включает:

Преимущества

Недостатки

Как создать простую Chroot-тюрьму

В этом процессе мы создадим простую клетку chroot с 3 командами, ограниченными этой папкой. Это поможет проиллюстрировать, как создать тюрьму и назначить различные команды.

Начните с создания основной папки. Вы можете думать об этой папке как о папке / в основной системе. Имя папки может быть любым. В нашем случае мы называем это / chrootjail

судо mkdir / chrootjail

Мы будем использовать этот каталог как фальшивый корень, содержащий команды, которые мы ему назначим. Для команд, которые мы будем использовать, нам потребуется каталог bin (содержащий исполняемые файлы команд), и т. Д., каталог (содержащий файлы конфигурации для команд).

Внутри папки / chrootjail создайте эти две папки:

sudo mkdir / chrootjail / и т. д., bin

Следующим шагом является создание каталогов для динамически подключаемых библиотек для команд, которые мы хотим включить в тюрьму. В этом примере мы будем использовать команды bash, ls и grep.

Используйте команду ldd, чтобы перечислить зависимости этих команд, как показано ниже:

sudo ldd / bin / bash / bin / ls / bin / grep

Если вы не находитесь в папке bin, вам необходимо передать полный путь к командам, которые вы хотите использовать. Например, ldd / bin / bash или ldd / bin / grep

Из вывода ldd выше нам нужны каталоги lib64 и / lib / x86_64-linux-gnu. Внутри каталога jail создайте эти папки.

sudo mkdir -p / chrootjail lib / x86_64-linux-gnu, lib64

Создав каталоги динамической библиотеки, мы можем перечислить их в виде дерева, как показано ниже:

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

Мы создаем среду, похожую на обычный корневой каталог системы Linux. Разница в том, что внутри этой среды разрешены только определенные команды, а доступ ограничен.

Теперь, когда мы создали корзину. так далее., lib и lib64, мы можем добавить необходимые файлы в соответствующие каталоги.

Начнем с двоичных файлов.

sudo cp / bin / bash / chrootjail / bin && sudo cp / bin / ls / chrootjail / bin && sudo cp / bin / grep / chrootjail / bin

Скопировав двоичные файлы для нужных нам команд, нам потребуются библиотеки для каждой команды. Вы можете использовать команду ldd для просмотра файлов для копирования.

Начнем с bash. Для bash нам потребуются следующие библиотеки:

/ библиотека / x86_64-Linux-GNU / libtinfo.так.6
/ библиотека / x86_64-Linux-GNU / libdl.так.2
/ библиотека / x86_64-Linux-GNU / libc.так.6
/ lib64 / ld-linux-x86-64.так.2

Вместо того, чтобы копировать все эти файлы по одному, мы можем использовать простой цикл for, чтобы скопировать каждую библиотеку во всех библиотеках в / chrootjail / lib / x86_64-linux-gnu

Давайте повторим этот процесс для команд ls и grep:

Для команды ls:

Для команды grep:

Затем внутри каталога lib64 у нас есть одна разделяемая библиотека для всех двоичных файлов. Мы можем просто скопировать его с помощью простой команды cp:

Затем давайте отредактируем основной файл входа в bash (находится в / etc / bash.bashrc в Debian), чтобы мы могли настроить приглашение bash по своему вкусу. Используя простые команды echo и tee, как показано ниже:

sudo echo 'PS1 = "CHROOTJAIL #"' | Судо тройник / chrootjail / и т. д. / bash.bashrc

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

sudo chroot / chrootjail / bin / bash

Вы получите привилегии root с запросом, аналогичным тем, которые были созданы в приведенных выше командах echo и tee.

После входа в систему вы увидите, что у вас есть доступ только к командам, которые вы включили при создании тюрьмы. Если вам нужно больше команд, вы должны добавить их вручную.

ПРИМЕЧАНИЕ: Поскольку вы включили оболочку bash, у вас будет доступ ко всем встроенным командам bash. Это позволяет вам выйти из тюрьмы с помощью команды exit.

Заключение

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

Чтобы попрактиковаться в том, что вы узнали, попробуйте создать тюрьму apache2.

НАМЕКАТЬ: Начните с создания корневого каталога, добавьте файлы конфигурации (etc / apache2), добавьте корень документа (/ var / www / html), добавьте двоичный файл (/ usr / sbin / apache2) и, наконец, добавьте необходимые библиотеки (ldd / usr / sbin / apache2)

Установите последнюю версию игры OpenRA Strategy в Ubuntu Linux
OpenRA - это игровой движок Libre / Free Real Time Strategy, воссоздающий ранние игры Westwood, такие как классическая Command & Conquer: Red Alert. Р...
Установите последнюю версию эмулятора Dolphin для Gamecube и Wii в Linux
Эмулятор Dolphin позволяет вам играть в выбранные вами игры Gamecube и Wii на персональных компьютерах (ПК) Linux. Являясь свободно доступным игровым...
Как использовать чит-движок GameConqueror в Linux
В статье содержится руководство по использованию чит-движка GameConqueror в Linux. Многие пользователи, играющие в игры на Windows, часто используют п...