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.
139 lines
4.0 KiB
139 lines
4.0 KiB
13 years ago
|
<chapter id="security">
|
||
|
<title
|
||
|
>&kppp; y los asuntos de seguridad</title>
|
||
|
|
||
|
<para
|
||
|
>Esta sección está mayormente indicada para los administradores (<systemitem
|
||
|
>root</systemitem
|
||
|
>) con importantes demandas en seguridad, o simplemente a quién tenga un interés técnico. No es necesario leerlo si únicamente utiliza &Linux; a nivel doméstico, aunque siempre puede aprender algo.</para>
|
||
|
|
||
|
<sect1 id="security-restricting-access">
|
||
|
<title
|
||
|
>Restricción de acceso a &kppp;</title>
|
||
|
|
||
|
<para
|
||
|
>Un administrador de sistema puede querer restringir el acceso a según quién utilice &kppp;. Hay dos maneras de acometer esto.</para>
|
||
|
|
||
|
<sect2 id="security-group-permissions">
|
||
|
<title
|
||
|
>Restricción de acceso con permisos de grupo</title>
|
||
|
|
||
|
<para
|
||
|
>Cree un nuevo grupo (quizá llamado <systemitem
|
||
|
>dialout</systemitem
|
||
|
> o similar), y ponga a todos los usuarios a los que se les permita usar &kppp; en ese grupo. Después teclee en la línea de órdenes:</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
|
||
|
>Esto asume que &kde; está instalado en <filename class="directory"
|
||
|
> /opt/kde/</filename
|
||
|
> y que el nuevo grupo se llama <systemitem
|
||
|
>dialout</systemitem
|
||
|
>.</para>
|
||
|
|
||
|
</sect2>
|
||
|
|
||
|
<sect2 id="security-kppps-way">
|
||
|
<title
|
||
|
>Restricción de acceso por el método de &kppp;</title>
|
||
|
|
||
|
<para
|
||
|
>Antes de hacer nada, &kppp; comprueba si hay un archivo llamado <filename
|
||
|
>/etc/kppp.allow</filename
|
||
|
>. Si dicho archivo existe, sólo les estará permitido llamar a los usuarios nombrados en el mismo. El archivo debe ser legible (pero por supuesto <emphasis
|
||
|
>NO</emphasis
|
||
|
> puede ser escrito). Sólo se reconocen los nombres de usuario, así que no se pueden utilizar identificadores de usuario (<acronym
|
||
|
>UID</acronym
|
||
|
>) en este archivo. Este es un pequeño ejemplo:</para>
|
||
|
|
||
|
<screen
|
||
|
># /etc/kppp.allow
|
||
|
# comment lines like this are ignored
|
||
|
# as well as empty lines
|
||
|
|
||
|
fred
|
||
|
karl
|
||
|
daisy
|
||
|
</screen>
|
||
|
|
||
|
<para
|
||
|
>En el ejemplo anterior, sólo los usuarios <systemitem
|
||
|
>fred</systemitem
|
||
|
>, <systemitem
|
||
|
>karl</systemitem
|
||
|
> y <systemitem
|
||
|
>daisy</systemitem
|
||
|
> pueden efectuar llamadas, así como cualquier usuario con un <acronym
|
||
|
>UID</acronym
|
||
|
> de 0 (de modo que no hay que incluir a root específicamente).</para>
|
||
|
|
||
|
</sect2>
|
||
|
|
||
|
</sect1>
|
||
|
|
||
|
<sect1 id="security-why-suid">
|
||
|
<title
|
||
|
>¿&kppp; tiene el bit <acronym
|
||
|
>SUID</acronym
|
||
|
> activo? ¿Qué pasa con la seguridad?</title>
|
||
|
|
||
|
<para
|
||
|
>Es virtualmente imposible escribir un sistema de llamadas telefónicas sin el bit <acronym
|
||
|
>SUID</acronym
|
||
|
> que sea al mismo tiempo fiable y sencillo de utilizar para los usuarios inexpertos. &kppp; aborda los problemas de seguridad con la siguiente estrategia.</para>
|
||
|
|
||
|
<itemizedlist>
|
||
|
<listitem>
|
||
|
<para
|
||
|
>Inmediatamente después de iniciarse, &kppp; se divide.</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para
|
||
|
>El proceso maestro, que se ocupa de todas las operaciones del entorno gráfico (como la interacción con el usuario), abandona el estado <acronym
|
||
|
>SUID</acronym
|
||
|
> tras la división, y se ejecuta con privilegios de usuario normal.</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para
|
||
|
>El proceso esclavo mantiene sus privilegios, y es el responsable de todas las acciones que necesitan privilegios de <systemitem
|
||
|
>root</systemitem
|
||
|
>. Para mantener esta parte segura, aquí no se utiliza ninguna llamada a las bibliotecas de &kde; o &Qt;, sólo se hacen llamadas a bibliotecas sencillas. El código fuente de este proceso es corto (unas 500 líneas) y está muy bien documentados, así que es fácil buscar agujeros de seguridad.</para>
|
||
|
</listitem>
|
||
|
<listitem>
|
||
|
<para
|
||
|
>Los procesos maestro y esclavo se comunican a través del <acronym
|
||
|
>IPC</acronym
|
||
|
> estándar de &UNIX;.</para>
|
||
|
</listitem>
|
||
|
</itemizedlist>
|
||
|
|
||
|
<para
|
||
|
>Un agradecimiento especial a Harri Porten por escribir este excelente segmento de código. Se pensaba que era imposible, pero el lo resolvió en una semana.</para>
|
||
|
|
||
|
</sect1>
|
||
|
|
||
|
</chapter>
|