AppArmor Сравнение версий

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
wiki:руководство_по_ubuntu_server:безопасность:apparmor [2012/06/22 20:04]
[Использование AppArmor]
wiki:руководство_по_ubuntu_server:безопасность:apparmor [2012/06/22 21:07] (текущий)
[Ссылки]
Строка 65: Строка 65:
 ====Профили==== ====Профили====
  
-Профили AppArmor - это простые текстовые файлы, которые расположены в /​etc/​apparmor.d/​. Файлы названы соответственно полному пути исполнения их профиля и замещенной ​чертой "/"​ на "​."​. Например /​etc/​apparmor.d/​bin.ping ​ - это профиль AppArmor для команды /bin/ping.+Профили ​**AppArmor** - это простые текстовые файлы, которые расположены в /​etc/​apparmor.d/​. Файлы ​профиля ​называются ​соответственно полному пути ​до исполняемого файла, которым они управляют, с заменой ​символа "/"​ на "​."​. Например /​etc/​apparmor.d/​bin.ping ​ - это профиль AppArmor для команды /bin/ping.
  
-Существует два ​главных правила используемых в профиле:​+Существует два ​основных ​типа ​правилиспользуемых в профиле:​
  
-1. Путь записи: описывает какие файлы приложения имеют доступ ​к файловой системе.+ 1. **Записи ​путей** (Path entries)которые ​описывают к каким файлам приложение имеет доступ ​в файловой системе
 + 2. **Записи разрешений** (Capability entries): определяют какие права ограничиваемый процесс имеет право использовать.
  
-2. Возможность записи: описывает права на ограничение процессов и разрешение на их использование. +В качестве примера посмотрим /​etc/​apparmor.d/​bin.ping:​ 
- +<​code>​ 
-Для ​примера посмотрим ​на /​etc/​apparmor.d/​bin.ping:​ +#include <​tunables/​global>​
- +
-<​code>#​include <​tunables/​global>​+
 /bin/ping flags=(complain) { /bin/ping flags=(complain) {
   #include <​abstractions/​base>​   #include <​abstractions/​base>​
Строка 87: Строка 86:
   /bin/ping mixr,   /bin/ping mixr,
   /​etc/​modules.conf r,   /​etc/​modules.conf r,
-}</​code>​+} 
 +</​code>​
  
-1. #include <​tunables/​global>:​ включает ​утверждения ​из других файлов. Это позволяет ​утверждениям, относящимся к нескольким приложениям находится в одном общем файле. +  -- **#include <​tunables/​global>​**: включает ​операторы ​из других файлов. Это позволяет ​операторам, относящимся к нескольким приложениям находится в одном общем файле. 
- +  -- **/bin/ping flags=(complain)**: путь к программе, управляемой профилем, также устанавливающий режим ​обучения. 
-2. /bin/ping flags=(complain):​ путь к профилю ​программы, также устанавливающий режим ​сравнения. +  -- **capability net_raw,**: разрешает приложению доступ к возможностям CAP_NET_RAW Posix.1e. 
- +  -- **/bin/ping mixr,**: разрешает приложению доступ на чтение и выполнение файла.
-3. capability net_raw,: разрешает приложению доступ к возможностям CAP_NET_RAW Posix.1e. +
- +
-4. /bin/ping mixr,: разрешает приложению доступ на чтение и выполнение файла.+
  
 <​note>​После редактирования файла профиля,​ он должен быть перезагружен. Для детальной информации обратитесь к разделу [[wiki:​руководство_по_ubuntu_server:​безопасность:​apparmor#​использование_apparmor|Использование AppArmor]]</​note>​ <​note>​После редактирования файла профиля,​ он должен быть перезагружен. Для детальной информации обратитесь к разделу [[wiki:​руководство_по_ubuntu_server:​безопасность:​apparmor#​использование_apparmor|Использование AppArmor]]</​note>​
Строка 101: Строка 98:
 ===Создание профиля=== ===Создание профиля===
  
-    Design a test planTry to think about how the application should be exercisedThe test plan should be divided into small test casesEach test case should have a small description and list the steps to follow.+ 1. **Разработка плана тестирования**Попробуйте подумать о том как приложение будет выполняться. План тестирования стоит разделить на маленькие тестовые блоки. Каждый тестовый блок должен иметь краткое описание и перечень шагов выполнения. 
 +Некоторые стандартные тестовые блоки:​ 
 +  -- Запуск программы. 
 +  -- Остановка программы. 
 +  -- Перезагрузка программы. 
 +  -- Тестирование всех команд,​ поддерживаемых сценарием инициализации.
  
-    Some standard test cases are:+ 2. **Создание нового профиля**Используйте **aa-genprof** для создания нового профиля. Команда в терминале:​ 
 +<​code>​sudo aa-genprof executable</​code>​ 
 +Например:​ 
 +<​code>​sudo aa-genprof slapd</​code>​
  
-        Starting the program. + 3Чтобы получить ваш новый профиль в составе пакета **apparmor-profiles**зарегистрируйте проблему в Launchpad ​для пакета [[https://​bugs.launchpad.net/​ubuntu/​+source/​apparmor/​+filebug|AppArmor]]
- +  -- Включите ваш план тестирования и тестовые блоки
-        Stopping the program. +  -- Присоедините ваш новый профиль к зарегистрированной проблеме.
- +
-        Reloading the program. +
- +
-        Testing all the commands supported by the init script. +
- +
-    Generate the new profile: Use aa-genprof to generate a new profile. From a terminal: +
- +
-    sudo aa-genprof executable +
- +
-    For example: +
- +
-    sudo aa-genprof slapd +
- +
-    To get your new profile included in the apparmor-profiles ​packagefile a bug in Launchpad ​against the AppArmor ​package+
- +
-        Include your test plan and test cases+
- +
-        Attach your new profile to the bug.+
  
 ===Обновление профилей=== ===Обновление профилей===
  
-When the program is misbehavingaudit messages are sent to the log filesThe program ​aa-logprof ​can be used to scan log files for AppArmor ​audit messagesreview them and update the profilesFrom a terminal+Когда программа ведет себя неправильнопроанализируйте сообщения отправленные в файлы журналовПрограмма **aa-logprof** может быть использована для сканирования файлов журнала **AppArmor** для проверки сообщенийих рассмотрения (анализа) и обновления профилейКоманда в терминале
- +<​code>​sudo aa-logprof</​code>​
-sudo aa-logprof+
  
 ====Ссылки==== ====Ссылки====
  
-    See the AppArmor Administration Guide for advanced configuration options+  -- Смотрите [[http://​www.novell.com/​documentation/​apparmor/​apparmor201_sp10_admin/​index.html?​page=/​documentation/​apparmor/​apparmor201_sp10_admin/​data/​book_apparmor_admin.html|AppArmor Administration Guide]] для дополнительных опций настройки
- +  -- Для уточнения использования ​AppArmor ​с другими выпусками ​Ubuntu ​смотрите страницу [[https://​help.ubuntu.com/​community/​AppArmor|AppArmor Community Wiki]]
-    For details using AppArmor ​with other Ubuntu ​releases see the AppArmor Community Wiki page+  -- Страница [[http://​en.opensuse.org/​SDB:​AppArmor_geeks|OpenSUSE AppArmor]] - еще одно знакомство с AppArmor. 
- +  -- Хорошее место для вопросов поддержки ​AppArmor ​и вовлечения в сообщество ​Ubuntu Server ​- IRC канал **#​ubuntu-server** на [[http://freenode.net/​|freenode]].
-    The OpenSUSE AppArmor ​page is another introduction to AppArmor. +
- +
-    A great place to ask for AppArmor ​assistance, and get involved with the Ubuntu Server ​community, is the #​ubuntu-server ​IRC channel on freenode. +
  
 ---- ----