Возможно вы искали: 'R4: Ridge Racer Type 4'

May 31 2025 02:08:39
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96425698
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18407
• Обзор The Walking ... 18853
• Обзор DMC: Devil M... 19921
• Обзор на игру Valk... 15921
• Обзор на игру Stars! 17810
• Обзор на Far Cry 3 18000
• Обзор на Resident ... 16063
• Обзор на Chivalry:... 17561
• Обзор на игру Kerb... 18021
• Обзор игры 007: Fr... 16667
Превью о играх
• Превью к игре Comp... 18003
• Превью о игре Mage... 14502
• Превью Incredible ... 14763
• Превью Firefall 13523
• Превью Dead Space 3 16378
• Превью о игре SimC... 14772
• Превью к игре Fuse 15479
• Превью Red Orche... 15589
• Превью Gothic 3 16388
• Превью Black & W... 17402
Главная » Статьи » Разное » Использование SELinux в Gentoo (selinux limit acl linux security gentoo)

Использование SELinux в Gentoo (selinux limit acl linux security gentoo)

Ключевые слова: selinux, limit, acl, linux, security, gentoo, (найти похожие документы)

From: Юрий Сергейчик <tuxrpinggmailcom>
Date: Mon, 12 Nov 2006 18:21:07 +0000 (UTC)
Subject: Использование SELinux в Gentoo

Оригинал: http://www.rostovlinux.ru/content/view/1324/56/


Написал Serge E. Hallyn, перевод: Юрий Сергейчик aka TuxR <tuxrpinggmailcom>
Friday, 30 June 2006


Введение

SELinux - это система мандатного контроля доступа (MAC) , доступная в
ядрах Linux, начиная с версии 2.6. Модули безопасности Linux (SELinux)
- это наиболее полное и хорошо протестированное решение, которое
доступно, и это подтверждено 20-летними исследованиями MAC. SELinux
сочетает a type-enforcement сервер и многоуровневую безопасность или
опциальную политику с поддержкой множества категорий, класс ролевого
контроля доступа. Смотрите в секции "Ресурсы" далее в этой статье
ссылки на дополнительную информацию по данной теме.

Большинство людей, которые использовали SELinux, применяли готовый
SELinux дистрибутив - такой, как Fedora, Red Hat Enterprise Linux
(RHEL), Debian, или hardened Gentoo. Они включают SELinux в ядре,
предлагают настраиваемую политику безопасности и исправляют большое
количество пользовательских библиотек и утилит, чтобы сделать их
совместимыми с SELinux.

Если вы похожи на множество пользователей, которые просто хотят, чтобы
система работала, как раньше, но немножко более безопасно, вы можете
обращаться и управлять SELinux, используя хорошо знакомые приложения,
а писать политики безопасности на языке высокого уровня. Однако, эти
методы могут оказаться неудовлетворительными, если что-то пойдет не
так - например, если ядро и пространство пользователя
рассинхронизируются. Также эти методы могут даже препятствовать
пониманию UNIX(R)-инженера, как в действительности работает SELinux. В
конце концов, инженеру и сотрудникам безопасности следует понимать,
что существуют способы применения SELinux за пределами правил, которые
используются в текущих дистрибутивах.

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

Чтобы начать вам потребуется:


* QEMU, свободно распространяемый и простой в использовании эмулятор
процессора. Это отличная возможность поиграть с новыми ядрами или
образами системы, не нанося ущерб вашей реальной системе. Вы
можете загрузить его со страницы загрузки QEMU.


* Gentoo, дистрибутив Linux, базирующийся на исходниках. Gentoo -
это идеал для таких упражнений; так вы можете установить его из
работающей системы в независимости от дистрибутива. Последнюю
версию можно получить на странице загрузки Gentoo.


Сделайте образ диска, набрав команду:

qemu-img create -f raw gentoo.img 2G


Следующий шаг - установить QEMU на раздел дискового образа и
форматирование одиночного раздела. Это потребует несколько видов
загрузочных CD с Linux. Knoppix подойдет, как и Gentoo liveCD. Вы
можете загрузить Gentoo liveCD следующим образом:

wget ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo/releases/x86/current/installcd/install-x86-minimal-2006.0.iso


Для более простых ссылок далее - и чтобы меньше набирать - вы можете
захотеть переименовать образ:

mv install-x86-minimal-2005.1.iso gentoo.iso


Следующая команда позволяет QEMU использовать gentoo.iso, как CD,
gentoo.img, как жесткий диск, и загрузиться с CDROM:

qemu -hda gentoo.img -cdrom gentoo.iso -boot d


Просто нажмите Return для загрузки ядра по-умолчанию. Затем наберите
следующие команды для разметки образа диска:

Листинг 1. Разметка образа диска

fdisk /dev/hda
n
p
1
(return)
w


Вышеприведенный листинг создаст один новый (n) первичный (p) раздел ,
начинающийся с блока 1 (1) и заканчивающийся блоком по-умолчанию,
который является последним блоком на файловой системе. Затем он
записывает (w) новую таблицу разделов на образ диска.

Теперь, вы вернетесь в оболочку QEMU. Здесь наберите:

mkfs.ext2 /dev/hda1


Может потребоваться сделать это дважды, чтобы дать udev возможность
создать устройство. Затем выключите систему, набрав:

poweroff


Это вернет вас в вашу реальную систему. Если этого не произошло, а
зависло на длительное время, нажмите Ctrl-c для завершения процесса.

Следующий шаг - установка базового дистрибутива на образ диска.
Причина, почему Gentoo отлично подходит для этого упражнения в том,
что вы можете просто загрузить и распаковать образ "stage 3", и сразу
же получить функциональность системы Gentoo. Вам следует найти
ближайшее к вам зеркало, с которого вы сможете загрузить тарболл stage 3.
Примерное место, если вы находитесь недалеко от Sandia National
Laboratories, это:

wget ftp://mirror.iawnet.sandia.gov/pub/gentoo/releases/x86/current/stages/stage3-x86-2006.0.tar.bz2


Этот файл содержит сжатый архив полной системы Gentoo. Чтобы
распаковать его на ваш дисковый образ, сначала смонтируйте образ диска
в вашей системе. Следующий листинг монтирует пустую файловую систему и
распаковывает на нее тарболл.

Листинг 2. Распаковка тарболла Gentoo на образ диска

su (введите пароль пользователя root)
ORIG=`pwd`
mount -oloop,offset=32256 gentoo.img /mnt
cd /mnt
tar jxf $ORIG/stage3-x86-2005.1.tar.bz2


Когда образ уже смонтирован, есть еще несколько о которых нужно
позаботиться. Файл /etc/fstab инструктирует систему, какая файловая
система где смонтирована. Для этой простой системы не нужны разделы
boot или swap. Следующий листинг удаляет их и добавляет правильные
значения для корневого раздела. Он также устанавливает пароль
пользователя root. При запуске passwd убедитесь, что вы запомнили
введенный пароль. Безопасность не нужна для этой игрушечной системы,
поэтому "password" подойдет.

Листинг 3. Подготовка системы

mv /mnt/etc/fstab /mnt/etc/fstab.orig
sed -e '/[BR]OOT/d' -e '/SWAP/d' /mnt/etc/fstab.orig >
/mnt/etc/fstab

cat >> /mnt/etc/fstab << EOF
/dev/hda1 / ext2 noatime 0 1
EOF

chroot /mnt
passwd
exit

cd $ORIG
umount /mnt


Ядро нужно для загрузки образа QEMU. Просто скомпилируйте его с
поддержкой SELinux, даже если вы не хотите использовать SELinux прямо
сейчас. Возьмите копию linux-2.6.14.tar.bz2 (или последнюю версию) с
kernel.org и распакуйте ее:

wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.14.tar.bz2
tar jxf Linux-2.6.14.tar.bz2


Затем зайдите в каталог Linux-2.6.14 и сконфигурируйте ядро, как:

cd linux-2.6.14
make defconfig
make menuconfig


Обязательно включите следующие опции:

Листинг 4. Часть файла конфигурации ядра .config

CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_SECURITY=y

CONFIG_SECURITY=y
CONFIG_SECURITY_CAPABILITIES=y
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_BOOTPARAM_VALUE=1
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1


Теперь скомпилируйте ядро, используя следующие команды:

make
cp arch/i386/boot/bzImage ..


Уверен, что вы захотите испытать систему перед конвертированием в
SELinux. Вы можете сделать это, используя следующие команды:

qemu -hda gentoo.img -kernel bzImage -append "ro root=/dev/hda1"


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


Конвертирование в SELinux

Для конвертирования в систему, которая поддерживает и усиливает
SELinux, вам потребуется изменить программу, которая начинает загрузку
системы, /sbin/init, и добавить несколько других программ для
построения политики SELinux и взаимодействия с SELinux.


SysVinit

Начните с получения чистой копии SysVInit. Загрузите версию 2.86 с
ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/sysvinit-2.86.tar.gz,
или найдите последнюю версию на странице SysVinit на freshmeat. Вы
можете загрузить патч (sysvinit-init.c.diff) в zip-архиве, доступном в
секции "Downloads", ниже; этот патч будет применен на файл init.c ,
используя процедуру в Листинге 5. Этот патч делает политику SELinux
загружающейся при загрузке. Он определяет флаг no_selinux, который
установлен в 1, если команда загрузки содержит -p. Если этот флаг
установлен, будет выведено предупреждение и процесс загрузки будет
продолжен, как обычно. иначе вызывается функция load_policy(), которая
определена в патче.

Листинг 5. Разметка образа диска

wget ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/sysvinit-2.86.tar.gz
cd sysvinit-2.86
cd src
patch -p0 < $ORIG/sysvinit-init.c.diff
make init
(su)
mount -oloop,offset=32256 $ORIG/gentoo.img /mnt
mv /mnt/sbin/init /mnt/sbin/init.good
cp init /mnt/sbin/init
umount /mnt
exit


Функция load_policy() монтирует экземпляр файловой системы selinuxfs в
каталог /selinux, и открывает файл /etc/policy.bin для чтения.
Заметьте, что /selinux и /etc/policy.bin - произвольные имена до тех
пор, пока любое пользовательское приложение, которое может захотеть
использовать их, согласно с этими именами. Когда политика SELinux
скомпилирована, бинарная версия должна быть скопирована в
/etc/policy.bin. Далее, load_policy() отображает (mmap()) файл
/etc/policy.bin и вызывает security_load_policy, определенную сразу
над load_policy. Она, по очереди: открывает файл /selinux/load,
расположенный на файловой системе selinuxfs, для записи, и записывает
все содержимое /etc/policy.bin в /selinux/load. Мы рассмотрели, как
бинарная политика будет загружена в ядро при загрузке.


Создание политики

SELinux - это гибкая система контроля доступа, чьё решение о доступе
полагается на политику, определённую администратором. Политики зависят
плана и конфигурации файлов в системе. Дистрибутивы, которые
поддерживают SELinux поставляются с предопределенной политикой. Если
это возможно, для редактирования политики, вы обычно изменяете
политику только частично, исключая все части политики, относящиеся к
ПО, не установленному в системе. Более детальное изменение политики
обычно производят только эксперты SELinux. Однако, в этом упражнении,
вы определите свою собственную политику.

Так как время от времени добавляются новые классы объектов и
разрешений, зависят от версий ядра. Программа находящаяся в архиве
mdp.tar.gz (в zip-файле в секции "Downloads" ниже) автоматически
создаст простейшую политику, базирующуюся на версии вашего ядра. Так
как это потребует анализа исходников ядра, вам будет нужно указать it
на дерево исходных кодов, которое вы использовали, чтобы
скомпилировать ядро для образа QEMU. Распакуйте mdp.tar.gz в $ORIG/ и
войдите в полученный каталог mdp/.

Наберите:

./build.sh -k ../linux-2.6.14.


Это компилирует программу mdp и запускает ее с аргументом - каталогом
исходных кодов ядра. mdp по очереди проверяет классы объектов и
разрешения, которые поддерживает ядро, и создает политику SELinux,
которая содержит эти данные. Результирующая политика будет содержать
одного пользователя SELinux, одну роль SELinux, и один тип SELinux.
Единственный тип будет применён ко всем типам файлов, объектов ядра и
процессам, и будет иметь полный доступ к себе самому. Мы поиграем с
правилами этой политики позже, но сейчас она приемлима для
инициализации и использования SELinux.

Когда build.sh запустит mdp, он создаст несколько файлов. Вам
потребуются policy.conf и file_contexts. Это текстовое представление
политики, последний содержит инструкции по разметке файловой системы.

Я рассмотрю подробное policy.conf позже, поэтому пропустите первые
пять или шесть сотен линий до этой строки:

type base_t;


Это только определение типа в этой политике. Следующая строка:

role base_r types { base_t };


определяет одиночную роль, base_r, которая ассоциирована с типом
base_t. Это означает, что процесс в роли code_r может работать в
домене base_t. Дальше идет длинный список состояний allow, каждое из
которых специфицирует класс объекта, предоставляющий процессу в домене
domain base_t доступ к классам объекта типа base_t для всех
разрешений, определенных в классе.

Далее политика определяет пользователя, user_u, который ассоциирован с
ролью base_r. Поэтому, процесс, работающий, как пользователь SELinux
user_u, может работать в роли base_r. Вы уже заметили, что base_r
ассоциирован с типом base_t, поэтому эти два состояния вместе делают
user_u:base_r:base_t валидным контекстом, значит процессу будет
разрешено работать в данном контексте.

Следующие несколько строк также интересны. Первая:

sid kernel user_u:base_r:base_t


назначает единственный валидный контекст первому процессу в системе.
Двумя линиями далее вы видите:

sid unlabeled user_u:base_r:base_t


которые назначают одинаковый контекст любым файлам, которые не имеют
метки.

Теперь взгляните на файл file_contexts. Он содержит две строки в
следующем формате:

<regexp> <context>


где regexp - это регулярное выражение, используемое для сравнения имен
файлов, а context - это контекст SELinux, который применяется к файлу,
если он удовлетворяет регулярному выражению. Строка:

/.* user_u:base_r:base_t


используется для назначения контекста на все файлы в системе.


Инсталляция SELinux userspace

Следующий этап - установить некоторый код, который скомпилирует
политику SELinux, которая записана в виде текста, в бинарный формат,
который требуется ядру, а также программу для разметки вашей корневой
файловой системы. Исходные коды доступны через CVS из SourceForge,
используя команды из Листинга 6:

Листинг 6. Получение исходных кодов SELinux userspace

su
mount -oloop,offset=32256 $ORIG/gentoo.img /mnt
cd /mnt/usr/src
cvs -z3 -d:pserver:


Этот адрес e-mail защищен от спам-ботов. Чтобы увидеть его, у Вас должен быть в
ключен Java-Script

:/cvsroot/selinux co -P
nsa/selinux-usr


Скопируйте текст политики на образ диска, как:

cp -r $ORIG/mdp /mnt/usr/src


Войдите в каталог nsa/selinux-usr и скомпилируйте libsepol,
checkpolicy, libselinux и policycoreutils, как указано далее:

Листинг 7. Компиляция кода SELinux userspace

chroot /mnt
cd /usr/src/nsa/selinux-usr/
cd libsepol/
make && make install
cd ../libselinux/
make && make install
cd ../checkpolicy/
make && make install
cd ../policycoreutils/
make && make install


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

Листинг 8. Установка setfiles

cd setfiles
make
make install


Теперь, чтобы скомпилировать политику, используйте программу
checkpolicy:

Листинг 9. Компиляция политики SELinux

cd /usr/src/mdp
checkpolicy -o policy.bin policy.conf
cp policy.bin /etc/
exit # exit chroot
exit # exit root shell


Переразметка файловой системы требует загрузки в виртуальной машине.
Не забудьте указать опцию -p при этом, так что /sbin/init не будет
пытаться загрузить политику SELinux:

qemu -hda gentoo.img -kernel bzImage -append "ro root=/dev/hda1 -p"


SELinux взаимодействует с пользовательскими программами через свою
собственную файловую систему - selinuxfs. Пользовательские программы
ожидают, что она смонтирована в /selinux. Создайте каталог /selinux и
переразметьте файловую систему, как указано далее:

Листинг 10. Переразметка файловой системы

mkdir /selinux
cd /usr/src/mdp
setfiles file_contexts /
poweroff


В заключение, вы можете перезагрузиться в SELinux!

qemu -hda gentoo.img -kernel bzImage -append "ro root=/dev/hda1"


Изучение политики SELinux

SELinux makes access decisions based on the security contexts assigned
to processes, files, and other objects. SELinux предоставляет
интерфейсы для запроса этих контекстов и выдачи необходимых прав
доступа для их установки. Например, SELinux сообщает контекст процесса
через интерфейс procattr. Если вы наберете:

cat /proc/$$/attr/current


вы увидите контекст текущего процесса ($$). Используя скрипт pidctx.sh
(смотрите zip-файл в секции "Downloads" ниже), вы можете легко
просматривать контекст всех процессов в системе. Скрипт просто
печатает файл /proc/<pid>/attr/current для каждого процесса в системе.

SELinux сохраняет контексты файла, используя расширенные атрибуты.
Наиболее распространенные файловые системы в Linux (ext2, ext3, jfs,
xfs, etc.) поддерживают расширенные атрибуты, но reiserfs, к
сожалению, представляет собой исключение. Это пары (имя, значение)
данных, ассоциированные с и-нодами, где имя разделяется на периоды в
пространствах имён. Расширенные атрибуты SELinux находятся в
безопасном пространстве имен и идентифицируются по "selinux", так что
полное имя значения некоторого атрибута будет "security.selinux".
Новый набор системных вызовов позволяет пользователям запрашивать и
устанавливать расширенные атрибуты. Системный вызов для запроса
расширенного атрибута: getxattr(2). Он принимает имя файла, имя
атрибута, буфер, в который будет возвращено значение атрибута и размер
предоставляемого буфера.

Файл showctx.c просто запускается для всех имен файлов, заданных
аргументами командной строки и печатает значение расширенного атрибута
security.selinux, если оно существует, его можно читать и оно
помещается в данный размер буфера.

Вы можете загрузить showctx.tar.gz из секции "Downloads" ниже, и
распаковать showctx.c. Затем поместите его на образ QEMU любым путём.
Один из способов - выключить образ QEMU, а затем сделать следующее:

Листинг 11. Установка showctx

(su)
mount -oloop,offset=32256 $ORIG/gentoo.img /mnt
cp showctx.c /mnt/usr/src
umount /mnt
exit


Теперь запустите QEMU, если он еще не запущен. Чтобы скомпилировать
showctx наберите:

gcc -o showctx showctx.c cp showctx /bin/


Сейчас вы можете набрать:

showctx / /tmp /home /root /usr/src


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


Игры с политикой SELinux

Секретный тип

Вы создадите секретный каталог, /secret, в котором SELinux не будет
разрешать процессам чтение. Начните с создания обычного каталога и
нескольких файлов в нем:

mkdir /secret echo "hello, world" > /secret/helloworld echo "You can't see me" > /secret/dontlook


В политике SELinux, сейчас создайте новый тип, secret_t, на который
другой тип, base_t, не будет иметь разрешений. Сначала, вы определите
тип, добавив:

type secret_t;


после определения base_t в policy.conf. Дополнительно, т.к. файлы типа
secret_t будут иметь роль base_r, роли base_r нужно разрешить быть
ассоциированной с типом secret_t. Линия, следующая за той, которую вы
только что добавили выглядит, как:

role base_r types { base_t };


Отредактируйте ее следующим образом:

role base_r types { base_t secret_t };


Теперь для пересборки политики наберите:

checkpolicy -o policy.bin policy.conf
cp policy.bin /etc/


Далее добавьте следующие строки в файл file_contexts:

Листинг 12. Контексты файлов в /secret

/secret user_u:base_r:secret_t
/secret/helloworld user_u:base_r:base_t
/secret/.* user_u:base_r:secret_t


Это сообщит системе, что каталог /secret и любые имена файлов в нём,
должны быть типа secret_t, за исключением файла /secret/helloworld,
который должен остаться типа base_t. Для назначения этих контекстов на
диск используйте setfiles:

setfiles file_contexts /


О нет, ошибка! SELinux ещё не знает о типе secret_t. Действительно,
возможно динамически перезагрузить политику SELinux. Сейчас, однако,
чтобы упростить процесс, просто перезагрузите образ QEMU. Конечно,
т.к. загрузчик не был установлен, простая перезагрузка не заработает.
Следовательно, вам потребуется набрать poweroff чтобы выключить образ
QEMU. Если окно не пропало после надписи "Power down", то нажмите
Ctrl-c в окне qemu. Введите команду qemu для перезапуска. Затем
попробуйте запустить команду setfiles снова.

Проверьте, что политика перезагружена корректно:

showctx / /secret /secret/helloworld /secret/dontlook
cat /secret/dontlook


Но подождите! Вы можете видеть секретный тип.

Это результат одной из опций компиляции ядра,
CONFIG_SECURITY_SELINUX_DEVELOP. Эта опция по-умолчанию устанавливает
SELinux в non-enforcing режим. Чтобы проверить это, наберите команду:

cat /selinux/enforce


которая должна вернуть 0. Чтобы установить SELinux в режим enforcing,
наберите:

echo 1 > /selinux/enforce


Если желаете, вы можете делать это автоматически при загрузке
посредством скрипта инициализации, как показано в Листинге 13 или
просто скомпилируйте ядро без поддержки SELINUX_DEVELOP.

Листинг 13. Установка режима enforcing при загрузке SELinux

cat >> /etc/rc.d/selinux-enforce << EOF
#!/bin/sh
echo 1 > /selinux/enforce
EOF
chmod ugo+x /etc/rc.d/selinux-enforce
rc-update add default selinux-enforce


Теперь, когда SELinux в режиме enforcing, попробуйте перейти в /secret
снова. Заметьте, что даже несмотря на то, что контекст вашего процесса
имеет право на чтение /secret/helloworld, вы реально не сможете читать
его, потому что вы не можете получить прошлый /secret. Жесткая ссылка
на файл может, безусловно, обойти это. Это не верно для остальных
файлов в /secret/, т.к. эти файлы сами по себе невозможно прочесть.


Заключение

Из этой статьи вы узнали как воспроизвести действия, которые уже
проделаны в некоторых дистрибутивах для поддержки SELinux. Если это
кажется пугающим, расслабьтесь - просто установите свежую копию
последней Fedora, вы можете использовать SELinux так прозрачно, что вы
можете даже не знать, что она установлена. Цель этого упражнения не
убедить вас, что безопасность сложна, но продемонстрировать, что
происходит <<за сценой>> в правильно интегрированной системе SELinux.

Скрипты и C код, описанные в этой статье


Учебные материалы


* Узнайте больше о SELinux на домашней странице NSA
Security-Enhanced Linux (SELinux).


* Implementing SELinux as a Linux Security Module дает обзор
LSM, а также детали LSM реализации SELinux и чем она отличается от
реализации патча оригинального ядра.


* SELinux News сайт новостей сообщества для пользователей
SELinux.


* На сайте Linux Security Modules, узнайте больше об LSM.


* Wikipedia дает обзор мандатного контроля доступа, type
enforcement, ролевого контроля доступа, и многоуровневой
безопасности.


* Чтобы узнать больше о Knoppix прочтите
"Knoppix gives bootable, one-disk Linux"
(developerWorks, February 2003).


* Также посмотрите "Distribute software on a Linux LiveCD"
(developerWorks, January 2006) для ссылок на другие статьи о
LiveCD.


* "Secure programmer: Minimizing privileges" (developerWorks,
May 2004) обсуждает традиционные и новые методы устранения
уязвимостей в безопасности.


* На developerWorks Linux zone, найдите больще информации для
разработчиков Linux.


* Оставайтесь в курсе технических событий и репортажей
developerWorks.


Получить продукты и технологии


* Домашняя страница QEMU содержит самую актуальную документацию
и загрузки QEMU.



* gentoo.org ваш основной источник новостей Gentoo и кода.


* Получите последнюю версию SysVinit с freshmeat.


* Приобретите SEK for Linux, набор из 2-х DVD, содержащий
последние версии пробного ПО IBM для Linux от DB2(R), Lotus(R),
Rational(R), Tivoli(R), и WebSphere(R).


* Постройте ваш следующий проект разработки в Linux с пробным ПО
IBM, доступным для загрузки непосредственно с developerWorks,.


Обсуждение

* Planet SELinux предоставляет блоги для сообщества SELinux.


* Проверьте блоги developerWorks и вступите в сообщество
developerWorks.


Об авторе

Serge Hallyn - штатный программист, работающий в команде безопасности
центра Технологий Linux IBM. Он получил степень кандидата компьютерных
наук в колледже of William and Mary. Он реализовал несколько модулей
безопасности (dte, bsdjail), содействовал другим (seclvl), и
способствовал успеху SELinux. Благодаря его реализации DTE,
соответствующей конфигурации и инструментам анализа, он имеет
исчерпывающий опыт в Type Enforcement, главной технологии в SELinux.
1058 Прочтений •  [Использование SELinux в Gentoo (selinux limit acl linux security gentoo)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Использование SELinux в Gentoo (sel... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка