- Что такое AppArmor и как с его помощью защитить вашу систему Ubuntu
- Что такое AppArmor?
- Просмотр текущего состояния AppArmor
- Профили AppArmor
- Использование AppArmor для Firefox
- AppArmor
- Содержание
- AppArmor
- Использование AppArmor
- Профили
- Создание профиля
- Обновление профилей
- Ссылки
- AppArmor
- Содержание
- AppArmor
- Использование AppArmor
- Профили
- Создание профиля
- Обновление профилей
- Ссылки
Что такое AppArmor и как с его помощью защитить вашу систему Ubuntu
AppArmor является важным элементом безопасности, который по умолчанию включен в Ubuntu начиная с версии Ubuntu 7.10. Тем не менее, AppArmor работает в фоновом режиме, поэтому Вы можете не знать, что это такое и что AppArmor делает.
AppArmor блокирует уязвимые процессы, ограничивая уязвимость в системе безопасности, которая может возникнуть из-за уязвимости этих процессов. AppArmor можно также использовать для того, чтобы заблокировать Mozilla Firefox для повышения безопасности, но по умолчанию это не делается.
Что такое AppArmor?
AppArmor похож на SELinux, используемый по умолчанию в Fedora и Red Hat. Хотя AppArmor и SELinux работают по-разному, с их помощью реализуется защита вида «мандатный контроль доступа» («mandatory access control» — MAC). По сути, AppArmor позволяет разработчикам Ubuntu ограничивать действия, которые могут выполнять процессы.
Например, одним из приложений, для которого по умолчанию в Ubuntu задано такое ограничение, является Evince — программа просмотра файлов PDF. Когда Evince работает под вашей пользовательской учетной записью, он может выполнять только вполне определенные действия. Для Evince предоставлены минимальные права доступа, необходимые только для запуска и работы с документами PDF. Если при рендеринге PDF с помощью Evince или при открытии вредоносного PDF, который хочет перехватить управление от Evince, были обнаружены уязвимости, AppArmor сможет ограничить ущерб, который может нанести Evince. В традиционной модели безопасности Linux для Evince будет разрешен доступ ко всему тому, к чему у вас есть доступ. При использовании AppArmor, доступ имеется только к тем вещам, которые требуются программе для просмотра PDF.
AppArmor, в частности, полезен для ограничения работы программ, в которых могут быть экспойты, например, веб-браузера или серверного программного обеспечения.
Просмотр текущего состояния AppArmor
Для просмотра текущего состояния AppArmor, выполните в терминале следующую команду:
Вы увидите, работает ли AppArmor в вашей системе (по умолчанию он работает), какие установлены профили AppArmor и для каких из запущенных процессов заданы ограничения.
Профили AppArmor
В AppArmor процессы ограничиваются с помощью профилей. В списке, приведенном выше, нам показаны профили, установленные в системе, — те, что поставляются в комплекте с Ubuntu. Если вы установите пакет apparmor-profiles, то вы сможете также устанавливать другие профили AppArmor, Некоторые пакеты, например, серверное программное обеспечение, могут поставляться со своими собственными профилями AppArmor, которые устанавливаются в системе вместе с пакетом. Вы также можете создавать свои собственные профили AppArmor, ограничивающие работу программ.
Профили могут быть запущены в режиме «complain mode» или «enforce mode». В режиме enforce mode, который для профилей, поставляемых в составе Ubuntu, устанавливается по умолчанию, AppArmor ограничивает действия приложений. В режиме complain mode AppArmor позволяет приложениям выполнять действия, которые следовало бы ограничить, и создает в журнале запись с сообщением по этому поводу. Режим complain mode идеально подходит для тестирования профиля AppArmor перед тем, как профиль будет использоваться в режиме enforce mode — вы обнаружите любую ошибку, которая может возникнуть в режиме enforce mode.
Профили хранятся в каталоге /etc/apparmor.d. Эти профили являются обычными текстовыми файлами, в которых могут быть комментарии.
Использование AppArmor для Firefox
Вы также можете заметить, что AppArmor поставляется с профилем для Firefox — это файл usr.bin.firefox, находящийся в каталоге /etc/apparmor.d. По умолчанию он не включен, так как в нем для Firefox задано слишком много ограничений и из-за этого могут возникать проблемы. В каталоге /etc/apparmor.d/disable имеется ссылка на этот файл, что указывает, что этот профиль отключен.
Чтобы включить профиль Firefox и с помощью AppArmor ограничить действия, выполняемые Firefox, выполните следующие команды:
После выполнения этих команд, снова запустите команду sudo apparmor_status и вы увидите, что теперь загружены профили для Firefox.
Чтобы отключить профиль Firefox в случае, если из-за него возникают проблемы, выполните следующие команды:
Чтобы получить более подробную информацию об использовании AppArmor, обратитесь к странице AppArmor в официальном руководстве по серверу Ubuntu.
Источник
AppArmor
Содержание
AppArmor
AppArmor — это реализация Модуля безопасности линукс по управлению доступом на основе имен. AppArmor ограничивает отдельные программы набором перечисленных файлов и возможностями в соответствии с правилами Posix 1003.1e.
AppArmor устанавливается и загружается по умолчанию. Он использует профили приложений для определения какие файлы и права доступа требуются приложению. Некоторые пакеты устанавливают свои собственные профили, а дополнительные профили можно найти в пакете apparmor-profiles.
Для установки пакета apparmor-profiles наберите в терминале:
Профили AppArmor имеют два режима выполнения:
Фиксации/Обучения: нарушения профиля разрешаются и сохраняются в журнале. Полезно для тестирования и разработки новых профилей
Предписаний/Ограничений: принуждает следовать политике профиля, при этом также записывает нарушения в журнал.
Использование AppArmor
Пакет apparmor-utils содержит утилиты командной строки, которые можно использовать для изменения режима выполнения AppArmor, поиска статуса профиля, создания новых профилей и т.п.
1. apparmor_status используется для просмотра текущего статуса профиля AppArmor.
2. aa-complain переводит профиль в режим обучения (complain).
3. aa-enforce переводит профиль в режим ограничений (enforce).
4. Профили AppArmor расположены в каталоге /etc/apparmor.d. Его можно использовать для управления режимом всех профилей. Введите следующую команду для перевода всех профилей в режим обучения:
Перевод всех профилей в режим ограничений:
5. Команда apparmor_parser используется для загрузки профиля в ядро. Она также может использоваться для повторной загрузки загруженного профиля при использовании опции ‘-r’. Для загрузки введите:
6. /etc/init.d/apparmor служит для перезагрузки всех профилей:
7. Директория /etc/apparmor.d/disable может использоваться совместно с опцией apparmor_parser -R для отключения профиля.
Для активации отключенного профиля удалите символическую ссылку на профиль в /etc/apparmor.d/disable/. Затем загрузите профиль используя опцию ‘-a’.
8. AppArmor можно отключить, а модуль ядра выгрузить следующей командой:
9. Для повторной активации AppArmor введите:
Профили
Профили AppArmor — это простые текстовые файлы, которые расположены в /etc/apparmor.d/. Файлы профиля называются соответственно полному пути до исполняемого файла, которым они управляют, с заменой символа «/» на «.». Например /etc/apparmor.d/bin.ping — это профиль AppArmor для команды /bin/ping.
Существует два основных типа правил, используемых в профиле:
1. Записи путей (Path entries): которые описывают к каким файлам приложение имеет доступ в файловой системе. 2. Записи разрешений (Capability entries): определяют какие права ограничиваемый процесс имеет право использовать.
В качестве примера посмотрим /etc/apparmor.d/bin.ping:
#include : включает операторы из других файлов. Это позволяет операторам, относящимся к нескольким приложениям находится в одном общем файле.
/bin/ping flags=(complain): путь к программе, управляемой профилем, также устанавливающий режим обучения.
capability net_raw,: разрешает приложению доступ к возможностям CAP_NET_RAW Posix.1e.
/bin/ping mixr,: разрешает приложению доступ на чтение и выполнение файла.
Создание профиля
1. Разработка плана тестирования: Попробуйте подумать о том как приложение будет выполняться. План тестирования стоит разделить на маленькие тестовые блоки. Каждый тестовый блок должен иметь краткое описание и перечень шагов выполнения. Некоторые стандартные тестовые блоки:
Тестирование всех команд, поддерживаемых сценарием инициализации.
2. Создание нового профиля: Используйте aa-genprof для создания нового профиля. Команда в терминале:
3. Чтобы получить ваш новый профиль в составе пакета apparmor-profiles, зарегистрируйте проблему в Launchpad для пакета AppArmor:
Включите ваш план тестирования и тестовые блоки.
Присоедините ваш новый профиль к зарегистрированной проблеме.
Обновление профилей
Когда программа ведет себя неправильно, проанализируйте сообщения отправленные в файлы журналов. Программа aa-logprof может быть использована для сканирования файлов журнала AppArmor для проверки сообщений, их рассмотрения (анализа) и обновления профилей. Команда в терминале:
Ссылки
Смотрите AppArmor Administration Guide для дополнительных опций настройки.
Для уточнения использования AppArmor с другими выпусками Ubuntu смотрите страницу AppArmor Community Wiki.
Страница OpenSUSE AppArmor — еще одно знакомство с AppArmor.
Хорошее место для вопросов поддержки AppArmor и вовлечения в сообщество Ubuntu Server — IRC канал #ubuntu-server на freenode.
Источник
AppArmor
Содержание
AppArmor
AppArmor — это реализация Модуля безопасности линукс по управлению доступом на основе имен. AppArmor ограничивает отдельные программы набором перечисленных файлов и возможностями в соответствии с правилами Posix 1003.1e.
AppArmor устанавливается и загружается по умолчанию. Он использует профили приложений для определения какие файлы и права доступа требуются приложению. Некоторые пакеты устанавливают свои собственные профили, а дополнительные профили можно найти в пакете apparmor-profiles.
Для установки пакета apparmor-profiles наберите в терминале:
Профили AppArmor имеют два режима выполнения:
Фиксации/Обучения: нарушения профиля разрешаются и сохраняются в журнале. Полезно для тестирования и разработки новых профилей
Предписаний/Ограничений: принуждает следовать политике профиля, при этом также записывает нарушения в журнал.
Использование AppArmor
Пакет apparmor-utils содержит утилиты командной строки, которые можно использовать для изменения режима выполнения AppArmor, поиска статуса профиля, создания новых профилей и т.п.
1. apparmor_status используется для просмотра текущего статуса профиля AppArmor.
2. aa-complain переводит профиль в режим обучения (complain).
3. aa-enforce переводит профиль в режим ограничений (enforce).
4. Профили AppArmor расположены в каталоге /etc/apparmor.d. Его можно использовать для управления режимом всех профилей. Введите следующую команду для перевода всех профилей в режим обучения:
Перевод всех профилей в режим ограничений:
5. Команда apparmor_parser используется для загрузки профиля в ядро. Она также может использоваться для повторной загрузки загруженного профиля при использовании опции ‘-r’. Для загрузки введите:
6. /etc/init.d/apparmor служит для перезагрузки всех профилей:
7. Директория /etc/apparmor.d/disable может использоваться совместно с опцией apparmor_parser -R для отключения профиля.
Для активации отключенного профиля удалите символическую ссылку на профиль в /etc/apparmor.d/disable/. Затем загрузите профиль используя опцию ‘-a’.
8. AppArmor можно отключить, а модуль ядра выгрузить следующей командой:
9. Для повторной активации AppArmor введите:
Профили
Профили AppArmor — это простые текстовые файлы, которые расположены в /etc/apparmor.d/. Файлы профиля называются соответственно полному пути до исполняемого файла, которым они управляют, с заменой символа «/» на «.». Например /etc/apparmor.d/bin.ping — это профиль AppArmor для команды /bin/ping.
Существует два основных типа правил, используемых в профиле:
1. Записи путей (Path entries): которые описывают к каким файлам приложение имеет доступ в файловой системе. 2. Записи разрешений (Capability entries): определяют какие права ограничиваемый процесс имеет право использовать.
В качестве примера посмотрим /etc/apparmor.d/bin.ping:
#include : включает операторы из других файлов. Это позволяет операторам, относящимся к нескольким приложениям находится в одном общем файле.
/bin/ping flags=(complain): путь к программе, управляемой профилем, также устанавливающий режим обучения.
capability net_raw,: разрешает приложению доступ к возможностям CAP_NET_RAW Posix.1e.
/bin/ping mixr,: разрешает приложению доступ на чтение и выполнение файла.
Создание профиля
1. Разработка плана тестирования: Попробуйте подумать о том как приложение будет выполняться. План тестирования стоит разделить на маленькие тестовые блоки. Каждый тестовый блок должен иметь краткое описание и перечень шагов выполнения. Некоторые стандартные тестовые блоки:
Тестирование всех команд, поддерживаемых сценарием инициализации.
2. Создание нового профиля: Используйте aa-genprof для создания нового профиля. Команда в терминале:
3. Чтобы получить ваш новый профиль в составе пакета apparmor-profiles, зарегистрируйте проблему в Launchpad для пакета AppArmor:
Включите ваш план тестирования и тестовые блоки.
Присоедините ваш новый профиль к зарегистрированной проблеме.
Обновление профилей
Когда программа ведет себя неправильно, проанализируйте сообщения отправленные в файлы журналов. Программа aa-logprof может быть использована для сканирования файлов журнала AppArmor для проверки сообщений, их рассмотрения (анализа) и обновления профилей. Команда в терминале:
Ссылки
Смотрите AppArmor Administration Guide для дополнительных опций настройки.
Для уточнения использования AppArmor с другими выпусками Ubuntu смотрите страницу AppArmor Community Wiki.
Страница OpenSUSE AppArmor — еще одно знакомство с AppArmor.
Хорошее место для вопросов поддержки AppArmor и вовлечения в сообщество Ubuntu Server — IRC канал #ubuntu-server на freenode.
Источник