UNPKG

arch-wiki-md-repo

Version:

All arch-wiki articles in markdown format, updated every two days.

212 lines (133 loc) 17 kB
[TOMOYO Linux](http://tomoyo.sourceforge.jp/) это имплиментация системы управления доступом (MAC) Разработка началась в 2003 году и поддерживается [NTT Data Corporation](http://www.nttdata.co.jp/en/). TOMOYO Linux позволяет устанавливать рамки каждому процессу в системе, и может быть использован для ограничения доступа, как и для анализа поведения. Для обеспечения безопасности TOMOYO Linux может быть использован для "MAC,который закрывает все практические цели для большинства пользователей и остается достаточно управляемым для системных администраторов". TOMOYO Linux не предназначен для профессионалов в области компьютерной безопасности, но инструмент для продвинутых пользователей и системных администраторов. **Примечание:** Эта страница не предполагает исчерпывающую инструкцию и должно быть использовано в качестве поддержки к основной документации [Руководство пользователя](http://tomoyo.sourceforge.jp/documentation.html) поддерживаемой вместе с проектом. **Tip:** [TOMOYO Linux 2.x](#TOMOYO_Linux_2.x) уже включена в репозитории [community] Arch Linux. Эта ветвь разработки уже близка к возможностям ветки 1.x, но ветка 2.х проще для установи. [TOMOYO Linux 1.x](#TOMOYO_Linux_1.x) для тех кому нужна более сильная система безопасности, пока [AKARI](#AKARI) где то между. ## Contents * [1 Введение](#.D0.92.D0.B2.D0.B5.D0.B4.D0.B5.D0.BD.D0.B8.D0.B5) * [2 Разрабатываемые ветки](#.D0.A0.D0.B0.D0.B7.D1.80.D0.B0.D0.B1.D0.B0.D1.82.D1.8B.D0.B2.D0.B0.D0.B5.D0.BC.D1.8B.D0.B5_.D0.B2.D0.B5.D1.82.D0.BA.D0.B8) * [3 TOMOYO Linux 1.x](#TOMOYO_Linux_1.x) * [3.1 Начальная настройка](#.D0.9D.D0.B0.D1.87.D0.B0.D0.BB.D1.8C.D0.BD.D0.B0.D1.8F_.D0.BD.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0) * [4 AKARI](#AKARI) * [4.1 Ограничения AKARI](#.D0.9E.D0.B3.D1.80.D0.B0.D0.BD.D0.B8.D1.87.D0.B5.D0.BD.D0.B8.D1.8F_AKARI) * [4.2 Установка](#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0) * [4.3 Начальная настройка](#.D0.9D.D0.B0.D1.87.D0.B0.D0.BB.D1.8C.D0.BD.D0.B0.D1.8F_.D0.BD.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_2) * [5 TOMOYO Linux 2.x](#TOMOYO_Linux_2.x) * [5.1 Ограничения TOMOYO Linux 2.x](#.D0.9E.D0.B3.D1.80.D0.B0.D0.BD.D0.B8.D1.87.D0.B5.D0.BD.D0.B8.D1.8F_TOMOYO_Linux_2.x) * [5.2 Установка](#.D0.A3.D1.81.D1.82.D0.B0.D0.BD.D0.BE.D0.B2.D0.BA.D0.B0_2) * [5.3 Начальная настройка](#.D0.9D.D0.B0.D1.87.D0.B0.D0.BB.D1.8C.D0.BD.D0.B0.D1.8F_.D0.BD.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_3) * [6 Использование](#.D0.98.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5) * [7 Ссылки](#.D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8) ## Введение TOMOYO Linux делает попытку сделать систему, в которой все происходит по ожидаемому, простому пути: * Сделать все запросы к ядру, которые происходят в системе уже ожидаемыми. * Позволить администратору составлять правила системы безопасности, которые разрешают только ожидаемые действия. В отличии от AppArmor, TOMOYO Linux предназначен для защиты всей системы от атакующего который использует уязвимости в прикладных программах. TOMOYO Linux сопоставляет действия приложения, полученные в ходе тестового запуска с теми что происходит в реальных условиях, тем самым записывая или\и блокируя подозрительную активность.. TOMOYO Linux не для тех пользователь, которые ждут готовую систему правил подставляемую кем либо.Использование TOMOYO Linux требует создания правил безопасности и нуля в особом "режиме обучения" в котором система будет автоматически создавать файлы правил которые содержат необходимые и достаточные настройки доступа уникальные для отдельной системы. TOMOYO Linux отчитывается об о всём что происходит с системой и может быть использованы для аналитики. Это включает трассировку и отчеты, что было запущено каждой прикладной программой и какие попытки доступа к сетям или файлам были сделаны. Таблица [сравнения](http://tomoyo.sourceforge.jp/wiki-e/?WhatIs#comparison) TOMOYO Linux с [AppArmor](/index.php/AppArmor "AppArmor"), [SELinux](/index.php/SELinux "SELinux") и [SMACK](http://schaufler-ca.com/). ## Разрабатываемые ветки [TOMOYO Linux 1.x](http://tomoyo.sourceforge.jp/1.8/index.html.en) исходная ветвь разработки. Первый официальный релиз TOMOYO Linux произошел 11 Ноября 2005\. Он был выполнен в виде патча к ядру и в настоящее время находится в активной стадии разработки и может сосуществовать с другими системами безопасности, такими как SELinux, SMACK и AppArmor. [TOMOYO Linux 2.x](http://tomoyo.sourceforge.jp/2.3/index.html.en) В Июне 2009 года была включена в состав ядра 2.6.30 и использует стандартный механизм Linux Security Module (LSM). Однако , возможностей LSM недостаточно, что бы в полной мере реализовать TOMOYO Linux. По этому разные ветки кода не могут иметь одинаковый функционал. Это [сравнение](http://tomoyo.sourceforge.jp/comparison.html.en) двух веток. [AKARI](http://akari.sourceforge.jp/) Основный на 1.х ветке TOMOYO Linux проект выполненный в виде загружаемого модуля ядра(LKM). Это дает преимущество в том что пользователю не нужно накладывать патч на ядро и пересобирать ядро. Эта [таблица](http://akari.sourceforge.jp/comparison.html) содержит сравнение AKARI с TOMOYO Linux 1.x и 2.x. ## TOMOYO Linux 1.x Реализация TOMOYO Linux 1.x используя модифицированное ядро предостовляет полный функционал TOMOYO Linux. На ядро необходимо наложить [патч](http://sourceforge.jp/projects/tomoyo/). Необходимо модифицированное ядро kernel26-ccs и установленный набор прикладных утилит. Модифицированное ядро и набор утилит можно установить через AUR Ядро [kernel-ccs](https://aur.archlinux.org/packages.php?ID=44131) и пакет утилит [ccs-tools](https://aur.archlinux.org/packages.php?ID=42606). ### Начальная настройка В первую очередь нужно инициализировать правила безопасности: ``` # /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](https://en.wikipedia.org/wiki/Capability-based_security "wikipedia:Capability-based security") не возможно. * Возможно некоторое снижение производительности по сравнению с TOMOYO Linux 1.x **Примечание:** Ядро Arch Linux начиная с 2.6.36 уже содержит все требуемые опции, для полной функциональности. ### Установка AKARI и набор прикладных утилит должны быть установлены в первую очередь. Пакет [AKARI](https://aur.archlinux.org/packages.php?ID=42608) и пакет с утилитами [ccs-tools](https://aur.archlinux.org/packages.php?ID=42606) доступны в 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 ``` **Примечание:** Ядро Arch Linux начиная с 2.6.36 уже содержит все требуемые опции, для полной функциональности. Так как поддержка в ядре уже есть необходимо установить только набор прикладных утилит: 1. pacman -S tomoyo-tools Для ядер начиная с 2.6.30 до 2.6.35, необходимо использовать tomoyo-tools 2.2.x. Пакет доступен в [AUR](https://aur.archlinux.org/packages.php?ID=42272) ### Начальная настройка В первую очередь должны быть инициализированы политики безопасности: ``` # /usr/lib/tomoyo/init_policy ``` Политики безопасности находятся в директории /etc/tomoyo/ и могут быть настроены запуском: ``` # tomoyo-editpolicy ``` ## Использование Важно обратиться к документации TOMOYO Linux или AKARI: * [TOMOYO Linux](http://tomoyo.sourceforge.jp/documentation.html.en) * [AKARI](http://akari.sourceforge.jp/index.html.en) Запустите редактор политик для начала настройки. Если используется 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 | Запрещающий режим. Сбросить запрос. | Обучающий режим может быть использован для анализа какого либо приложения или всей системы. Все запросы, будут записаны. Так же этот режим может быть использован перед тем как применять запрещающую политику. ## Ссылки * [Страница проекта TOMOYO Linux на SourceForge](http://tomomyo.sourceforge.jp/) * [TOMOYO Linux Wiki](http://tomoyo.sourceforge.jp/wiki-e/) * [Страница проекта AKARI на SourceForge](http://akari.sourceforge.jp/index.html.en) * [AKARI документация](http://akari.sourceforge.jp/index.html.en) * [TOMOYO Linux 1.8.x документация](http://tomoyo.sourceforge.jp/1.8/index.html.en) * [TOMOYO Linux 2.3.x документация](http://tomoyo.sourceforge.jp/2.3/index.html.en) * [Предназначение TOMOYO Linux](http://lwn.net/Articles/263179/) * [Пример политики](http://tomoyo.sourceforge.jp/cgi-bin/lxr/source/centos5.5/domain_policy.conf?v=policy-sample) * [TOMOYO Linux в встроенных системах](http://elinux.org/TomoyoLinux) * [Слайды с PacSec 2007](http://sourceforge.jp/projects/tomoyo/document/PacSec2007-en-demo.pdf)