Тюрьмы улучшают концепцию традиционной среды chroot несколькими способами. В традиционной среде chroot процессы ограничены только той частью файловой системы, к которой они имеют доступ.

Одним из инструментов, который можно использовать для повышения безопасности системы FreeBSD, являются тюрьмы.

Начиная с FreeBSD 4.X доступны джейлы, которые продолжают совершенствоваться в своей полезности, производительности, надежности и безопасности.

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

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

Тюрьмы улучшают концепцию традиционной среды chroot несколькими способами. В традиционной среде chroot процессы ограничены только той частью файловой системы, к которой они имеют доступ. Остальные системные ресурсы, системные пользователи, запущенные процессы и сетевая подсистема совместно используются синхронизированными процессами и процессами хост-системы.

Тюрьмы расширяют эту модель, виртуализируя доступ к файловой системе, множеству пользователей и сетевой подсистеме. Более точные элементы управления доступны для настройки доступа в тюрьму. Тюрьмы можно рассматривать как тип виртуализации на уровне операционной системы.

Тюрьма характеризуется четырьмя элементами:

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

Имя хоста: которое будет использоваться тюрьмой.

IP-адрес: который назначен тюрьме. IP-адрес тюрьмы часто является псевдонимом адреса для существующего сетевого интерфейса.

Команда: путь к исполняемому файлу для запуска внутри тюрьмы. Путь относительно корневого каталога среды тюрьмы.

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

Корневая учетная запись тюрьмы не может выполнять операции с системой за пределами связанной среды тюрьмы.

Больше: