aboutsummaryrefslogtreecommitdiff
path: root/ru_RU.KOI8-R/books/handbook/mac/chapter.xml
diff options
context:
space:
mode:
Diffstat (limited to 'ru_RU.KOI8-R/books/handbook/mac/chapter.xml')
-rw-r--r--ru_RU.KOI8-R/books/handbook/mac/chapter.xml149
1 files changed, 69 insertions, 80 deletions
diff --git a/ru_RU.KOI8-R/books/handbook/mac/chapter.xml b/ru_RU.KOI8-R/books/handbook/mac/chapter.xml
index 5b034e17b1..46390e7ba9 100644
--- a/ru_RU.KOI8-R/books/handbook/mac/chapter.xml
+++ b/ru_RU.KOI8-R/books/handbook/mac/chapter.xml
@@ -7,28 +7,19 @@
Original revision: r22988
-->
-
-<chapter id="mac">
- <chapterinfo>
+<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="mac">
+ <info><title>Принудительный контроль доступа (MAC)</title>
<authorgroup>
- <author>
- <firstname>Tom</firstname>
- <surname>Rhodes</surname>
- <contrib>Написал </contrib>
- </author>
+ <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Написал </contrib></author>
</authorgroup>
<authorgroup>
- <author>
- <firstname>Денис</firstname>
- <surname>Пеплин</surname>
- <contrib>Перевод на русский язык: </contrib>
- </author>
+ <author><personname><firstname>Денис</firstname><surname>Пеплин</surname></personname><contrib>Перевод на русский язык: </contrib></author>
</authorgroup>
- </chapterinfo>
+ </info>
- <title>Принудительный контроль доступа (MAC)</title>
+
- <sect1 id="mac-synopsis">
+ <sect1 xml:id="mac-synopsis">
<title>Краткий обзор</title>
<indexterm><primary>MAC</primary></indexterm>
@@ -149,7 +140,7 @@
</sect2>
</sect1>
- <sect1 id="mac-inline-glossary">
+ <sect1 xml:id="mac-inline-glossary">
<title>Ключевые термины этой главы</title>
<para>Перед чтением этой главы необходимо ознакомиться с некоторыми
@@ -251,7 +242,7 @@
</itemizedlist>
</sect1>
- <sect1 id="mac-initial">
+ <sect1 xml:id="mac-initial">
<title>Описание MAC</title>
<para>Усвоив все эти термины, рассмотрим как <acronym>MAC</acronym>
@@ -347,7 +338,7 @@
</caution>
</sect1>
- <sect1 id="mac-understandlabel">
+ <sect1 xml:id="mac-understandlabel">
<title>Метки MAC</title>
<para>Метка <acronym>MAC</acronym> это атрибут безопасности,
@@ -402,12 +393,12 @@
<para><emphasis>Постойте, но это же похоже на <acronym>DAC</acronym>!
Я думал, что <acronym>MAC</acronym> дает контроль только
администратору.</emphasis> Это утверждение все еще верно,
- только <username>root</username> контролирует и настраивает
+ только <systemitem class="username">root</systemitem> контролирует и настраивает
политики, так что пользователи помещаются в соответствующие
категории/уровни доступа. Многие политики могут ограничить также
- и пользователя <username>root</username>.
+ и пользователя <systemitem class="username">root</systemitem>.
Базовый контроль над объектами затем
- передается группе, но пользователь <username>root</username>
+ передается группе, но пользователь <systemitem class="username">root</systemitem>
может отменить или изменить эти настройки в любое время.
Данная иерархическая <!-- /clearance --> модель соответствует
таким политикам как Biba и <acronym>MLS</acronym>.</para>
@@ -740,7 +731,7 @@ test: biba/high</screen>
</sect2>
</sect1>
- <sect1 id="mac-modules">
+ <sect1 xml:id="mac-modules">
<title>Настройка модулей</title>
<para>Каждый модуль, включенный в инфраструктуру <acronym>MAC</acronym>,
@@ -764,7 +755,7 @@ test: biba/high</screen>
меток в системе, поэтому параметр <command>tunefs</command>
называется <option>multilabel</option>.</para>
- <sect2 id="mac-seeotheruids">
+ <sect2 xml:id="mac-seeotheruids">
<title>Модуль MAC seeotheruids</title>
<indexterm>
@@ -802,7 +793,7 @@ test: biba/high</screen>
позволит исключить определенные группы из этой политики.
Для исключения определенной группы, используйте переменную
<command>sysctl</command>
- <literal>security.mac.seeotheruids.specificgid=<replaceable>XXX</replaceable></literal>.
+ <literal>security.mac.seeotheruids.specificgid=XXX</literal>.
В примере выше необходимо заменить <replaceable>XXX</replaceable>
на числовой ID группы.</para>
</listitem>
@@ -817,7 +808,7 @@ test: biba/high</screen>
</listitem>
</itemizedlist>
- <para>Необходимо отметить, что пользователь <username>root</username>
+ <para>Необходимо отметить, что пользователь <systemitem class="username">root</systemitem>
не является исключением из этой политики. Это одно из самых
существенных различий между <acronym>MAC</acronym> версией
и обычными переменными, существующими по умолчанию:
@@ -825,7 +816,7 @@ test: biba/high</screen>
</sect2>
</sect1>
- <sect1 id="mac-bsdextended">
+ <sect1 xml:id="mac-bsdextended">
<title>Модуль MAC bsdextended</title>
<indexterm>
@@ -868,7 +859,7 @@ test: biba/high</screen>
<para>Как и можно было ожидать, правила не определены. Это
означает, что доступ полностью открыт. Для создания правила,
которое заблокирует доступ всех пользователей, но не повлияет
- на <username>root</username>, просто запустите следующую
+ на <systemitem class="username">root</systemitem>, просто запустите следующую
команду:</para>
<screen>&prompt.root; <userinput>ugidfw add subject not uid root new object not uid root mode n</userinput></screen>
@@ -883,22 +874,22 @@ test: biba/high</screen>
как <command>ls</command>. Более патриотический список правил
может быть таким:</para>
- <screen>&prompt.root; <userinput>ugidfw set 2 subject uid <replaceable>user1</replaceable> object uid <replaceable>user2</replaceable> mode n</userinput>
-&prompt.root; <userinput>ugidfw set 3 subject uid <replaceable>user1</replaceable> object gid <replaceable>user2</replaceable> mode n</userinput></screen>
+ <screen>&prompt.root; <userinput>ugidfw set 2 subject uid user1 object uid user2 mode n</userinput>
+&prompt.root; <userinput>ugidfw set 3 subject uid user1 object gid user2 mode n</userinput></screen>
<para>Эти команды запретят весь и любой доступ пользователя
- <username>user1</username>, включая просмотр подкаталогов, к
+ <systemitem class="username">user1</systemitem>, включая просмотр подкаталогов, к
домашнему каталогу пользователя
- <username><replaceable>user2</replaceable></username>.</para>
+ <systemitem class="username"><replaceable>user2</replaceable></systemitem>.</para>
- <para>Вместо <username>user1</username> может быть задано
+ <para>Вместо <systemitem class="username">user1</systemitem> может быть задано
<option>not uid <replaceable>user2</replaceable></option>.
Это включит те ограничения,
о которых говорилось выше, для всех пользователей кроме
одного.</para>
<note>
- <para>На пользователя <username>root</username> эти изменения не
+ <para>На пользователя <systemitem class="username">root</systemitem> эти изменения не
повлияют.</para>
</note>
@@ -910,7 +901,7 @@ test: biba/high</screen>
</sect2>
</sect1>
- <sect1 id="mac-ifoff">
+ <sect1 xml:id="mac-ifoff">
<title>Модуль MAC ifoff</title>
<indexterm>
@@ -955,12 +946,12 @@ test: biba/high</screen>
сетевой мониторинг в среде, где сетевой трафик не должен быть
разрешен во время загрузки. Другое предлагаемое применение
это написание скрипта, использующего
- <filename role="package">security/aide</filename> для автоматического
+ <package>security/aide</package> для автоматического
блокирования сетевого трафика, если будут обнаружены новые или
измененные файлы в защищаемых каталогах.</para>
</sect1>
- <sect1 id="mac-portacl">
+ <sect1 xml:id="mac-portacl">
<title>Модуль MAC portacl</title>
<indexterm>
@@ -978,7 +969,7 @@ test: biba/high</screen>
<acronym>UDP</acronym>, используя различные переменные
<command>sysctl</command>. По сути &man.mac.portacl.4;
делает возможной привязку к привилегированным портам, т.е. к портам
- с номерами меньше 1024 для не-<username>root</username>
+ с номерами меньше 1024 для не-<systemitem class="username">root</systemitem>
пользователей.</para>
<para>После загрузки этот модуль включит политику <acronym>MAC</acronym>
@@ -1004,7 +995,7 @@ test: biba/high</screen>
<listitem>
<para><literal>security.mac.portacl.suser_exempt</literal>,
если установлена в ненулевое значение, исключает пользователя
- <username>root</username> из этой политики.</para>
+ <systemitem class="username">root</systemitem> из этой политики.</para>
</listitem>
<listitem>
@@ -1040,7 +1031,7 @@ test: biba/high</screen>
<para>По умолчанию в &unix;-подобных системах порты с номерами
менее чем 1024 могут быть использованы только привилегированными
- процессами, т.е. теми, что запущены от <username>root</username>.
+ процессами, т.е. теми, что запущены от <systemitem class="username">root</systemitem>.
С &man.mac.portacl.4; для разрешения привязки непривилегированных
процессов к портам с номерами ниже 1024 эти стандартные ограничения
&unix; должны быть отменены. Это может быть выполнено путем
@@ -1067,7 +1058,7 @@ test: biba/high</screen>
<screen>&prompt.root; <userinput>sysctl security.mac.portacl.suser_exempt=1</userinput></screen>
- <para>Пользователь <username>root</username> должен быть исключен
+ <para>Пользователь <systemitem class="username">root</systemitem> должен быть исключен
из этой политики, для этого переменная
<literal>security.mac.portacl.suser_exempt</literal>
установлена в ненулевое значение. Модуль &man.mac.portacl.4;
@@ -1077,9 +1068,9 @@ test: biba/high</screen>
<screen>&prompt.root; <userinput>sysctl security.mac.portacl.rules=uid:80:tcp:80</userinput></screen>
<para>Разрешает пользователю с <acronym>UID</acronym> 80 (обычно
- это пользователь <username>www</username>) привязку к порту 80.
- Теперь пользователь <username>www</username> сможет запустить
- веб сервер даже без привилегии <username>root</username>.</para>
+ это пользователь <systemitem class="username">www</systemitem>) привязку к порту 80.
+ Теперь пользователь <systemitem class="username">www</systemitem> сможет запустить
+ веб сервер даже без привилегии <systemitem class="username">root</systemitem>.</para>
<screen>&prompt.root; <userinput>sysctl security.mac.portacl.rules=uid:1001:tcp:110,uid:1001:tcp:995</userinput></screen>
@@ -1091,7 +1082,7 @@ test: biba/high</screen>
</sect2>
</sect1>
- <sect1 id="mac-labelingpolicies">
+ <sect1 xml:id="mac-labelingpolicies">
<title>Политики MAC, использующие метки</title>
<para>В следующих нескольких разделах будут обсуждаться политики
@@ -1111,7 +1102,7 @@ test: biba/high</screen>
<para>Для правильной работы этих политик необходимо выполнить
некоторые приготовления.</para>
- <sect2 id="mac-prep">
+ <sect2 xml:id="mac-prep">
<title>Приготовления к использованию политик с метками</title>
<para>В файл <filename>login.conf</filename> необходимо
@@ -1160,9 +1151,9 @@ test: biba/high</screen>
необходимо запустить команду &man.cap.mkdb.1; на
&man.login.conf.5;.</para>
- <para>Пользователю <username>root</username> также необходимо
+ <para>Пользователю <systemitem class="username">root</systemitem> также необходимо
присвоить класс; иначе, почти любой команде, выполняемой
- от <username>root</username>, потребуется использование
+ от <systemitem class="username">root</systemitem>, потребуется использование
<command>setpmac</command>.</para>
<!-- why?
<warning>
@@ -1195,7 +1186,7 @@ test: biba/high</screen>
</sect2>
</sect1>
- <sect1 id="mac-partition">
+ <sect1 xml:id="mac-partition">
<title>Модуль MAC partition</title>
<indexterm>
@@ -1263,7 +1254,7 @@ test: biba/high</screen>
<note>
<para>Пользователи могут могут увидеть процессы
- <username>root</username>, если не загружена политика
+ <systemitem class="username">root</systemitem>, если не загружена политика
&man.mac.seeotheruids.4;.</para>
</note>
@@ -1281,7 +1272,7 @@ test: biba/high</screen>
</sect2>
</sect1>
- <sect1 id="mac-mls">
+ <sect1 xml:id="mac-mls">
<title>Модуль многоуровневой безопасности MAC (MLS)</title>
<indexterm>
@@ -1405,8 +1396,7 @@ test: biba/high</screen>
<para>Выше представлен краткий обзор возможностей политики
<acronym>MLS</acronym>. Существует метод, связанный с созданием
- основного файла политики в каталоге <filename
- class="directory">/etc</filename>, где будет определена
+ основного файла политики в каталоге <filename>/etc</filename>, где будет определена
необходимая для политики <acronym>MLS</acronym> информация, которая
будет передана команде <command>setfmac</command>. Этот метод будет
описан после рассмотрения всех политик.</para>
@@ -1422,7 +1412,7 @@ test: biba/high</screen>
иметь метку <literal>mls/low</literal>.</para>
</sect1>
- <sect1 id="mac-biba">
+ <sect1 xml:id="mac-biba">
<title>Модуль MAC Biba</title>
<indexterm>
@@ -1539,7 +1529,7 @@ test: biba/low</screen>
целостности.</para>
</sect1>
- <sect1 id="mac-lomac">
+ <sect1 xml:id="mac-lomac">
<title>Модуль MAC LOMAC</title>
<indexterm>
@@ -1592,7 +1582,7 @@ test: biba/low</screen>
</sect2>
</sect1>
- <sect1 id="mac-implementing">
+ <sect1 xml:id="mac-implementing">
<title>Реализация защищенной среды с MAC</title>
<indexterm>
@@ -1674,14 +1664,14 @@ mac_partition_load="YES"</programlisting>
<sect2>
<title>Установка всех пользователей в insecure</title>
- <para>Всем учетным записям, кроме <username>root</username>
+ <para>Всем учетным записям, кроме <systemitem class="username">root</systemitem>
или системных пользователей теперь потребуется присвоить
класс (login class). При отсутствии класса пользователи
не смогут получить доступа к обычным командам, таким как
&man.vi.1;. Следующий скрипт <command>sh</command>
сделает все необходимое:</para>
- <screen>&prompt.root; <userinput>for x in `awk -F: '($3 >= 1001) &amp;&amp; ($3 != 65534) { print $1 }' \</userinput>
+ <screen>&prompt.root; <userinput>for x in `awk -F: '($3 &gt;= 1001) &amp;&amp; ($3 != 65534) { print $1 }' \</userinput>
<userinput>/etc/passwd`; do pw usermod $x -L insecure; done;</userinput></screen>
<para>После этого изменения необходимо запустить команду
@@ -1758,7 +1748,7 @@ default_labels socket ?biba,?mls</programlisting>
<command>adduser</command> и поместите его в класс
<literal>insecure</literal> для этих тестов.</para>
- <para>В примерах ниже тестирование <username>root</username>
+ <para>В примерах ниже тестирование <systemitem class="username">root</systemitem>
и обычных пользователей будет смешиваться; форма
приглашения поможет различить этих пользователей.</para>
@@ -1832,7 +1822,7 @@ PING 192.0.34.166 (192.0.34.166): 56 data bytes
ping: sendto: Permission denied</screen>
<para>Пользователи не могут выполнить ping на
- <hostid role="domainname">example.com</hostid>, или на любой
+ <systemitem class="fqdomainname">example.com</systemitem>, или на любой
домен по этой причине.</para>
<para>Для устранения этой ошибки, запустите следующую
@@ -1872,7 +1862,7 @@ test5: biba/high,mls/equal
&prompt.root; <userinput>chown testuser:testuser test?</userinput></screen>
<para>Все эти файлы должны принадлежать пользователю
- <username>testuser</username>. Тесты на чтение:</para>
+ <systemitem class="username">testuser</systemitem>. Тесты на чтение:</para>
<screen>&prompt.user; <userinput>ls</userinput>
test1 test2 test3 test4 test5
@@ -1888,7 +1878,7 @@ test3 test5</screen>
<literal>(biba/high,mls/high)</literal>.
Теперь несколько тестов на запись:</para>
- <screen>&prompt.user; <userinput>for i in `echo test*`; do echo 1 > $i; done</userinput>
+ <screen>&prompt.user; <userinput>for i in `echo test*`; do echo 1 &gt; $i; done</userinput>
-su: test1: Permission denied
-su: test4: Permission denied
-su: test5: Permission denied</screen>
@@ -1904,7 +1894,7 @@ cat: test2: Permission denied
1
cat: test4: Permission denied</screen>
- <para>А теперь от <username>root</username>:</para>
+ <para>А теперь от <systemitem class="username">root</systemitem>:</para>
<screen>&prompt.root; <userinput>cat test2</userinput>
1</screen>
@@ -1912,7 +1902,7 @@ cat: test4: Permission denied</screen>
</sect2>
</sect1>
- <sect1 id="MAC-examplehttpd">
+ <sect1 xml:id="MAC-examplehttpd">
<title>Другой пример: Использование MAC для защиты веб сервера</title>
<para>Будет создано отдельное хранилище для веб данных,
@@ -1948,7 +1938,7 @@ cat: test4: Permission denied</screen>
<para>Каждого пользователя необходимо поместить в класс по
умолчанию; такая команда:</para>
- <screen>&prompt.root; <userinput>for x in `awk -F: '($3 >= 1001) &amp;&amp; ($3 != 65534) { print $1 }' \</userinput>
+ <screen>&prompt.root; <userinput>for x in `awk -F: '($3 &gt;= 1001) &amp;&amp; ($3 != 65534) { print $1 }' \</userinput>
<userinput>/etc/passwd`; do pw usermod $x -L default; done;</userinput></screen>
<para>быстро решит эту задачу.</para>
@@ -1959,7 +1949,7 @@ cat: test4: Permission denied</screen>
<para>Создайте пользователя для работы с основными веб данными,
хранящимися в репозитории <application>cvs</application>.
Этого пользователя необходимо поместить в новый класс,
- <username>web</username>.</para>
+ <systemitem class="username">web</systemitem>.</para>
<para>Поскольку метка по умолчанию <literal>biba/high</literal>,
на репозитории она будет той же. Веб данные должны иметь
@@ -1984,7 +1974,7 @@ exit;</programlisting>
</note>
<para>Этот скрипт теперь может быть помещен в домашний каталог
- каталог пользователя <username>web</username>, необходимо
+ каталог пользователя <systemitem class="username">web</systemitem>, необходимо
также добавить следующую запись &man.crontab.1;:</para>
<programlisting># Выполнять checkout web данных под меткой biba/low каждые 12 часов:
@@ -2039,7 +2029,7 @@ XXX
</sect1>
-->
- <sect1 id="mac-troubleshoot">
+ <sect1 xml:id="mac-troubleshoot">
<title>Решение проблем с инфраструктурой MAC</title>
<indexterm>
@@ -2128,15 +2118,14 @@ XXX
<step>
<para>Дважды проверьте политики с метками. Убедитесь, что
политики настроены правильно для рассматриваемого пользователя,
- приложения &xfree86;, и устройств в <filename
- class="directory">/dev</filename>.</para>
+ приложения &xfree86;, и устройств в <filename>/dev</filename>.</para>
</step>
<step>
<para>Если проблема не решена, отправьте сообщение об ошибке и
описание вашей системы в список рассылки TrustedBSD,
находящийся на веб сайте
- <ulink url="http://www.TrustedBSD.org">TrustedBSD</ulink>
+ <link xlink:href="http://www.TrustedBSD.org">TrustedBSD</link>
или в &a.questions;.</para>
</step>
</procedure>
@@ -2145,28 +2134,28 @@ XXX
<sect2>
<title>Error: &man..secure.path.3; cannot stat <filename>.login_conf</filename></title>
- <para>При попытке переключения от <username>root</username> на другого
+ <para>При попытке переключения от <systemitem class="username">root</systemitem> на другого
пользователя системы, появляется сообщение об ошибке
<errorname>_secure_path: unable to state .login_conf</errorname>.</para>
<para>Это сообщение обычно показывается, когда у пользователя более
высокая метка, чем у пользователя, которым он пытается стать.
- Например, у пользователя системы <username>joe</username> метка по
+ Например, у пользователя системы <systemitem class="username">joe</systemitem> метка по
умолчанию <option>biba/low</option>. Пользователь
- <username>root</username>, метка которого <option>biba/high</option>,
+ <systemitem class="username">root</systemitem>, метка которого <option>biba/high</option>,
не может просматривать домашний каталог пользователя
- <username>joe</username>. Это не зависит от того, использует ли
- пользователь <username>root</username> команду <command>su</command>
- <username>joe</username> или нет. В этом сценарии модель
- целостности Biba не позволит <username>root</username> просматривать
+ <systemitem class="username">joe</systemitem>. Это не зависит от того, использует ли
+ пользователь <systemitem class="username">root</systemitem> команду <command>su</command>
+ <systemitem class="username">joe</systemitem> или нет. В этом сценарии модель
+ целостности Biba не позволит <systemitem class="username">root</systemitem> просматривать
объекты с низким уровнем целостности.</para>
</sect2>
<sect2>
- <title>Пользователя <username>root</username> нет!</title>
+ <title>Пользователя <systemitem class="username">root</systemitem> нет!</title>
<para>В нормальном или даже однопользовательском режиме
- <username>root</username> не обнаруживается. Команда
+ <systemitem class="username">root</systemitem> не обнаруживается. Команда
<command>whoami</command> возвращает 0 (нуль) и
<command>su</command> возвращает <errorname>who are you?</errorname>.
Что можно сделать?</para>