TOMOYO Linux (Русский)
TOMOYO Linux это имплиментация системы управления доступом (MAC) Разработка началась в 2003 году и поддерживается NTT Data Corporation. TOMOYO Linux позволяет устанавливать рамки каждому процессу в системе, и может быть использован для ограничения доступа, как и для анализа поведения.
Для обеспечения безопасности TOMOYO Linux может быть использован для "MAC,который закрывает все практические цели для большинства пользователей и остается достаточно управляемым для системных администраторов". TOMOYO Linux не предназначен для профессионалов в области компьютерной безопасности, но инструмент для продвинутых пользователей и системных администраторов.
Contents
Введение
TOMOYO Linux делает попытку сделать систему, в которой все происходит по ожидаемому, простому пути:
- Сделать все запросы к ядру, которые происходят в системе уже ожидаемыми.
- Позволить администратору составлять правила системы безопасности, которые разрешают только ожидаемые действия.
В отличии от AppArmor, TOMOYO Linux предназначен для защиты всей системы от атакующего который использует уязвимости в прикладных программах. TOMOYO Linux сопоставляет действия приложения, полученные в ходе тестового запуска с теми что происходит в реальных условиях, тем самым записывая или\и блокируя подозрительную активность..
TOMOYO Linux не для тех пользователь, которые ждут готовую систему правил подставляемую кем либо.Использование TOMOYO Linux требует создания правил безопасности и нуля в особом "режиме обучения" в котором система будет автоматически создавать файлы правил которые содержат необходимые и достаточные настройки доступа уникальные для отдельной системы. TOMOYO Linux отчитывается об о всём что происходит с системой и может быть использованы для аналитики. Это включает трассировку и отчеты, что было запущено каждой прикладной программой и какие попытки доступа к сетям или файлам были сделаны.
Таблица сравнения TOMOYO Linux с AppArmor, SELinux и SMACK.
Разрабатываемые ветки
TOMOYO Linux 1.x исходная ветвь разработки. Первый официальный релиз TOMOYO Linux произошел 11 Ноября 2005. Он был выполнен в виде патча к ядру и в настоящее время находится в активной стадии разработки и может сосуществовать с другими системами безопасности, такими как SELinux, SMACK и AppArmor.
TOMOYO Linux 2.x В Июне 2009 года была включена в состав ядра 2.6.30 и использует стандартный механизм Linux Security Module (LSM). Однако , возможностей LSM недостаточно, что бы в полной мере реализовать TOMOYO Linux. По этому разные ветки кода не могут иметь одинаковый функционал. Это сравнение двух веток.
AKARI Основный на 1.х ветке TOMOYO Linux проект выполненный в виде загружаемого модуля ядра(LKM). Это дает преимущество в том что пользователю не нужно накладывать патч на ядро и пересобирать ядро. Эта таблица содержит сравнение AKARI с TOMOYO Linux 1.x и 2.x.
TOMOYO Linux 1.x
Реализация TOMOYO Linux 1.x используя модифицированное ядро предостовляет полный функционал TOMOYO Linux. На ядро необходимо наложить патч.
Необходимо модифицированное ядро kernel26-ccs и установленный набор прикладных утилит. Модифицированное ядро и набор утилит можно установить через AUR Ядро kernel-ccs и пакет утилит ccs-tools.
Начальная настройка
В первую очередь нужно инициализировать правила безопасности:
# /usr/lib/ccs/init_policy
Правила безопасности находятся в директории /etc/css/ и могут быть настроены запуском:
# ccs-editpolicy
AKARI
Ограничения AKARI
AKARI имеет преимущество в том что для него не требуется модифицироанное ядро. Если вам необходим TOMOYO Linux в большей степени для исследования системы, то AKARI - это простейший метод достижения. Однако, всё же некоторые условия должны быть соблюдены. При конфигурации ядра, должны быть установлены следующие опции в .config:
CONFIG_SECURITY=y [требуется] CONFIG_KALLSYMS=y [требуется] CONFIG_PROC_FS=y [требуется] CONFIG_MODULES=y [требуется] CONFIG_SECURITY_PATH=y [опционально: для использования абсолютных путей] CONFIG_SECURITY_NETWORK=y [опционально: для использования сетевых ограничений]
- Настройка сложных сетевых ограничении невозможна по причине отсутствия нужной функциональности в LSM
- Использование wikipedia:Capability-based_security не возможно.
- Возможно некоторое снижение производительности по сравнению с TOMOYO Linux 1.x
Установка
AKARI и набор прикладных утилит должны быть установлены в первую очередь. Пакет AKARI и пакет с утилитами ccs-tools доступны в AUR.
Параметры загрузчика должны быть изменены для инициализации AKARI:
Пример для GRUB Legacy
title Arch Linux root (hd0,0) kernel /boot/vmlinuz26 root=/dev/sda1 ro init=/sbin/ccs-init initrd /boot/kernel26.img
Начальная настройка
В первую очередь нужно инициализировать правила безопасности:
# /usr/lib/ccs/init_policy --module_name=akari
Правила безопасности находятся в директории /etc/css/ и могут быть настроены запуском:
# ccs-editpolicy
TOMOYO Linux 2.x
Ограничения TOMOYO Linux 2.x
Имплементция TOMOYO Linux 2.x включена в основную ветку разработки ядра Linux, но всё еще не полна, но всё еще эффективна для управления доступом к файлам, но всё ещё не поддерживает следующие аспекты:
- атрибуты файлов и управление пространством имен.
- capabilities
- сеть.
- сигнал.
- переменные окружения.
- резервация порта.
Установка
TOMOYO Linux 2.x часть ядра Linux и требует следующие опции в дополнение к названым ранее :
CONFIG_SECURITY_TOMOYO=y
Так как поддержка в ядре уже есть необходимо установить только набор прикладных утилит:
- pacman -S tomoyo-tools
Для ядер начиная с 2.6.30 до 2.6.35, необходимо использовать tomoyo-tools 2.2.x. Пакет доступен в AUR
Начальная настройка
В первую очередь должны быть инициализированы политики безопасности:
# /usr/lib/tomoyo/init_policy
Политики безопасности находятся в директории /etc/tomoyo/ и могут быть настроены запуском:
# tomoyo-editpolicy
Использование
Важно обратиться к документации TOMOYO Linux или AKARI:
Запустите редактор политик для начала настройки. Если используется TOMOYO Linux 1.x или AKARI тогда должны быть использованы утилиты ccs-tools:
# /usr/sbin/ccs-editpolicy
Если используется TOMOYO Linux 2.x тогда следует использовать tomoyo-tools:
# /usr/sbin/tomoyo-editpolicy
Как только система запустится , TOMOYO Linux создаст домены и построит из них древо.Доступ к возможностям аналитики и ограничения применяется через домены. Каждый процесс начинает с одного домена, и имя домена будет передан по наследству запущенным процесса. Имя домена состоит из цепочки имен, составляющих историю запуска. Например домен ядра <kernel>, тогда имя домена процесса /sbin/init запущенного ядром будет"<kernel> /sbin/init". Если /sbin/init запустит /etc/rc.d/rc, то имя домена будет "<kernel> /sbin/init /etc/rc.d/rc"
К каждому домену может быть привязан профиль. Существует четыре профиля по умолчанию:
Disabled | Все работает как на обычном ядре. |
Learning | Режим обучения. Не сбрасывать запрос если он не удовлетворяет текущей политике. Добавить запрос в политику. |
Permissive | Разрешающий режим. Не сбрасывать запрос если он не удовлетворяет текущей политике. |
Enforcing | Запрещающий режим. Сбросить запрос. |
Обучающий режим может быть использован для анализа какого либо приложения или всей системы. Все запросы, будут записаны. Так же этот режим может быть использован перед тем как применять запрещающую политику.