diff options
Diffstat (limited to 'ru_RU.KOI8-R/books/handbook/security/chapter.xml')
-rw-r--r-- | ru_RU.KOI8-R/books/handbook/security/chapter.xml | 742 |
1 files changed, 319 insertions, 423 deletions
diff --git a/ru_RU.KOI8-R/books/handbook/security/chapter.xml b/ru_RU.KOI8-R/books/handbook/security/chapter.xml index 59d47db0f4..8c80a450b0 100644 --- a/ru_RU.KOI8-R/books/handbook/security/chapter.xml +++ b/ru_RU.KOI8-R/books/handbook/security/chapter.xml @@ -7,30 +7,21 @@ Original revision: r28169 --> - -<chapter id="security"> - <chapterinfo> +<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="security"> + <info><title>Безопасность</title> <authorgroup> - <author> - <firstname>Matthew</firstname> - <surname>Dillon</surname> - <contrib>Большая часть этой главы была взята из страницы справочника - security(7) которую написал </contrib> - </author> + <author><personname><firstname>Matthew</firstname><surname>Dillon</surname></personname><contrib>Большая часть этой главы была взята из страницы справочника + security(7) которую написал </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>Безопасность</title> + <indexterm><primary>безопасность</primary></indexterm> - <sect1 id="security-synopsis"> + <sect1 xml:id="security-synopsis"> <title>Краткое описание</title> <para>Эта глава представляет введение в основные концепции безопасности @@ -116,13 +107,11 @@ <para>В этой книге рассмотрены и другие вопросы безопасности. Например, принудительный контроль доступа (Mandatory Access - Control) рассматривается в <xref - linkend="mac"/>, а брандмауэры в <xref - linkend="firewalls"/>.</para> + Control) рассматривается в <xref linkend="mac"/>, а брандмауэры в <xref linkend="firewalls"/>.</para> </sect1> - <sect1 id="security-intro"> + <sect1 xml:id="security-intro"> <title>Введение</title> <para>Безопасность это первая и основная функция системного @@ -154,7 +143,7 @@ <para>Безопасность системы также относится к различным формам атак, имеющих своей целью вызвать крах системы, или сделать систему недоступной другим способом, но не пытающихся получить доступ к учётной - записи <username>root</username> (<quote>break root</quote>). + записи <systemitem class="username">root</systemitem> (<quote>break root</quote>). Угрозы безопасности могут быть поделены на несколько категорий:</para> <orderedlist> @@ -224,12 +213,12 @@ <para>Кто-то может предположить, что атакующий при наличии доступа к учётной записи пользователя может взломать учётную запись - <username>root</username>. Однако, реальность такова, что в хорошо + <systemitem class="username">root</systemitem>. Однако, реальность такова, что в хорошо защищенной и поддерживаемой системе доступ к учётной записи пользователя - не обязательно даст атакующему доступ к <username>root</username>. + не обязательно даст атакующему доступ к <systemitem class="username">root</systemitem>. Разница между доступом к обычной учётной записи и к - <username>root</username> важна, поскольку без доступа к - <username>root</username> атакующий обычно не способен скрыть свои + <systemitem class="username">root</systemitem> важна, поскольку без доступа к + <systemitem class="username">root</systemitem> атакующий обычно не способен скрыть свои действия, и в худшем случае сможет лишь испортить файлы пользователя или вызвать крах системы. Взлом пользовательских учётных записей встречается очень часто, поскольку пользователи заботятся о безопасности @@ -241,20 +230,20 @@ </indexterm> <para>Системные администраторы должны помнить, что существует множество - потенциальных способов взлома учётной записи <username>root</username>. - Атакующий может узнать пароль <username>root</username>, найти ошибку в + потенциальных способов взлома учётной записи <systemitem class="username">root</systemitem>. + Атакующий может узнать пароль <systemitem class="username">root</systemitem>, найти ошибку в сервисе, работающем с привилегиями и взломать учётную запись - <username>root</username> через сетевое соединение с этим сервисом, или + <systemitem class="username">root</systemitem> через сетевое соединение с этим сервисом, или узнать об ошибке в suid-root программе, позволяющей атакующему взлом - <username>root</username> с помощью взломанной учётной записи + <systemitem class="username">root</systemitem> с помощью взломанной учётной записи пользователя. Если атакующий нашел способ взлома - <username>root</username>, ему может не понадобиться установка backdoor. + <systemitem class="username">root</systemitem>, ему может не понадобиться установка backdoor. Многие из обнаруженных и закрытых на сегодняшний день брешей - в системе, позволяющие взлом <username>root</username>, требуют от + в системе, позволяющие взлом <systemitem class="username">root</systemitem>, требуют от атакующего серьезной работы по заметанию следов, поэтому большинство атакующих устанавливают backdoor. Backdoor предоставляет атакующему простой способ восстановления доступа к системе с привилегиями - <username>root</username>, но также дает системному администратору + <systemitem class="username">root</systemitem>, но также дает системному администратору удобный способ обнаружения вторжения. Устранение возможности установки backdoor возможно повредит безопасности системы, поскольку это не устранит брешь, позволившую проникнуть в @@ -265,12 +254,12 @@ <orderedlist> <listitem> - <para>Защита <username>root</username> и служебных учётных + <para>Защита <systemitem class="username">root</systemitem> и служебных учётных записей.</para> </listitem> <listitem> - <para>Защита работающих под <username>root</username> + <para>Защита работающих под <systemitem class="username">root</systemitem> сервисов и suid/sgid исполняемых файлов.</para> </listitem> @@ -301,7 +290,7 @@ подробно.</para> </sect1> - <sect1 id="securing-freebsd"> + <sect1 xml:id="securing-freebsd"> <title>Защита &os;</title> <indexterm> <primary>безопасность</primary> @@ -319,20 +308,19 @@ </note> <para>В последующем разделе будут рассмотрены методы защиты системы - &os;, упомянутые в <link - linkend="security-intro">предыдущем разделе</link> этой главы.</para> + &os;, упомянутые в <link linkend="security-intro">предыдущем разделе</link> этой главы.</para> - <sect2 id="securing-root-and-staff"> - <title>Защита учётной записи <username>root</username> и служебных + <sect2 xml:id="securing-root-and-staff"> + <title>Защита учётной записи <systemitem class="username">root</systemitem> и служебных учётных записей</title> <indexterm> <primary><command>su</command></primary> </indexterm> <para>Во-первых, не беспокойтесь о защите служебных учётных записей, - если не защищена учётная запись <username>root</username>. В - большинстве систем у учётной записи <username>root</username> есть - пароль. Использование пароля <username>root</username> + если не защищена учётная запись <systemitem class="username">root</systemitem>. В + большинстве систем у учётной записи <systemitem class="username">root</systemitem> есть + пароль. Использование пароля <systemitem class="username">root</systemitem> опасно <emphasis>всегда</emphasis>. Это не означает, что вы должны удалить пароль. Пароль почти всегда необходим для доступа по консоли. Но это означает, что вы должны сделать невозможным @@ -340,47 +328,47 @@ команды &man.su.1;. Например, убедитесь, что псевдо-терминалы в файле <filename>/etc/ttys</filename> перечислены с параметром <literal>insecure</literal>, что делает невозможным вход на них - под <username>root</username> напрямую с помощью + под <systemitem class="username">root</systemitem> напрямую с помощью <command>telnet</command> или <command>rlogin</command>. При использовании других средств входа, таких как <application>sshd</application>, убедитесь что вход под - <username>root</username> напрямую отключен и в них. Сделайте + <systemitem class="username">root</systemitem> напрямую отключен и в них. Сделайте это, открыв файл <filename>/etc/ssh/sshd_config</filename>, и убедившись, что параметр <literal>PermitRootLogin</literal> установлен в <literal>NO</literal>. Проверьте каждый метод доступа — сервис FTP и ему подобные часто подвержены взлому. Прямой - вход под <username>root</username> должен быть разрешен только с + вход под <systemitem class="username">root</systemitem> должен быть разрешен только с системной консоли.</para> <indexterm> - <primary><groupname>wheel</groupname></primary> + <primary><systemitem class="groupname">wheel</systemitem></primary> </indexterm> <para>Конечно, как системный администратор вы должны иметь доступ - <username>root</username>, поэтому потребуется открыть несколько + <systemitem class="username">root</systemitem>, поэтому потребуется открыть несколько <quote>лазеек</quote>. Но убедитесь, что для доступа к ним необходим дополнительный пароль. Одним из способов доступа к - <username>root</username> является добавление соответствующих учётных - записей к группе <groupname>wheel</groupname> (в файле + <systemitem class="username">root</systemitem> является добавление соответствующих учётных + записей к группе <systemitem class="groupname">wheel</systemitem> (в файле <filename>/etc/group</filename>). Это позволяет использовать - <command>su</command> для доступа к <username>root</username>. + <command>su</command> для доступа к <systemitem class="username">root</systemitem>. Вы никогда не должны давать таким учётным записям доступ - к <groupname>wheel</groupname> непосредственно, помещая их в группу - <groupname>wheel</groupname> в файле паролей. Служебные учётные - записи должны помещаться в группу <groupname>staff</groupname>, - а затем добавляться к группе <groupname>wheel</groupname> в файле + к <systemitem class="groupname">wheel</systemitem> непосредственно, помещая их в группу + <systemitem class="groupname">wheel</systemitem> в файле паролей. Служебные учётные + записи должны помещаться в группу <systemitem class="groupname">staff</systemitem>, + а затем добавляться к группе <systemitem class="groupname">wheel</systemitem> в файле <filename>/etc/group</filename>. Только те члены группы staff, - которым действительно нужен доступ к <username>root</username>, - должны быть помещены в группу <groupname>wheel</groupname>. + которым действительно нужен доступ к <systemitem class="username">root</systemitem>, + должны быть помещены в группу <systemitem class="groupname">wheel</systemitem>. При работе с такими методами аутентификации как Kerberos, возможно также использование файла <filename>.k5login</filename> в каталоге - пользователя <username>root</username> для доступа к учётной записи - <username>root</username> с помощью &man.ksu.1; без помещения - кого-либо в группу <groupname>wheel</groupname>. Это решение возможно - лучше, поскольку механизм <groupname>wheel</groupname> все еще - позволяет взлом <username>root</username>, если злоумышленник + пользователя <systemitem class="username">root</systemitem> для доступа к учётной записи + <systemitem class="username">root</systemitem> с помощью &man.ksu.1; без помещения + кого-либо в группу <systemitem class="groupname">wheel</systemitem>. Это решение возможно + лучше, поскольку механизм <systemitem class="groupname">wheel</systemitem> все еще + позволяет взлом <systemitem class="username">root</systemitem>, если злоумышленник получил копию файла паролей и смог взломать служебную учётную запись. - Хотя использование механизма <groupname>wheel</groupname> лучше, - чем работа через <username>root</username> напрямую, это не + Хотя использование механизма <systemitem class="groupname">wheel</systemitem> лучше, + чем работа через <systemitem class="username">root</systemitem> напрямую, это не обязательно самый безопасный способ.</para> <!-- XXX: @@ -390,7 +378,7 @@ --> <para>Непрямой способ защиты служебных учётных записей и конечно - <username>root</username> это использование альтернативных методов + <systemitem class="username">root</systemitem> это использование альтернативных методов доступа и замена зашифрованных паролей на символ <quote><literal>*</literal></quote>. Используя команду &man.vipw.8;, замените каждый зашифрованный пароль служебных учётных @@ -484,9 +472,9 @@ сервисы сторонних разработчиков наиболее подвержены ошибкам. К примеру, работа со старыми версиями <application>imapd</application> или <application>popper</application> это все равно что раздача доступа - <username>root</username> всему миру. Никогда не запускайте + <systemitem class="username">root</systemitem> всему миру. Никогда не запускайте сервисы, которые вы не проверили достаточно внимательно. Многим - сервисам не требуется работа под <username>root</username>. + сервисам не требуется работа под <systemitem class="username">root</systemitem>. Например, даемоны <application>ntalk</application>, <application>comsat</application>, и <application>finger</application> могут быть запущены в так @@ -498,7 +486,7 @@ песочницу. Чем больше уровней (<quote>слоев</quote>) потребуется пройти атакующему, тем меньше вероятность его успеха. Ошибки, позволяющие получать root доступ, находили фактически во всех - сервисах, запускаемых под <username>root</username>, включая + сервисах, запускаемых под <systemitem class="username">root</systemitem>, включая основные системные сервисы. Если вы обслуживаете машину, на которую входят только через <application>sshd</application> и никогда не входят через <application>telnetd</application>, @@ -531,18 +519,18 @@ и другие. Некоторым из этих сервисов есть альтернативы, но их установка может потребовать больше работы, чем вы готовы выполнить (фактор удобства). Вы можете запустить эти сервисы под - <username>root</username> и положиться на другие механизмы обнаружения + <systemitem class="username">root</systemitem> и положиться на другие механизмы обнаружения вторжений, которые могут пройти через них.</para> - <para>Другая большая потенциальная <username>root</username> брешь + <para>Другая большая потенциальная <systemitem class="username">root</systemitem> брешь в системе это suid-root и sgid исполняемые файлы. Большинство этих исполняемых файлов, таких как <application>rlogin</application>, установлены в <filename>/bin</filename>, <filename>/sbin</filename>, <filename>/usr/bin</filename>, или <filename>/usr/sbin</filename>. Хотя ничто не может быть безопасно на 100%, находящиеся по умолчанию в системе suid и sgid исполняемые файлы могут быть признаны - достаточно безопасными. Но <username>root</username> бреши все еще - обнаруживаются в этих исполняемых файлах. <username>root</username> + достаточно безопасными. Но <systemitem class="username">root</systemitem> бреши все еще + обнаруживаются в этих исполняемых файлах. <systemitem class="username">root</systemitem> брешь, обнаруженная в <literal>Xlib</literal> в 1998 делала <application>xterm</application> (который обычно suid) подверженным взлому. Лучше сразу принять меры предосторожности, чем сожалеть @@ -561,7 +549,7 @@ может отслеживать последовательности клавиш, отправляемые через псевдо-терминалы, включая те, что используют защищённые соединения. Нарушитель, вошедший в группу - <groupname>tty</groupname> может сделать вывод почти на любой + <systemitem class="groupname">tty</systemitem> может сделать вывод почти на любой пользовательский терминал. Если пользователь работает с терминальной программой или эмулятором с возможностью эмуляции клавиатуры, взломщик может потенциально сгенерировать поток данных, @@ -569,7 +557,7 @@ запущена с правами этого пользователя.</para> </sect2> - <sect2 id="secure-users"> + <sect2 xml:id="secure-users"> <title>Защита учётных записей пользователей</title> <para>Учетные записи пользователей обычно сложнее всего защитить. @@ -593,13 +581,12 @@ <literal>*</literal> максимально возможного количества паролей и использование ssh или Kerberos для доступа к таким учётным записям. Хотя файл с шифрованными паролями (<filename>/etc/spwd.db</filename>) - доступен для чтения только <username>root</username>, возможно, что + доступен для чтения только <systemitem class="username">root</systemitem>, возможно, что нарушитель сможет получить доступ на чтение к этому файлу, даже если - не получит права <username>root</username> на запись.</para> + не получит права <systemitem class="username">root</systemitem> на запись.</para> <para>Ваши скрипты безопасности должны всегда проверять и составлять - отчет об изменениях файла паролей (обратитесь к разделу <link - linkend="security-integrity">Проверка целостности файлов</link> + отчет об изменениях файла паролей (обратитесь к разделу <link linkend="security-integrity">Проверка целостности файлов</link> ниже по тексту).</para> </sect2> @@ -607,26 +594,26 @@ <title>Защита ядра, raw устройств и файловых систем</title> - <para>Если атакующий взломает <username>root</username>, он сможет + <para>Если атакующий взломает <systemitem class="username">root</systemitem>, он сможет сделать практически все, но есть способы усложнить его задачу. Например, в большинстве современных ядер встроено устройство перехвата пакетов. В &os; оно называется - <devicename>bpf</devicename>. Нарушитель обычно пытается запустить + <filename>bpf</filename>. Нарушитель обычно пытается запустить перехват пакетов на взломанной машине. Вы не должны предоставлять ему такой возможности, на большинстве систем устройство - <devicename>bpf</devicename> не должно быть встроено в ядро.</para> + <filename>bpf</filename> не должно быть встроено в ядро.</para> <indexterm> <primary><command>sysctl</command></primary> </indexterm> - <para>Но даже если вы выключите устройство <devicename>bpf</devicename>, + <para>Но даже если вы выключите устройство <filename>bpf</filename>, все еще остаются проблемы, связанные с устройствами <filename>/dev/mem</filename> и <filename>/dev/kmem</filename>. Нарушитель все еще может писать на дисковые raw устройства. Есть также другая возможность ядра, загрузка модулей, &man.kldload.8;. Активный нарушитель может использовать KLD модуль для установки - собственного устройства <devicename>bpf</devicename> или другого + собственного устройства <filename>bpf</filename> или другого перехватывающего устройства на работающее ядро. Для решения этих проблем запускайте ядро с большим уровнем безопасности, как минимум 1. Уровень безопасности может быть установлен с помощью @@ -649,7 +636,7 @@ вторжения.</para> </sect2> - <sect2 id="security-integrity"> + <sect2 xml:id="security-integrity"> <title>Проверка целостности файлов: исполняемые, конфигурационные файлы и т.д.</title> @@ -835,7 +822,7 @@ сети путем соответствующей настройки брандмауэра на внешнем маршрутизаторе. Идея в том, чтобы предотвратить перегрузку сервисов атаками из внешней сети, а кроме того защитить - <username>root</username> от взлома через сеть. Всегда настраивайте + <systemitem class="username">root</systemitem> от взлома через сеть. Всегда настраивайте исключающий брандмауэр, т.е. <quote>закрыть все <emphasis>кроме</emphasis> портов A, B, C, D, и M-Z</quote>. Этим способом вы можете закрыть все порты нижнего диапазона, @@ -953,7 +940,7 @@ эти ключи могут быть использованы для взлома. Атакующему не удастся получить сами ключи, но поскольку ssh открывает порт во время входа в систему, то если на незащищенной машине - взломан <username>root</username>, эти ключи могут быть использованы + взломан <systemitem class="username">root</systemitem>, эти ключи могут быть использованы для доступа к другим компьютерам, на которых они действуют.</para> <para>Мы рекомендуем использовать ssh в комбинации с Kerberos @@ -971,19 +958,15 @@ </sect2> </sect1> - <sect1 id="crypt"> - <sect1info> + <sect1 xml:id="crypt"> + <info><title>DES, MD5, и шифрование</title> <authorgroup> - <author> - <firstname>Bill</firstname> - <surname>Swingle</surname> - <contrib>Частично переписал и обновил </contrib> - </author> + <author><personname><firstname>Bill</firstname><surname>Swingle</surname></personname><contrib>Частично переписал и обновил </contrib></author> </authorgroup> - <!-- 21 Mar 2000 --> - </sect1info> + + </info> - <title>DES, MD5, и шифрование</title> + <indexterm> <primary>безопасность</primary> <secondary>шифрование</secondary> @@ -1049,7 +1032,7 @@ </sect2> </sect1> - <sect1 id="one-time-passwords"> + <sect1 xml:id="one-time-passwords"> <title>Одноразовые пароли</title> <indexterm><primary>одноразовые пароли</primary></indexterm> <indexterm> @@ -1309,18 +1292,14 @@ Enter secret pass phrase: <userinput><secret password></userinput> </sect2> </sect1> - <sect1 id="tcpwrappers"> - <sect1info> + <sect1 xml:id="tcpwrappers"> + <info><title>TCP Wrappers</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> - </sect1info> + </info> - <title>TCP Wrappers</title> + <indexterm><primary>TCP Wrappers</primary></indexterm> @@ -1404,7 +1383,7 @@ Enter secret pass phrase: <userinput><secret password></userinput> <para>Существуют и другие параметры, но они будут описаны в следующих разделах. Простая конфигурация может быть, например, такой: для разрешения соединений по протоколу <acronym>POP</acronym>3 - к даемону <filename role="package">mail/qpopper</filename>, + к даемону <package>mail/qpopper</package>, в <filename>hosts.allow</filename> необходимо добавить следующие строки:</para> @@ -1476,7 +1455,7 @@ ALL : .example.com \ : deny</programlisting> <para>отклонит все попытки соединения из домена - <hostid role="fqdn">*.example.com</hostid>; имя хоста, + <systemitem class="fqdomainname">*.example.com</systemitem>; имя хоста, <acronym>IP</acronym> адрес и даемон протоколируются в файл <filename>/var/log/connections.log</filename>.</para> @@ -1533,25 +1512,17 @@ sendmail : PARANOID : deny</programlisting> Возможно, требуется существенная переработка перевода. --> - <sect1 id="kerberosIV"> - <sect1info> + <sect1 xml:id="kerberosIV"> + <info><title><application>KerberosIV</application></title> <authorgroup> - <author> - <firstname>Mark</firstname> - <surname>Murray</surname> - <contrib>Предоставил </contrib> - </author> + <author><personname><firstname>Mark</firstname><surname>Murray</surname></personname><contrib>Предоставил </contrib></author> </authorgroup> <authorgroup> - <author> - <firstname>Mark</firstname> - <surname>Dapoz</surname> - <contrib>Оригинальный текст предоставил </contrib> - </author> + <author><personname><firstname>Mark</firstname><surname>Dapoz</surname></personname><contrib>Оригинальный текст предоставил </contrib></author> </authorgroup> - </sect1info> + </info> - <title><application>KerberosIV</application></title> + <para>Kerberos это сетевая дополнительная система/протокол, которая делает возможной аутентификацию пользователей через сервисы на защищенном @@ -1586,7 +1557,7 @@ sendmail : PARANOID : deny</programlisting> <para>Кроме того, реализация MIT Kerberos доступна из Коллекции Портов в виде пакета - <filename role="package">security/krb5</filename>.</para> + <package>security/krb5</package>.</para> </sect2> <sect2> @@ -1610,7 +1581,7 @@ README krb.conf krb.realms</screen> <para>Затем отредактируйте файлы <filename>krb.conf</filename> и <filename>krb.realms</filename>, введя ваши данные. В этом примере уникальный идентификатор <literal>EXAMPLE.COM</literal>, сервер - <hostid role="fqdn">grunt.example.com</hostid>. Отредактируем или + <systemitem class="fqdomainname">grunt.example.com</systemitem>. Отредактируем или создадим файл <filename>krb.conf</filename>:</para> <screen>&prompt.root; <userinput>cat krb.conf</userinput> @@ -1638,10 +1609,10 @@ ARC.NASA.GOV trident.arc.nasa.gov</screen> администрирования базы данных. За дальнейшей информацией об этих терминах обратитесь к страницам справочника по Kerberos.</para> - <para>Мы добавили <hostid role="fqdn">grunt.example.com</hostid> + <para>Мы добавили <systemitem class="fqdomainname">grunt.example.com</systemitem> к идентификатору <literal>EXAMPLE.COM</literal> и кроме того сопоставили всем хостам в домене - <hostid role="domainname">.example.com</hostid> идентификатор + <systemitem class="fqdomainname">.example.com</systemitem> идентификатор <literal>EXAMPLE.COM</literal>. Файл <filename>krb.realms</filename> будет выглядеть так:</para> @@ -1787,7 +1758,7 @@ Generating 'grunt-new-srvtab'....</screen> <para>Если файл предназначен для клиентской системы, и сеть не безопасна, скопируйте - <filename><replaceable>client</replaceable>-new-srvtab</filename> + <filename>client-new-srvtab</filename> на съемный носитель и перенесите файл с его помощью. Убедитесь, что переименовали его в <filename>srvtab</filename> в каталоге <filename>/etc/kerberosIV</filename> клиента, и что режим доступа к @@ -1801,7 +1772,7 @@ Generating 'grunt-new-srvtab'....</screen> <title>Пополнение базы данных</title> <para>Теперь необходимо добавить в базу данных пользователей. - Во-первых, создадим запись для пользователя <username>jane</username>. + Во-первых, создадим запись для пользователя <systemitem class="username">jane</systemitem>. Используйте команду <command>kdb_edit</command>:</para> <screen>&prompt.root; <userinput>kdb_edit</userinput> @@ -1862,7 +1833,7 @@ Current Kerberos master key version is 1. Master key entered. BEWARE!</screen> <para>Теперь для получения доступа через созданного пользователя - <username>jane</username> используйте <command>kinit</command>:</para> + <systemitem class="username">jane</systemitem> используйте <command>kinit</command>:</para> <screen>&prompt.user; <userinput>kinit jane</userinput> MIT Project Athena (grunt.example.com) @@ -1897,10 +1868,10 @@ Password changed.</screen> <para>Kerberos позволяет назначить <emphasis>каждому</emphasis> пользователю, который нуждается в привилегиях - <username>root</username>, свой <emphasis>собственный</emphasis> + <systemitem class="username">root</systemitem>, свой <emphasis>собственный</emphasis> пароль &man.su.1;. Необходимо добавить учётную запись, которой - разрешено получать <username>root</username> доступ через &man.su.1;. - Это делается путем связывания учётной записи <username>root</username> + разрешено получать <systemitem class="username">root</systemitem> доступ через &man.su.1;. + Это делается путем связывания учётной записи <systemitem class="username">root</systemitem> с пользовательской учётной записью. Создадим в базе данных Kerberos запись <literal>jane.root</literal> с помощью <command>kdb_edit</command>:</para> @@ -1941,7 +1912,7 @@ MIT Project Athena (grunt.example.com) Kerberos Initialization for "jane.root" <prompt>Password:</prompt></screen> - <para>Необходимо добавить пользователя к <username>root</username> + <para>Необходимо добавить пользователя к <systemitem class="username">root</systemitem> файлу <filename>.klogin</filename>:</para> <screen>&prompt.root; <userinput>cat /root/.klogin</userinput> @@ -1970,11 +1941,11 @@ May 2 20:43:12 May 3 04:43:12 krbtgt.EXAMPLE.COM@EXAMPLE.COM</screen> (instance). Она основана на пользователе с таким же именем, как и идентификатор, что принято Kerberos по умолчанию; <literal><principal>.<instance></literal> в форме - <literal><username>.</literal><username>root</username> + <literal><username>.</literal><systemitem class="username">root</systemitem> позволяет использовать &man.su.1; для доступа к - <username>root</username>, если соответствующие записи находятся + <systemitem class="username">root</systemitem>, если соответствующие записи находятся в файле <filename>.klogin</filename> домашнего каталога - <username>root</username>:</para> + <systemitem class="username">root</systemitem>:</para> <screen>&prompt.root; <userinput>cat /root/.klogin</userinput> jane.root@EXAMPLE.COM</screen> @@ -1988,13 +1959,13 @@ jack@EXAMPLE.COM</screen> <para>это позволит любому с идентификатором <literal>EXAMPLE.COM</literal>, кто аутентифицировался как - <username>jane</username> или <username>jack</username> + <systemitem class="username">jane</systemitem> или <systemitem class="username">jack</systemitem> (с помощью команды <command>kinit</command>, см. выше) - получить доступ к учётной записи пользователя <username>jane</username> - или файлам этой системы (<hostid>grunt</hostid>) через + получить доступ к учётной записи пользователя <systemitem class="username">jane</systemitem> + или файлам этой системы (<systemitem>grunt</systemitem>) через &man.rlogin.1;, &man.rsh.1; или &man.rcp.1;.</para> - <para>Например, <username>jane</username> может входить в другую систему + <para>Например, <systemitem class="username">jane</systemitem> может входить в другую систему используя Kerberos:</para> <screen>&prompt.user; <userinput>kinit</userinput> @@ -2007,9 +1978,9 @@ Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen> - <para>Или <username>jack</username> входит в учётную запись - <username>jane</username>'s на этом же компьютере - (файл <filename>.klogin</filename> <username>jane</username> + <para>Или <systemitem class="username">jack</systemitem> входит в учётную запись + <systemitem class="username">jane</systemitem>'s на этом же компьютере + (файл <filename>.klogin</filename> <systemitem class="username">jane</systemitem> настроен как показано выше, и в Kerberos настроена учётная запись <emphasis>jack</emphasis>):</para> @@ -2024,25 +1995,17 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen> </sect2> </sect1> - <sect1 id="kerberos5"> - <sect1info> + <sect1 xml:id="kerberos5"> + <info><title><application>Kerberos5</application></title> <authorgroup> - <author> - <firstname>Tillman</firstname> - <surname>Hodgson</surname> - <contrib>Предоставил </contrib> - </author> + <author><personname><firstname>Tillman</firstname><surname>Hodgson</surname></personname><contrib>Предоставил </contrib></author> </authorgroup> <authorgroup> - <author> - <firstname>Mark</firstname> - <surname>Murray</surname> - <contrib>Оригинальный материал предоставил </contrib> - </author> + <author><personname><firstname>Mark</firstname><surname>Murray</surname></personname><contrib>Оригинальный материал предоставил </contrib></author> </authorgroup> - </sect1info> + </info> - <title><application>Kerberos5</application></title> + <para>Все релизы &os; после &os;-5.1 включают поддержку только <application>Kerberos5</application>. Таким образом, @@ -2052,7 +2015,7 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen> информация применима только к <application>Kerberos5</application> из релизов после &os;-5.0. Пользователи, желающие использовать пакет <application>KerberosIV</application>, могут установить его из - порта <filename role="package">security/krb4</filename>.</para> + порта <package>security/krb4</package>.</para> <para><application>Kerberos</application> это дополнительная сетевая система/протокол, позволяющая пользователям авторизоваться через @@ -2134,14 +2097,13 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995</screen> в <acronym>США</acronym> как криптографический продукт, и в этом качестве попадал под действие ограничений на экспорт. <acronym>MIT</acronym> <application>Kerberos</application> - доступен в виде порта (<filename - role="package">security/krb5</filename>). Heimdal + доступен в виде порта (<package>security/krb5</package>). Heimdal <application>Kerberos</application> это другая реализация версии 5, которая разрабатывалась исключительно вне <acronym>США</acronym> для обхода экспортных ограничений (и поэтому часто включалась в некоммерческие реализации &unix;). Heimdal <application>Kerberos</application> доступен в виде порта - (<filename role="package">security/heimdal</filename>), + (<package>security/heimdal</package>), его минимальный комплект включен в базовую установку &os;.</para> <para>В целях получения наибольшей аудитории, в этих инструкциях @@ -2196,7 +2158,7 @@ kadmind5_server_enable="YES"</programlisting> <para>Обратите внимание что в файле <filename>/etc/krb5.conf</filename> подразумевается наличие у <acronym>KDC</acronym> полного имени - <hostid role="fqdn">kerberos.example.org</hostid>. Вам потребуется + <systemitem class="fqdomainname">kerberos.example.org</systemitem>. Вам потребуется добавить CNAME (синоним) к файлу зоны, если у <acronym>KDC</acronym> другое имя.</para> @@ -2209,7 +2171,7 @@ kadmind5_server_enable="YES"</programlisting> default_realm = EXAMPLE.ORG</programlisting> <para>Со следующими строками, добавленными в файл зоны - <hostid role="fqdn">example.org</hostid>:</para> + <systemitem class="fqdomainname">example.org</systemitem>:</para> <programlisting>_kerberos._udp IN SRV 01 00 88 kerberos.example.org. _kerberos._tcp IN SRV 01 00 88 kerberos.example.org. @@ -2259,9 +2221,9 @@ Master key: <userinput>xxxxxxxx</userinput> Verifying password - Master key: <userinput>xxxxxxxx</userinput> &prompt.root; <userinput>kadmin -l</userinput> -kadmin> <userinput>init EXAMPLE.ORG</userinput> +kadmin> <userinput>init EXAMPLE.ORG</userinput> Realm max ticket life [unlimited]: -kadmin> <userinput>add tillman</userinput> +kadmin> <userinput>add tillman</userinput> Max ticket life [unlimited]: Max renewable life [unlimited]: Attributes []: @@ -2279,7 +2241,7 @@ Verifying password - Password: <userinput>xxxxxxxx</userinput></screen> что самостоятельно создали из командной строки самого <acronym>KDC</acronym>:</para> - <screen>&prompt.user; <userinput>k5init <replaceable>tillman</replaceable></userinput> + <screen>&prompt.user; <userinput>k5init tillman</userinput> tillman@EXAMPLE.ORG's Password: &prompt.user; <userinput>k5list</userinput> @@ -2345,12 +2307,12 @@ Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EXAMPLE.ORG@EXAMPLE.ORG</screen> эту запись в собственный keytab файл сервера. Например:</para> <screen>&prompt.root; <userinput>kadmin</userinput> -kadmin><userinput> add --random-key host/myserver.example.org</userinput> +kadmin><userinput> add --random-key host/myserver.example.org</userinput> Max ticket life [unlimited]: Max renewable life [unlimited]: Attributes []: -kadmin><userinput> ext host/myserver.example.org</userinput> -kadmin><userinput> exit</userinput></screen> +kadmin><userinput> ext host/myserver.example.org</userinput> +kadmin><userinput> exit</userinput></screen> <para>Обратите внимание, что команда <command>ext</command> (сокращение от <quote>extract</quote>) сохраняет полученный ключ в @@ -2360,14 +2322,14 @@ kadmin><userinput> exit</userinput></screen> <command>kadmind</command> (возможно по соображениям безопасности) и вы не можете получить доступ к <command>kadmin</command> удаленно, возможно добавление записи хоста - (<username>host/myserver.EXAMPLE.ORG</username>) непосредственно + (<systemitem class="username">host/myserver.EXAMPLE.ORG</systemitem>) непосредственно на <acronym>KDC</acronym> с последующим извлечением ее во временный файл (и перезаписью <filename>/etc/krb5.keytab</filename> на <acronym>KDC</acronym>) примерно так:</para> <screen>&prompt.root; <userinput>kadmin</userinput> -kadmin><userinput> ext --keytab=/tmp/example.keytab host/myserver.example.org</userinput> -kadmin><userinput> exit</userinput></screen> +kadmin><userinput> ext --keytab=/tmp/example.keytab host/myserver.example.org</userinput> +kadmin><userinput> exit</userinput></screen> <para>Затем вы можете скопировать keytab на сервер защищенным способом (например, используя <command>scp</command> или дискету). @@ -2468,18 +2430,18 @@ kadmin><userinput> exit</userinput></screen> <para>Учётные записи пользователя в <application>Kerberos</application> (например - <username>tillman@EXAMPLE.ORG</username>) обычно связаны с + <systemitem class="username">tillman@EXAMPLE.ORG</systemitem>) обычно связаны с локальными учётными записями (например с локальной учётной записью6 - <username>tillman</username>). Клиентские приложения, такие как + <systemitem class="username">tillman</systemitem>). Клиентские приложения, такие как <command>telnet</command>, обычно не требуют указания имени пользователя или учётной записи.</para> <para>Тем не менее, время от времени вам может потребоваться дать доступ к локальной учётной записи кому-то, у кого нет соответствующей учётной записи <application>Kerberos</application>. - Например, пользователю <username>tillman@EXAMPLE.ORG</username> + Например, пользователю <systemitem class="username">tillman@EXAMPLE.ORG</systemitem> может потребоваться доступ к локальной учётной записи - <username>webdevelopers</username>. Другим учётным записям + <systemitem class="username">webdevelopers</systemitem>. Другим учётным записям также может потребоваться доступ к этой локальной учётной записи.</para> @@ -2495,7 +2457,7 @@ kadmin><userinput> exit</userinput></screen> jdoe@example.org</screen> <para>помещен в домашний каталог локального пользователя - <username>webdevelopers</username>, то обе упомянутые учётные + <systemitem class="username">webdevelopers</systemitem>, то обе упомянутые учётные записи получат доступ к этой учётной записи без необходимости наличия общего пароля.</para> @@ -2540,10 +2502,10 @@ jdoe@example.org</screen> <listitem> <para>Если вы изменяете hostname, потребуется также изменить - учётную запись <username>host/</username> и обновить keytab. + учётную запись <systemitem class="username">host/</systemitem> и обновить keytab. Это также необходимо для специальных записей в keytab, таких - как <username>www/</username> запись модуля Apache - <filename role="package">www/mod_auth_kerb</filename>.</para> + как <systemitem class="username">www/</systemitem> запись модуля Apache + <package>www/mod_auth_kerb</package>.</para> </listitem> <listitem> @@ -2560,7 +2522,7 @@ jdoe@example.org</screen> <listitem> <para>Некоторые операционные системы, способные работать в качестве клиентов <acronym>KDC</acronym> не устанавливают права - для <command>ksu</command> в setuid <username>root</username>. + для <command>ksu</command> в setuid <systemitem class="username">root</systemitem>. Это означает, что <command>ksu</command> не работает, что хорошо является хорошей идеей для безопасности, но неудобно. Это не ошибка <acronym>KDC</acronym>.</para> @@ -2573,7 +2535,7 @@ jdoe@example.org</screen> умолчанию, используйте команду <command>modify_principal</command> в <command>kadmin</command> для изменения maxlife доступа к самой - учётной записи и к учётной записи <username>krbtgt</username>. + учётной записи и к учётной записи <systemitem class="username">krbtgt</systemitem>. Затем возможно использование <command>kinit</command> с параметром <literal>-l</literal> для запроса доступа с большим временем действия.</para> @@ -2654,7 +2616,7 @@ jdoe@example.org</screen> <para>Опции командной строки клиентов также могут немного отличаться для одинаковых задач. Рекомендуется следование инструкциям на <acronym>MIT</acronym> <application>Kerberos</application> - Web-сайте (<ulink url="http://web.mit.edu/Kerberos/www/"></ulink>). + Web-сайте (<uri xlink:href="http://web.mit.edu/Kerberos/www/">http://web.mit.edu/Kerberos/www/</uri>). Будьте внимательны при определении <envar>PATH</envar>: порт <acronym>MIT</acronym> устанавливается по умолчанию в <filename>/usr/local/</filename>, и если в <envar>PATH</envar> @@ -2663,7 +2625,7 @@ jdoe@example.org</screen> приложения.</para> <note><para>С портом <acronym>MIT</acronym> - <filename role="package">security/krb5</filename>, предоставляемым + <package>security/krb5</package>, предоставляемым &os;, убедитесь что файл <filename>/usr/local/share/doc/krb5/README.FreeBSD</filename> установлен портом, если вы хотите понять почему вход через @@ -2763,7 +2725,7 @@ jdoe@example.org</screen> для пользователей, хостов или сервисов. Это означает, что поддельный <command>kinit</command> (например) может записывать все имена пользователей и паролей. Помочь решить проблему может - <filename role="package">security/tripwire</filename> или + <package>security/tripwire</package> или другой инструмент проверки целостности файловой системы.</para> </sect3> @@ -2779,52 +2741,43 @@ jdoe@example.org</screen> <itemizedlist> <listitem> - <para><ulink - url="http://www.faqs.org/faqs/Kerberos-faq/general/preamble.html"> - <application>Kerberos</application> FAQ</ulink></para> + <para><link xlink:href="http://www.faqs.org/faqs/Kerberos-faq/general/preamble.html"> + <application>Kerberos</application> FAQ</link></para> </listitem> <listitem> - <para><ulink - url="http://web.mit.edu/Kerberos/www/dialogue.html">Разработка - системы аутентификации: диалог в четырех сценах</ulink></para> + <para><link xlink:href="http://web.mit.edu/Kerberos/www/dialogue.html">Разработка + системы аутентификации: диалог в четырех сценах</link></para> </listitem> <listitem> - <para><ulink - url="http://www.ietf.org/rfc/rfc1510.txt?number=1510">RFC 1510, + <para><link xlink:href="http://www.ietf.org/rfc/rfc1510.txt?number=1510">RFC 1510, <application>Kerberos</application> Network Authentication Service - (V5)</ulink></para> + (V5)</link></para> </listitem> <listitem> - <para><ulink - url="http://web.mit.edu/Kerberos/www/">Домашняя страница + <para><link xlink:href="http://web.mit.edu/Kerberos/www/">Домашняя страница <acronym>MIT</acronym> - <application>Kerberos</application></ulink></para> + <application>Kerberos</application></link></para> </listitem> <listitem> - <para><ulink - url="http://www.pdc.kth.se/heimdal/">Домашняя страница - Heimdal <application>Kerberos</application></ulink></para> + <para><link xlink:href="http://www.pdc.kth.se/heimdal/">Домашняя страница + Heimdal <application>Kerberos</application></link></para> </listitem> </itemizedlist> </sect2> </sect1> - <sect1 id="openssl"> - <sect1info> + <sect1 xml:id="openssl"> + <info><title>OpenSSL</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> - </sect1info> - <title>OpenSSL</title> + </info> + <indexterm> <primary>безопасность</primary> <secondary>OpenSSL</secondary> @@ -2840,14 +2793,14 @@ jdoe@example.org</screen> <para><application>OpenSSL</application> может использоваться для шифрования соединений почтовых клиентов, транзакций через интернет, например для кредитных карт, и многого другого. Многие порты, - такие как <filename role="package">www/apache13-ssl</filename> и - <filename role="package">mail/sylpheed-claws</filename> собираются + такие как <package>www/apache13-ssl</package> и + <package>mail/sylpheed-claws</package> собираются с <application>OpenSSL</application>.</para> <note> <para>В большинстве случаев в Коллекции Портов будет сделана попытка - построения порта <filename role="package">security/openssl</filename>, - если только переменная <makevar>WITH_OPENSSL_BASE</makevar> + построения порта <package>security/openssl</package>, + если только переменная <varname>WITH_OPENSSL_BASE</varname> не установлена явно в <quote>yes</quote>.</para> </note> @@ -2863,7 +2816,7 @@ jdoe@example.org</screen> ограничений Соединенных Штатов. Для его использования необходимо ознакомиться с лицензией, и, если ограничения приемлемы, установить в <filename>make.conf</filename> переменную - <makevar>MAKE_IDEA</makevar>.</para> + <varname>MAKE_IDEA</varname>.</para> </note> <para>Наиболее часто <application>OpenSSL</application> @@ -2873,8 +2826,8 @@ jdoe@example.org</screen> сертификат не был проверен одним из нескольких сертификационных центров (<quote>Certificate Authorities</quote> - <acronym>CA</acronym>), обычно выводится предупреждение. Центр сертификации представляет собой - компанию, такую, как <ulink url="http://www.verisign.com"> - VeriSign</ulink>, которая подписывает сертификаты для подтверждения + компанию, такую, как <link xlink:href="http://www.verisign.com"> + VeriSign</link>, которая подписывает сертификаты для подтверждения данных частных лиц или компаний. Эта процедура не бесплатна и не является абсолютно необходимой для использования сертификатов; однако может успокоить некоторых особо осторожных @@ -2904,18 +2857,18 @@ There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- -Country Name (2 letter code) [AU]:<userinput><replaceable>US</replaceable></userinput> -State or Province Name (full name) [Some-State]:<userinput><replaceable>PA</replaceable></userinput> -Locality Name (eg, city) []:<userinput><replaceable>Pittsburgh</replaceable></userinput> -Organization Name (eg, company) [Internet Widgits Pty Ltd]:<userinput><replaceable>My Company</replaceable></userinput> -Organizational Unit Name (eg, section) []:<userinput><replaceable>Systems Administrator</replaceable></userinput> -Common Name (eg, YOUR name) []:<userinput><replaceable>localhost.example.org</replaceable></userinput> -Email Address []:<userinput><replaceable>trhodes@FreeBSD.org</replaceable></userinput> +Country Name (2 letter code) [AU]:<userinput>US</userinput> +State or Province Name (full name) [Some-State]:<userinput>PA</userinput> +Locality Name (eg, city) []:<userinput>Pittsburgh</userinput> +Organization Name (eg, company) [Internet Widgits Pty Ltd]:<userinput>My Company</userinput> +Organizational Unit Name (eg, section) []:<userinput>Systems Administrator</userinput> +Common Name (eg, YOUR name) []:<userinput>localhost.example.org</userinput> +Email Address []:<userinput>trhodes@FreeBSD.org</userinput> Please enter the following 'extra' attributes to be sent with your certificate request -A challenge password []:<userinput><replaceable>SOME PASSWORD</replaceable></userinput> -An optional company name []:<userinput><replaceable>Another Name</replaceable></userinput></screen> +A challenge password []:<userinput>SOME PASSWORD</userinput> +An optional company name []:<userinput>Another Name</userinput></screen> <para>Ввод после приглашения <quote>Common Name</quote> содержит имя домена. Здесь вводится имя сервера для @@ -2941,21 +2894,21 @@ An optional company name []:<userinput><replaceable>Another Name</replaceable></ быть создан самоподписанный сертификат. Сначала создайте ключ <acronym>RSA</acronym>:</para> - <screen>&prompt.root; <userinput>openssl dsaparam -rand -genkey -out <filename>myRSA.key</filename> 1024</userinput></screen> + <screen>&prompt.root; <userinput>openssl dsaparam -rand -genkey -out myRSA.key 1024</userinput></screen> <para>Теперь создайте ключ <acronym>CA</acronym>:</para> - <screen>&prompt.root; <userinput>openssl gendsa -des3 -out <filename>myca.key</filename> <filename>myRSA.key</filename></userinput></screen> + <screen>&prompt.root; <userinput>openssl gendsa -des3 -out myca.key myRSA.key</userinput></screen> <para>Используйте этот ключ при создании сертификата:</para> - <screen>&prompt.root; <userinput>openssl req -new -x509 -days 365 -key <filename>myca.key</filename> -out <filename>new.crt</filename></userinput></screen> + <screen>&prompt.root; <userinput>openssl req -new -x509 -days 365 -key myca.key -out new.crt</userinput></screen> <para>В каталоге должно появиться два новых файла: подпись сертификата, <filename>myca.key</filename> и сам сертификат, <filename>new.crt</filename>. Они должны быть помещены в каталог, - доступный для чтения только <username>root</username>, - желательно внутри <filename class="directory">/etc</filename>. + доступный для чтения только <systemitem class="username">root</systemitem>, + желательно внутри <filename>/etc</filename>. Права на каталог можно изменить <command>chmod</command> с параметрами 0700.</para> </sect2> @@ -2988,12 +2941,12 @@ define(`confSERVER_CERT',`/etc/certs/new.crt')dnl define(`confSERVER_KEY',`/etc/certs/myca.key')dnl define(`confTLS_SRV_OPTIONS', `V')dnl</programlisting> - <para>Где <filename class="directory">/etc/certs/</filename> + <para>Где <filename>/etc/certs/</filename> это каталог для локального хранения сертификата и ключей. После настройки необходимо собрать локальный файл <filename>.cf</filename>. Это легко сделать, набрав <command>make</command> <parameter>install</parameter> - в каталоге <filename class="directory">/etc/mail</filename>. + в каталоге <filename>/etc/mail</filename>. Затем выполните команду <command>make</command> <parameter>restart</parameter>, которая должна запустить даемон <application>Sendmail</application>.</para> @@ -3006,12 +2959,12 @@ define(`confTLS_SRV_OPTIONS', `V')dnl</programlisting> <para>Для проведения простого теста подключитесь к почтовому серверу программой &man.telnet.1;:</para> - <screen>&prompt.root; <userinput>telnet <replaceable>example.com</replaceable> 25</userinput> + <screen>&prompt.root; <userinput>telnet example.com 25</userinput> Trying 192.0.34.166... -Connected to <hostid role="fqdn">example.com</hostid>. +Connected to <systemitem class="fqdomainname">example.com</systemitem>. Escape character is '^]'. -220 <hostid role="fqdn">example.com</hostid> ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT) -<userinput>ehlo <replaceable>example.com</replaceable></userinput> +220 <systemitem class="fqdomainname">example.com</systemitem> ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT) +<userinput>ehlo example.com</userinput> 250-example.com Hello example.com [192.0.34.166], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING @@ -3024,7 +2977,7 @@ Escape character is '^]'. 250-DELIVERBY 250 HELP <userinput>quit</userinput> -221 2.0.0 <hostid role="fqdn">example.com</hostid> closing connection +221 2.0.0 <systemitem class="fqdomainname">example.com</systemitem> closing connection Connection closed by foreign host.</screen> <para>Если в выводе появилась строка <quote>STARTTLS</quote>, @@ -3032,21 +2985,16 @@ Connection closed by foreign host.</screen> </sect2> </sect1> - <sect1 id="ipsec"> - <sect1info> + <sect1 xml:id="ipsec"> + <info><title>VPN через IPsec</title> <authorgroup> - <author> - <firstname>Nik</firstname> - <surname>Clayton</surname> - <affiliation> + <author><personname><firstname>Nik</firstname><surname>Clayton</surname></personname><affiliation> <address><email>nik@FreeBSD.org</email></address> - </affiliation> - <contrib>Написал </contrib> - </author> + </affiliation><contrib>Написал </contrib></author> </authorgroup> - </sect1info> + </info> - <title>VPN через IPsec</title> + <indexterm> <primary>IPsec</primary> @@ -3056,20 +3004,15 @@ Connection closed by foreign host.</screen> с использованием шлюзов FreeBSD.</para> <sect2> - <sect2info> + <info><title>Принципы работы IPsec</title> <authorgroup> - <author> - <firstname>Hiten M.</firstname> - <surname>Pandya</surname> - <affiliation> + <author><personname><firstname>Hiten M.</firstname><surname>Pandya</surname></personname><affiliation> <address><email>hmp@FreeBSD.org</email></address> - </affiliation> - <contrib>Написал </contrib> - </author> + </affiliation><contrib>Написал </contrib></author> </authorgroup> - </sect2info> + </info> - <title>Принципы работы IPsec</title> + <para>Этот раздел послужит вам руководством по настройке IPsec и его использованию в среде FreeBSD и <application>µsoft.windows; @@ -3081,7 +3024,7 @@ Connection closed by foreign host.</screen> слоя Internet Protocol (IP). Он позволяет двум или более хостам связываться защищенным способом (отсюда и название протокола). <quote>Сетевой стек</quote> FreeBSD IPsec основан на - реализации <ulink url="http://www.kame.net/">KAME</ulink>, + реализации <link xlink:href="http://www.kame.net/">KAME</link>, поддерживающей оба семейства протоколов, IPv4 и IPv6.</para> <note> @@ -3259,7 +3202,7 @@ options IPSEC_DEBUG #debug for IP security <para>Если две сети, которые вы пытаетесь соединить, используют один и тот же диапазон приватных адресов (например, обе используют - <hostid role="ipaddr">192.168.1.x</hostid>), номера в одной из + <systemitem class="ipaddress">192.168.1.x</systemitem>), номера в одной из сетей необходимо изменить.</para> <para>Топология сети может выглядеть примерно так:</para> @@ -3299,12 +3242,10 @@ options IPSEC_DEBUG #debug for IP security будут использоваться буквы. Если вы увидите эти буквы, замените их на свои публичные IP адреса. Также обратите внимание, что у обеих шлюзов внутренний адрес заканчивается на .1 и диапазоны - приватных адресов двух сетей различны (<hostid - role="ipaddr">192.168.1.x</hostid> и <hostid - role="ipaddr">192.168.2.x</hostid> соответственно). Все компьютеры + приватных адресов двух сетей различны (<systemitem class="ipaddress">192.168.1.x</systemitem> и <systemitem class="ipaddress">192.168.2.x</systemitem> соответственно). Все компьютеры локальных сетей настроены на использование в качестве шлюза по умолчанию компьютера с адресом, оканчивающимся на - <hostid role="ipaddr">.1</hostid>.</para> + <systemitem class="ipaddress">.1</systemitem>.</para> <para>С сетевой точки зрения замысел в том, чтобы каждая сеть видела компьютеры из другой сети так, как если бы они были @@ -3312,8 +3253,7 @@ options IPSEC_DEBUG #debug for IP security хотя и немного медленному маршрутизатору, иногда теряющему пакеты.</para> - <para>Это означает, что (например) компьютер <hostid - role="ipaddr">192.168.1.20</hostid> может запустить</para> + <para>Это означает, что (например) компьютер <systemitem class="ipaddress">192.168.1.20</systemitem> может запустить</para> <programlisting>ping 192.168.2.34</programlisting> @@ -3355,47 +3295,42 @@ options IPSEC_DEBUG #debug for IP security сетевого подключения</title> <para>Предположим, что вы работаете на шлюзе сети #1 (с публичным - адресом <hostid role="ipaddr">A.B.C.D</hostid>, приватным - адресом <hostid role="ipaddr">192.168.1.1</hostid>) и запускаете + адресом <systemitem class="ipaddress">A.B.C.D</systemitem>, приватным + адресом <systemitem class="ipaddress">192.168.1.1</systemitem>) и запускаете <command>ping 192.168.2.1</command>, т.е. на приватный адрес - машины с IP адресом <hostid role="ipaddr">W.X.Y.Z</hostid>. + машины с IP адресом <systemitem class="ipaddress">W.X.Y.Z</systemitem>. Что должно произойти, чтобы это сработало?</para> <orderedlist> <listitem> - <para>Шлюз должен знать, как достичь <hostid - role="ipaddr">192.168.2.1</hostid>. Другими словами, у него - должен быть маршрут к <hostid - role="ipaddr">192.168.2.1</hostid>.</para> + <para>Шлюз должен знать, как достичь <systemitem class="ipaddress">192.168.2.1</systemitem>. Другими словами, у него + должен быть маршрут к <systemitem class="ipaddress">192.168.2.1</systemitem>.</para> </listitem> <listitem> - <para>Приватные IP адреса, такие как диапазон <hostid - role="ipaddr">192.168.x</hostid> не адресуются в + <para>Приватные IP адреса, такие как диапазон <systemitem class="ipaddress">192.168.x</systemitem> не адресуются в интернет. Каждый пакет, отправляемый на - <hostid role="ipaddr">192.168.2.1</hostid> должен быть + <systemitem class="ipaddress">192.168.2.1</systemitem> должен быть <quote>завернут</quote> в другой пакет. Исходным адресом пакета - должен быть <hostid role="ipaddr">A.B.C.D</hostid>, - а адресом назначения <hostid role="ipaddr">W.X.Y.Z</hostid>. + должен быть <systemitem class="ipaddress">A.B.C.D</systemitem>, + а адресом назначения <systemitem class="ipaddress">W.X.Y.Z</systemitem>. Этот процесс называется <firstterm>инкапсуляцией</firstterm>.</para> </listitem> <listitem> - <para>Как только этот пакет достигнет <hostid - role="ipaddr">W.X.Y.Z</hostid>, необходимо будет - <quote>декапсулировать</quote> его и доставить к <hostid - role="ipaddr">192.168.2.1</hostid>.</para> + <para>Как только этот пакет достигнет <systemitem class="ipaddress">W.X.Y.Z</systemitem>, необходимо будет + <quote>декапсулировать</quote> его и доставить к <systemitem class="ipaddress">192.168.2.1</systemitem>.</para> </listitem> </orderedlist> <para>Как вы можете увидеть, это требует <quote>туннеля</quote> между двумя сетями. Два конца <quote>туннеля</quote> - это IP адреса <hostid role="ipaddr">A.B.C.D</hostid> и - <hostid role="ipaddr">W.X.Y.Z</hostid>. Туннель используется для + это IP адреса <systemitem class="ipaddress">A.B.C.D</systemitem> и + <systemitem class="ipaddress">W.X.Y.Z</systemitem>. Туннель используется для передачи трафика с приватными IP адресами через интернет.</para> <para>В FreeBSD этот туннель создается с помощью устройства generic - interface, или <devicename>gif</devicename>. Как вы можете - догадаться, интерфейс <devicename>gif</devicename> на каждом хосте + interface, или <filename>gif</filename>. Как вы можете + догадаться, интерфейс <filename>gif</filename> на каждом хосте должен быть настроен с четырьмя IP адресами; два для публичных IP адресов и два для приватных IP адресов.</para> @@ -3441,11 +3376,9 @@ physical address inet A.B.C.D --> W.X.Y.Z </screen> <para>Как вы можете видеть, был создан туннель между физическими - адресами <hostid role="ipaddr">A.B.C.D</hostid> и - <hostid role="ipaddr">W.X.Y.Z</hostid>, для туннелирования разрешен - трафик между <hostid - role="ipaddr">192.168.1.1</hostid> и <hostid - role="ipaddr">192.168.2.1</hostid>.</para> + адресами <systemitem class="ipaddress">A.B.C.D</systemitem> и + <systemitem class="ipaddress">W.X.Y.Z</systemitem>, для туннелирования разрешен + трафик между <systemitem class="ipaddress">192.168.1.1</systemitem> и <systemitem class="ipaddress">192.168.2.1</systemitem>.</para> <para>Это также добавляет запись к таблице маршрутизации на обеих машинах, вы можете проверить запись командой <command>netstat @@ -3483,7 +3416,7 @@ Destination Gateway Flags Refs Use Netif Expire запустить эту команду на обеих шлюзах.</para> <para>Этого достаточно для включения ping с одного шлюза на другой. - На <hostid role="ipaddr">192.168.1.1</hostid>, вы сможете + На <systemitem class="ipaddress">192.168.1.1</systemitem>, вы сможете запустить</para> <programlisting>ping 192.168.2.1</programlisting> @@ -3501,10 +3434,10 @@ Destination Gateway Flags Refs Use Netif Expire </programlisting> <para>Она говорит <quote>Для достижения хостов в сети - <hostid role="ipaddr">192.168.2.0</hostid>, отправляйте пакеты - хосту <hostid role="ipaddr">192.168.2.1</hostid></quote>. Вам + <systemitem class="ipaddress">192.168.2.0</systemitem>, отправляйте пакеты + хосту <systemitem class="ipaddress">192.168.2.1</systemitem></quote>. Вам потребуется запустить похожую команду на другом шлюзе, но с - адресами <hostid role="ipaddr">192.168.1.x</hostid>.</para> + адресами <systemitem class="ipaddress">192.168.1.x</systemitem>.</para> <para>IP трафик с хостов в одной сети теперь может достичь хосты в другой сети.</para> @@ -3650,8 +3583,7 @@ options IPSEC_ESP</programlisting> <para>Существует множество даемонов для управления параметрами безопасности в FreeBSD. Здесь будет описано использование одного из - них, racoon — он доступен в составе порта <filename - role="package">security/ipsec-tools</filename> в Коллекции + них, racoon — он доступен в составе порта <package>security/ipsec-tools</package> в Коллекции Портов &os;.</para> <indexterm> @@ -3710,7 +3642,7 @@ options IPSEC_ESP</programlisting> секретная фраза. Перед запуском racoon режим доступа к файлу <filename>psk.txt</filename> должен быть установлен в <literal>0600</literal> (т.е. запись и чтение только для - <username>root</username>).</para> + <systemitem class="username">root</systemitem>).</para> <para>Вы должны запустить racoon на обоих шлюзах. Вам также потребуется добавить правила для включения IKE трафика, @@ -3745,8 +3677,7 @@ ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp <para>Каждый отправляемый IP пакет имеет заголовок, содержащий информацию о пакете. Заголовок включает IP адреса источника и назначения. - Как мы уже знаем, приватные IP адреса, такие как <hostid - role="ipaddr">192.168.x.y</hostid>, не могут появиться в + Как мы уже знаем, приватные IP адреса, такие как <systemitem class="ipaddress">192.168.x.y</systemitem>, не могут появиться в интернет. Они должны быть сначала включены внутрь другого пакета. В этом пакете приватные IP адреса источника и назначения заменяются публичными IP адресами.</para> @@ -3797,7 +3728,7 @@ ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp </mediaobject> <para>Этой инкапсуляцией занимается устройство - <devicename>gif</devicename>. Как вы можете видеть, теперь + <filename>gif</filename>. Как вы можете видеть, теперь у пакета есть реальный IP адрес, исходный пакет был включен в этот пакет в виде данных, которые передаются через интернет.</para> @@ -3805,30 +3736,24 @@ ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp <para>Конечно, мы хотим зашифровать весь трафик между VPN. Вы можете сформулировать это на словах так:</para> - <para><quote>Если пакет отправляется с <hostid - role="ipaddr">A.B.C.D</hostid>, и предназначен для <hostid - role="ipaddr">W.X.Y.Z</hostid>, расшифровать его, используя + <para><quote>Если пакет отправляется с <systemitem class="ipaddress">A.B.C.D</systemitem>, и предназначен для <systemitem class="ipaddress">W.X.Y.Z</systemitem>, расшифровать его, используя необходимые параметры безопасности.</quote></para> - <para><quote>Если пакет отправляется с <hostid - role="ipaddr">W.X.Y.Z</hostid>, и предназначен для <hostid - role="ipaddr">A.B.C.D</hostid>, расшифровать его, используя + <para><quote>Если пакет отправляется с <systemitem class="ipaddress">W.X.Y.Z</systemitem>, и предназначен для <systemitem class="ipaddress">A.B.C.D</systemitem>, расшифровать его, используя необходимые параметры безопасности.</quote></para> <para>Это похоже на желаемое, но не совсем то. Если вы сделаете - это, весь трафик от и к <hostid role="ipaddr">W.X.Y.Z</hostid>, + это, весь трафик от и к <systemitem class="ipaddress">W.X.Y.Z</systemitem>, даже если он не является частью VPN, будет зашифрован. Правильная политика такова:</para> - <para><quote>Если пакет отправляется с <hostid - role="ipaddr">A.B.C.D</hostid>, в нем инкапсулирован другой пакет - и адрес назначения <hostid role="ipaddr">W.X.Y.Z</hostid>, + <para><quote>Если пакет отправляется с <systemitem class="ipaddress">A.B.C.D</systemitem>, в нем инкапсулирован другой пакет + и адрес назначения <systemitem class="ipaddress">W.X.Y.Z</systemitem>, зашифровать его, используя необходимые параметры безопасности.</quote></para> - <para><quote>Если пакет отправляется с <hostid - role="ipaddr">W.X.Y.Z</hostid>, в нем инкапсулирован другой пакет - и адрес назначения <hostid role="ipaddr">A.B.C.D</hostid>, + <para><quote>Если пакет отправляется с <systemitem class="ipaddress">W.X.Y.Z</systemitem>, в нем инкапсулирован другой пакет + и адрес назначения <systemitem class="ipaddress">A.B.C.D</systemitem>, зашифровать его, используя необходимые параметры безопасности.</quote></para> @@ -3842,8 +3767,8 @@ ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp инструкции.</para> <para>Настройка на шлюзе #1 (где есть публичный IP адрес - <hostid role="ipaddr">A.B.C.D</hostid>) для включения шифрования - всего предназначенного <hostid role="ipaddr">W.X.Y.Z</hostid> + <systemitem class="ipaddress">A.B.C.D</systemitem>) для включения шифрования + всего предназначенного <systemitem class="ipaddress">W.X.Y.Z</systemitem> трафика:</para> <programlisting> @@ -3858,8 +3783,7 @@ spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/req <para><option>spdadd</option> указывает &man.setkey.8; добавить правило к базе данных политики безопасности. Остальная часть строки указывает какие пакеты будут соответствовать политике. - <hostid role="ipaddr">A.B.C.D/32</hostid> и <hostid - role="ipaddr">W.X.Y.Z/32</hostid> это IP адреса и сетевые маски, + <systemitem class="ipaddress">A.B.C.D/32</systemitem> и <systemitem class="ipaddress">W.X.Y.Z/32</systemitem> это IP адреса и сетевые маски, определяющие сети или хосты, к которым будет применяться данная политика. В данном случае мы хотим применить их к трафику между этими двумя хостами. Параметр <option>ipencap</option> сообщает @@ -3873,8 +3797,7 @@ spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/req зашифрованы. Будет использоваться протокол <option>esp</option>, а параметр <option>tunnel</option> показывает, что пакет в дальнейшем будет инкапсулирован в IPsec пакет. Повторное использование - <hostid role="ipaddr">A.B.C.D</hostid> и <hostid - role="ipaddr">W.X.Y.Z</hostid> предназначено для выбора + <systemitem class="ipaddress">A.B.C.D</systemitem> и <systemitem class="ipaddress">W.X.Y.Z</systemitem> предназначено для выбора используемых параметров безопасности, и наконец параметр <option>require</option> разрешает шифрование пакетов, попадающих под это правило.</para> @@ -3888,7 +3811,7 @@ spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/req <option>out</option> и IP адреса переставлены.</para> <para>Другому шлюзу (с публичным IP адресом - <hostid role="ipaddr">W.X.Y.Z</hostid>) потребуются похожие + <systemitem class="ipaddress">W.X.Y.Z</systemitem>) потребуются похожие правила.</para> <programlisting>spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require; @@ -3942,13 +3865,12 @@ ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D <para>Когда эти пакеты будут получены на удаленном конце VPN соединения, они будут расшифрованы (используя параметры безопасности, о которых договорился racoon). Затем они будут - переданы интерфейсу <devicename>gif</devicename>, который + переданы интерфейсу <filename>gif</filename>, который <quote>развернет</quote> второй слой, оставив пакет с внутренними адресами, который сможет попасть во внутреннюю сеть.</para> <para>Вы можете проверить безопасность тем же &man.ping.8;, который - использовался ранее. Сначала войдите на шлюз <hostid - role="ipaddr">A.B.C.D</hostid> и запустите:</para> + использовался ранее. Сначала войдите на шлюз <systemitem class="ipaddress">A.B.C.D</systemitem> и запустите:</para> <programlisting>tcpdump dst host 192.168.2.1</programlisting> @@ -3980,8 +3902,7 @@ options IPSEC_ESP </listitem> <listitem> - <para>Установите <filename - role="package">security/ipsec-tools</filename>. Отредактируйте + <para>Установите <package>security/ipsec-tools</package>. Отредактируйте <filename>${PREFIX}/etc/racoon/psk.txt</filename> на обеих шлюзах, добавив запись для каждого IP адреса удаленного хоста и секретный ключ, который будет известен им обеим. Убедитесь, @@ -4040,19 +3961,15 @@ ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D </sect2> </sect1> - <sect1 id="openssh"> - <sect1info> + <sect1 xml:id="openssh"> + <info><title>OpenSSH</title> <authorgroup> - <author> - <firstname>Chern</firstname> - <surname>Lee</surname> - <contrib>Предоставил </contrib> - </author> + <author><personname><firstname>Chern</firstname><surname>Lee</surname></personname><contrib>Предоставил </contrib></author> <!-- 21 April 2001 --> </authorgroup> - </sect1info> + </info> - <title>OpenSSH</title> + <indexterm><primary>OpenSSH</primary></indexterm> <indexterm> <primary>безопасность</primary> @@ -4116,7 +4033,7 @@ ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D <para>Утилита &man.ssh.1; работает подобно &man.rlogin.1;.</para> - <screen>&prompt.root; <userinput>ssh <replaceable>user@example.com</replaceable></userinput> + <screen>&prompt.root; <userinput>ssh user@example.com</userinput> Host key not found from the list of known hosts. Are you sure you want to continue connecting (yes/no)? <userinput>yes</userinput> Host 'example.com' added to the list of known hosts. @@ -4154,7 +4071,7 @@ user@example.com's password: <userinput>*******</userinput></screen> файл с удаленного компьютера, но делает это безопасным способом.</para> - <screen>&prompt.root; <userinput> scp <replaceable>user@example.com:/COPYRIGHT COPYRIGHT</replaceable></userinput> + <screen>&prompt.root; <userinput> scp user@example.com:/COPYRIGHT COPYRIGHT</userinput> user@example.com's password: <userinput>*******</userinput> COPYRIGHT 100% |*****************************| 4735 00:00 &prompt.root;</screen> @@ -4190,14 +4107,14 @@ COPYRIGHT 100% |*****************************| 4735 00:00 дают дополнительные возможности настройки.</para> </sect2> - <sect2 id="ssh-keygen"> + <sect2 xml:id="ssh-keygen"> <title>ssh-keygen</title> <para>Вместо использования паролей, с помощью &man.ssh-keygen.1; можно создать ключи DSA или RSA, которыми пользователи могут аутентифицироваться:</para> - <screen>&prompt.user; <userinput>ssh-keygen -t <replaceable>dsa</replaceable></userinput> + <screen>&prompt.user; <userinput>ssh-keygen -t dsa</userinput> Generating public/private dsa key pair. Enter file in which to save the key (/home/user/.ssh/id_dsa): Created directory '/home/user/.ssh'. @@ -4236,7 +4153,7 @@ bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@host.example.com &man.ssh-keygen.1;.</para></warning> </sect2> - <sect2 id="security-ssh-agent"> + <sect2 xml:id="security-ssh-agent"> <title>Утилиты ssh-agent и ssh-add</title> <para>Утилиты &man.ssh-agent.1; и &man.ssh-add.1; позволяют @@ -4279,7 +4196,7 @@ Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa) для добавления ваших SSH-ключей.</para> </sect2> - <sect2 id="security-ssh-tunneling"> + <sect2 xml:id="security-ssh-tunneling"> <title>Туннелирование SSH</title> <indexterm> @@ -4295,7 +4212,7 @@ Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa) <para>Следующая команда указывает &man.ssh.1; создать туннель для <application>telnet</application>:</para> - <screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>5023:localhost:23 user@foo.example.com</replaceable></userinput> + <screen>&prompt.user; <userinput>ssh -2 -N -f -L 5023:localhost:23 user@foo.example.com</userinput> &prompt.user;</screen> <para>Команда <command>ssh</command> используется со следующими @@ -4351,13 +4268,13 @@ Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa) <para>Туннель SSH создается путем создания прослушивающего сокета - на определенном порту <hostid>localhost</hostid>. Затем все + на определенном порту <systemitem>localhost</systemitem>. Затем все принятые на локальном хосту/порту соединения переправляются на через SSH на определенный удаленный хост и порт.</para> <para>В этом примере, порт <replaceable>5023</replaceable> на - <hostid>localhost</hostid> перенаправляется на порт - <replaceable>23</replaceable> на <hostid>localhost</hostid> + <systemitem>localhost</systemitem> перенаправляется на порт + <replaceable>23</replaceable> на <systemitem>localhost</systemitem> удаленного компьютера. Поскольку <replaceable>23</replaceable> это порт <application>telnet</application>, будет создано защищенное соединение <application>telnet</application> через туннель @@ -4370,7 +4287,7 @@ Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa) <title>Использование SSH для создания защищенного туннеля на SMTP</title> - <screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>5025:localhost:25 user@mailserver.example.com</replaceable></userinput> + <screen>&prompt.user; <userinput>ssh -2 -N -f -L 5025:localhost:25 user@mailserver.example.com</userinput> user@mailserver.example.com's password: <userinput>*****</userinput> &prompt.user; <userinput>telnet localhost 5025</userinput> Trying 127.0.0.1... @@ -4400,14 +4317,14 @@ Escape character is '^]'. SSH соединения к офисному серверу SSH и туннелирование через него к почтовому серверу.</para> - <screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>2110:mail.example.com:110 user@ssh-server.example.com</replaceable></userinput> + <screen>&prompt.user; <userinput>ssh -2 -N -f -L 2110:mail.example.com:110 user@ssh-server.example.com</userinput> user@ssh-server.example.com's password: <userinput>******</userinput></screen> <para>Когда туннель включен и работает, вы можете настроить почтовый клиент для отправки запросов POP3 на - <hostid>localhost</hostid>, порт 2110. Соединение будет + <systemitem>localhost</systemitem>, порт 2110. Соединение будет безопасно переправлено через туннель на - <hostid>mail.example.com</hostid>.</para> + <systemitem>mail.example.com</systemitem>.</para> </sect4> <sect4> @@ -4429,12 +4346,12 @@ user@ssh-server.example.com's password: <userinput>******</userinput></screen> вне брандмауэра и использование его для туннелирования сервера Ogg Vorbis.</para> - <screen>&prompt.user; <userinput>ssh -2 -N -f -L <replaceable>8888:music.example.com:8000 user@unfirewalled-system.example.org</replaceable></userinput> + <screen>&prompt.user; <userinput>ssh -2 -N -f -L 8888:music.example.com:8000 user@unfirewalled-system.example.org</userinput> user@unfirewalled-system.example.org's password: <userinput>*******</userinput></screen> <para>Клиентскую программу теперь можно настроить на - <hostid>localhost</hostid> порт 8888, который будет перенаправлен - на <hostid>music.example.com</hostid> порт 8000, успешно + <systemitem>localhost</systemitem> порт 8888, который будет перенаправлен + на <systemitem>music.example.com</systemitem> порт 8000, успешно обойдя брандмауэр.</para> </sect4> </sect3> @@ -4448,14 +4365,13 @@ user@unfirewalled-system.example.org's password: <userinput>*******</userinput>< именно пользователи и откуда могут регистрироваться в системе. Задание параметра <literal>AllowUsers</literal> является хорошим способом добиться этого. К примеру, для разрешения регистрации только - пользователю <username>root</username> с машины <hostid - role="ipaddr">192.168.1.32</hostid>, в файле + пользователю <systemitem class="username">root</systemitem> с машины <systemitem class="ipaddress">192.168.1.32</systemitem>, в файле <filename>/etc/ssh/sshd_config</filename> нужно указать нечто вроде следующего:</para> <programlisting>AllowUsers root@192.168.1.32</programlisting> - <para>Для разрешения регистрации пользователя <username>admin</username> + <para>Для разрешения регистрации пользователя <systemitem class="username">admin</systemitem> из любой точки, просто укажите имя пользователя:</para> <programlisting>AllowUsers admin</programlisting> @@ -4482,7 +4398,7 @@ user@unfirewalled-system.example.org's password: <userinput>*******</userinput>< <sect2> <title>Дополнительная литература</title> - <para><ulink url="http://www.openssh.com/">OpenSSH</ulink></para> + <para><link xlink:href="http://www.openssh.com/">OpenSSH</link></para> <para>&man.ssh.1; &man.scp.1; &man.ssh-keygen.1; &man.ssh-agent.1; &man.ssh-add.1; &man.ssh.config.5;</para> @@ -4491,18 +4407,14 @@ user@unfirewalled-system.example.org's password: <userinput>*******</userinput>< </sect2> </sect1> - <sect1 id="fs-acl"> - <sect1info> + <sect1 xml:id="fs-acl"> + <info><title>Списки контроля доступа файловой системы (ACL)</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> - </sect1info> + </info> - <title>Списки контроля доступа файловой системы (ACL)</title> + <indexterm> <primary>ACL</primary> @@ -4604,7 +4516,7 @@ drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html</programlisting> настроек <acronym>ACL</acronym> файла <filename>test</filename>, может использоваться команда:</para> - <screen>&prompt.user; <userinput>getfacl <filename>test</filename></userinput> + <screen>&prompt.user; <userinput>getfacl test</userinput> #file:test #owner:1001 #group:1001 @@ -4615,7 +4527,7 @@ drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html</programlisting> <para>Для изменения <acronym>ACL</acronym> этого файла, вызовите утилиту &man.setfacl.1;. Выполните:</para> - <screen>&prompt.user; <userinput>setfacl -k <filename>test</filename></userinput></screen> + <screen>&prompt.user; <userinput>setfacl -k test</userinput></screen> <para>Параметр <option>-k</option> удалит все установленные на данный момент <acronym>ACL</acronym> из файла или файловой @@ -4623,7 +4535,7 @@ drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html</programlisting> параметра <option>-b</option>, который оставит необходимые для работы <acronym>ACL</acronym> поля.</para> - <screen>&prompt.user; <userinput>setfacl -m u:trhodes:rwx,group:web:r--,o::--- <filename>test</filename></userinput></screen> + <screen>&prompt.user; <userinput>setfacl -m u:trhodes:rwx,group:web:r--,o::--- test</userinput></screen> <para>В вышеприведенной команде параметр <option>-m</option> использован для изменения записей <acronym>ACL</acronym> @@ -4631,26 +4543,20 @@ drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html</programlisting> удалены предыдущей командой), эта команда восстановит параметры по умолчанию и задаст приведенные параметры. Имейте ввиду, при добавлении пользователя или группы, которых нет в системе, - на <devicename>stdout</devicename> будет выведена ошибка + на <filename>stdout</filename> будет выведена ошибка <errorname>Invalid argument</errorname>.</para> </sect2> </sect1> - <sect1 id="security-portaudit"> - <sect1info> + <sect1 xml:id="security-portaudit"> + <info><title>Мониторинг вопросов безопасности в ПО сторонних + разработчиков</title> <authorgroup> - <author> - <firstname>Том</firstname> - - <surname>Родес</surname> - - <contrib>Текст предоставил </contrib> - </author> + <author><personname><firstname>Том</firstname><surname>Родес</surname></personname><contrib>Текст предоставил </contrib></author> </authorgroup> - </sect1info> + </info> - <title>Мониторинг вопросов безопасности в ПО сторонних - разработчиков</title> + <indexterm> <primary>Portaudit</primary> @@ -4671,7 +4577,7 @@ drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html</programlisting> названием <application>Portaudit</application>, которая служит исключительно этой цели.</para> - <para>Порт <filename role="port">security/portaudit</filename> обращается + <para>Порт <package role="port">security/portaudit</package> обращается к базе данных, обновляемой и поддерживаемой Группой информационной безопасности &os; и разработчиками портов, для получения информации об известных проблемах с защитой.</para> @@ -4686,7 +4592,7 @@ drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html</programlisting> &man.periodic.8;, в которые будет добавлена выдача <application>Portaudit</application> при ежедневном её запуске. Проверьте, что ежедневные сообщения электронной почты, касающиеся - безопасности, которые посылаются на адрес <username>root</username>, + безопасности, которые посылаются на адрес <systemitem class="username">root</systemitem>, прочитываются. Другой дополнительной настройки больше не понадобится.</para> @@ -4731,18 +4637,14 @@ You are advised to update or deinstall the affected package(s) immediately.</pro утилитой.</para> </sect1> - <sect1 id="security-advisories"> - <sect1info> + <sect1 xml:id="security-advisories"> + <info><title>Сообщения безопасности &os;</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> - </sect1info> + </info> - <title>Сообщения безопасности &os;</title> + <indexterm> <primary>Сообщения безопасности FreeBSD</primary> @@ -4766,13 +4668,13 @@ You are advised to update or deinstall the affected package(s) immediately.</pro &os;-SA-XX:XX.UTIL Security Advisory The &os; Project -Topic: denial of service due to some problem<co id="co-topic"/> +Topic: denial of service due to some problem<co xml:id="co-topic"/> -Category: core<co id="co-category"/> -Module: sys<co id="co-module"/> -Announced: 2003-09-23<co id="co-announce"/> -Credits: Person@EMAIL-ADDRESS<co id="co-credit"/> -Affects: All releases of &os;<co id="co-affects"/> +Category: core<co xml:id="co-category"/> +Module: sys<co xml:id="co-module"/> +Announced: 2003-09-23<co xml:id="co-announce"/> +Credits: Person@EMAIL-ADDRESS<co xml:id="co-credit"/> +Affects: All releases of &os;<co xml:id="co-affects"/> &os; 4-STABLE prior to the correction date Corrected: 2003-09-23 16:42:59 UTC (RELENG_4, 4.9-PRERELEASE) 2003-09-23 20:08:42 UTC (RELENG_5_1, 5.1-RELEASE-p6) @@ -4782,33 +4684,33 @@ Corrected: 2003-09-23 16:42:59 UTC (RELENG_4, 4.9-PRERELEASE) 2003-09-23 16:49:46 UTC (RELENG_4_6, 4.6-RELEASE-p21) 2003-09-23 16:51:24 UTC (RELENG_4_5, 4.5-RELEASE-p33) 2003-09-23 16:52:45 UTC (RELENG_4_4, 4.4-RELEASE-p43) - 2003-09-23 16:54:39 UTC (RELENG_4_3, 4.3-RELEASE-p39)<co id="co-corrected"/> -<acronym>CVE</acronym> Name: CVE-XXXX-XXXX<co id="co-cve"/> + 2003-09-23 16:54:39 UTC (RELENG_4_3, 4.3-RELEASE-p39)<co xml:id="co-corrected"/> +<acronym>CVE</acronym> Name: CVE-XXXX-XXXX<co xml:id="co-cve"/> For general information regarding FreeBSD Security Advisories, including descriptions of the fields above, security branches, and the following sections, please visit http://www.FreeBSD.org/security/. -I. Background<co id="co-backround"/> +I. Background<co xml:id="co-backround"/> -II. Problem Description<co id="co-descript"/> +II. Problem Description<co xml:id="co-descript"/> -III. Impact<co id="co-impact"/> +III. Impact<co xml:id="co-impact"/> -IV. Workaround<co id="co-workaround"/> +IV. Workaround<co xml:id="co-workaround"/> -V. Solution<co id="co-solution"/> +V. Solution<co xml:id="co-solution"/> -VI. Correction details<co id="co-details"/> +VI. Correction details<co xml:id="co-details"/> -VII. References<co id="co-ref"/></programlisting> +VII. References<co xml:id="co-ref"/></programlisting> <calloutlist> @@ -4932,20 +4834,14 @@ VII. References<co id="co-ref"/></programlisting> </sect2> </sect1> - <sect1 id="security-accounting"> - <sect1info> + <sect1 xml:id="security-accounting"> + <info><title>Учёт используемых ресурсов</title> <authorgroup> - <author> - <firstname>Том</firstname> - - <surname>Родес</surname> - - <contrib>Текст предоставил </contrib> - </author> + <author><personname><firstname>Том</firstname><surname>Родес</surname></personname><contrib>Текст предоставил </contrib></author> </authorgroup> - </sect1info> + </info> - <title>Учёт используемых ресурсов</title> + <indexterm> <primary>Учёт используемых ресурсов</primary> @@ -4970,11 +4866,11 @@ VII. References<co id="co-ref"/></programlisting> <para>Прежде чем использовать систему учёта ресурсов, её необходимо активировать. Для этого выполните следующие команды:</para> - <screen>&prompt.root; <userinput>touch <filename>/var/account/acct</filename></userinput> + <screen>&prompt.root; <userinput>touch /var/account/acct</userinput> -&prompt.root; <userinput>accton <filename>/var/account/acct</filename></userinput> +&prompt.root; <userinput>accton /var/account/acct</userinput> -&prompt.root; <userinput>echo 'accounting_enable="YES"' >> <filename>/etc/rc.conf</filename></userinput></screen> +&prompt.root; <userinput>echo 'accounting_enable="YES"' >> /etc/rc.conf</userinput></screen> <para>После активации система учёта ресурсов начнёт отслеживать статистику <acronym>CPU</acronym>, команд и так далее. Все протоколы @@ -4992,10 +4888,10 @@ VII. References<co id="co-ref"/></programlisting> списка директив, выданных пользователями определённого терминала &man.ttys.5;:</para> - <screen>&prompt.root; <userinput>lastcomm ls <username>trhodes</username> ttyp1</userinput></screen> + <screen>&prompt.root; <userinput>lastcomm ls trhodes ttyp1</userinput></screen> <para>Эта команда выдаст все зафиксированные использования команды - <command>ls</command> пользователем <username>trhodes</username> на + <command>ls</command> пользователем <systemitem class="username">trhodes</systemitem> на терминале ttyp1.</para> <para>Существует многие другие полезные параметры, которые описаны на |