You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-i18n/tde-i18n-ru/docs/tdenetwork/kppp/security.docbook

69 lines
5.8 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

<chapter id="security">
<title>&kppp; и безопасность</title>
<para>В основном этот раздел предназначен для суперпользователей (<systemitem>root</systemitem>), людей с высокими потребностями в безопасности и тех, кто просто интересуется безопасностью. Нет необходимости в прочтении этого материала тем, кто использует &Linux; дома, тем не менее, кое-какие знания можно почерпнуть и отсюда.</para>
<sect1 id="security-restricting-access">
<title>Запрет на доступ к &kppp;</title>
<para>Системный администратор может ограничить доступ на использование &kppp;. Существует два способа для достижения этого.</para>
<sect2 id="security-group-permissions">
<title>Разрешение на доступ на уровне привилегий группы</title>
<para>Создайте новую группу (назовите её, к примеру, <systemitem>dialout</systemitem> или как-нибудь в этом роде) и добавляйте в неё тех пользователей, кому разрешено использовать &kppp;. Затем наберите в командной строке:</para>
<screen><prompt>#</prompt> <userinput><command>chown</command> <option>root.dialout</option> <filename>/opt/kde/bin/kppp</filename></userinput>
<prompt>#</prompt> <userinput><command>chmod</command> <option>4750</option> <filename>/opt/kde/bin/kppp</filename></userinput>
</screen>
<para>Здесь подразумевается, что &kde; установлена в каталог <filename class="directory"> /opt/kde/</filename> и что новая группа называется <systemitem>dialout</systemitem>.</para>
</sect2>
<sect2 id="security-kppps-way">
<title>Запрет на доступ с непосредственным использованием &kppp;</title>
<para>С самого начала &kppp; проверяет, существует ли файл <filename>/etc/kppp.allow</filename>. Если такой файл существует, только перечисленные в нем пользователи могут использовать программу. Этот файл должен быть открыт для всех на чтение (но, конечно, <emphasis>НЕ</emphasis> запись.) Распознаваемыми являются только имена пользователей, вы не можете использовать <acronym>UID</acronym> в этом файле. Короткий пример:</para>
<screen># /etc/kppp.allow
# строки комментариев игнорируются,
# как и пустые строки
fred
karl
daisy
</screen>
<para>В приведённом примере только пользователи <systemitem>fred</systemitem>, <systemitem>karl</systemitem> и <systemitem>daisy</systemitem> могут использовать программу, а так же пользователи с <acronym>UID</acronym> 0 (нет необходимости добавлять суперпользователя в этот файл).</para>
</sect2>
</sect1>
<sect1 id="security-why-suid">
<title>У &kppp; присутствует <acronym>SUID</acronym>-бит. А безопасность?</title>
<para>Представляется невозможным написать программу дозвона без использования <acronym>SUID</acronym>-бита, безопасную и простую в использовании неопытными пользователями. В плане безопасности &kppp; использует следующую стратегию.</para>
<itemizedlist>
<listitem>
<para>Процессы программы &kppp; разветвляются в самом начале выполнения программы.</para>
</listitem>
<listitem>
<para>Основной процесс, ответственный за операции с <acronym>GUI</acronym> (такие как взаимодействие с пользователем), теряет бит <acronym>SUID</acronym> после разветвления и выполняется с привилегиями обычного пользователя.</para>
</listitem>
<listitem>
<para>Порождённый процесс сохраняет привилегии и отвечает за все действия, которым нужны привилегии <systemitem>суперпользователя</systemitem>. Для обеспечения безопасности этой части, в ней не используются вызовы библиотек &kde; и &Qt;, а только вызовы обычных библиотек. Исходный код этого процесса короток (около 500 строк) и хорошо документирован, его легко проверить на наличие дыр в безопасности.</para>
</listitem>
<listitem>
<para>Головной и порождённый процессы взаимодействуют согласно стандартному <acronym>IPC</acronym> (взаимодействие процессов) ОС &UNIX;.</para>
</listitem>
</itemizedlist>
<para>Особая благодарность выражается Harri Porten за написание этого замечательного участка программы. Задача казалась невыполнимой, но он сумел решить её за одну неделю.</para>
</sect1>
</chapter>