summaryrefslogtreecommitdiffstats
path: root/tde-i18n-ru/docs/tdenetwork/kppp/security.docbook
diff options
context:
space:
mode:
Diffstat (limited to 'tde-i18n-ru/docs/tdenetwork/kppp/security.docbook')
-rw-r--r--tde-i18n-ru/docs/tdenetwork/kppp/security.docbook140
1 files changed, 140 insertions, 0 deletions
diff --git a/tde-i18n-ru/docs/tdenetwork/kppp/security.docbook b/tde-i18n-ru/docs/tdenetwork/kppp/security.docbook
new file mode 100644
index 00000000000..a0ae43a1f1d
--- /dev/null
+++ b/tde-i18n-ru/docs/tdenetwork/kppp/security.docbook
@@ -0,0 +1,140 @@
+<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>