You are on page 1of 6

Yolui Zerpa

2016
Mecanismos de seguridad en Linux
Segn Silberschatz (2006), en Linux los problemas se seguridad se clasifican en dos grupos:
autenticacin y control del acceso.
En cuanto a la autenticacin se refiere a asegurar que solo tengan acceso al sistema los usuarios
que demuestren tener los derechos de entrada.
Con respecto al control de acceso se trata de un mecanismo que controla el acceso a los objetos o
archivos, ya sea permitindolo o impidindolo de acuerdo a los derechos que tenga el usuario.
Autenticacin.
Existe un mecanismo llamado sistema de mdulos de autenticacin conectables (PAM, plegable
authentication modules) que es utilizado en Linux por cualquier componente del sistema para
autenticar a los usuarios. Consiste en la carga de mecanismos de autenticacin bajo demanda en
un archivo de configuracin global del sistema. Esto permite insertar en los mdulos cualquier
mecanismo de autenticacin aadido posteriormente para que todos los componentes del sistema
se aprovechen de l.

La estructura PAM consta de cuatro partes:

Consumidores PAM

Biblioteca PAM

Archivo de configuracin pam.conf

Mdulos de servicios PAM, tambin denominados proveedores


La estructura proporciona un modo uniforme para llevar a cabo las actividades relacionadas con
la autenticacin. Este enfoque permite a los desarrolladores de aplicaciones usar los servicios

PAM sin tener que conocer la semntica de la poltica. Los algoritmos se proporcionan de forma
centralizada. Los algoritmos se pueden modificar independientemente de las aplicaciones
individuales. Con PAM, los administradores pueden adaptar el proceso de autenticacin a las
necesidades de un determinado sistema sin tener que cambiar ninguna aplicacin. Los ajustes se
realizan mediante pam.conf, el archivo de configuracin de PAM.
En la figura 8.1 ilustra la arquitectura PAM. Las aplicaciones se comunican con la biblioteca
PAM a travs de la interfaz de programacin de aplicaciones (API) de PAM. Los mdulos PAM
se comunican con la biblioteca PAM a travs de la interfaz del proveedor de servicios (SPI) de
PAM. Por lo tanto, la biblioteca PAM permite a las aplicaciones y los mdulos comunicarse entre
s.
Tal como afirman Gonzalez y Padrn (2004), las ventajas ms importantes del PAM se
resumen como sigue:

Ofrece un esquema de autenticacin comn y centralizado.

Permite a los desarrolladores abstraerse de las labores de autenticacin.

Facilita el mantenimiento de las aplicaciones.

Ofrece flexibilidad y control tanto para el desarrollador como para el administrador de sistema
(p.2).

Figura 8.1. Arquitectura del mecanismo de seguridad PAM


Fuente: (Oracle. 2011)

Como se mencion anteriormente la principal misin de PAM es comprobar que un usuario ser
quien dice ser, es decir, autenticar. Sin embargo, tiene otras misiones igual de importantes
relacionadas con los servicios restringidos, las cuales se dividen en los siguientes grupos de
gestin:

Cuenta (account): incluye tareas que no estn relacionadas directamente con la autenticacin
como:

Permitir o denegar el acceso de acuerdo a diferentes factores como la hora, la localizacin o


los recursos disponibles.

Verificar el acceso de una cuenta de usuario a un servicio especfico

Verificar que no haya caducado la contrasea.

Autenticacin (authentication): se refiere a tareas que buscan comprobar la autenticidad del


usuario. A veces se cree que PAM se trata solo de este grupo de tareas pero abarca muchas ms.
Las tareas de autenticacin ofrecen un sistema de credenciales que permiten al usuario ganar
ciertos privilegios fijados por el administrador.

Contrasea (password): se trata de tareas que mantienen actualizado el elemento de


autenticacin relacionado con cada usuario. La tarea de comprobar la fortaleza de una clave de
acceso forma parte de este grupo.

Sesin (session): Incluye tareas que se llevan a cabo cuando se inicia o finaliza el servicio a
un usuario. El mantenimiento de registros de acceso forma parte de este grupo.
Control de acceso.
Segn Silberschatz (2006) , el control de acceso se realiza utilizando identificadores unvocos.
Un identificador de usuario (uid) identifica a un nico usuario [con un) nico conjunto de
derechos de acceso. Un identificador de grupo (gid) es un identificador adicional que puede
emplearse para especificar aquellos derechos que pertenecen a ms de un usuario (p.708).

En Linux se aplica este mecanismo de control de acceso de usuario y de grupo a todo los objetos
del sistema a los cuales se le asigna un uid y un gid. De igual forma a los procesos se le asigna un
uid y uno o varios gid. Segn la concordancia de entre los id de procesos y los id de objeto los
derechos concedidos a los procesos pueden ser:

Derechos de usuario o propietario: si el uid de un proceso es igual al uid de un objeto.

Derechos de grupo: si el gid de un proceso es igual al gid de un objeto.

Derechos de resto del mundo: si los gid del proceso y del objeto son diferentes.

Linux proporciona alguno mecanismos descritos por Silberschatz (2006) como sigue:
Mascara de proteccin
En Linux, se aplica una mascara de proteccin a los objetos el cual especifica los modos de
acceso de lectura, escritura y/o ejecucin que se deben conceder a los procesos para que tengan
ciertos privilegios
Uid Root
Cuando se aplica un uid root se otorgan derechos de privilegio al usuario o proceso sobre todos
los objetos del sistema.
Setuid
Se aplica el mecanismo setuid estandar que permite que un proceso se ejecute con privilegios
diferentes de los del usuario que est ejecutando el proceso. Si un usuario quiere colocar en la
cola de impresin un documento, no podr hacerlo con sus privilegios. Sin embargo, se hace un
intercambio entre un uid real (el del usuario que ejecuta el programa o tarea) y un uid efectivo (es
el del propietario del archivo que tiene los privilegios para colocar el documento en la cola de
impresin) que permite que se ejecuten los procesos. En la Figura 8.2. se muestra un ejemplo de
la aplicacin de Setuid.

Figura 8.2. Implementacin de Setuid


Fuente: ((Walton, 2015)

Saved user-id
Es una ampliacin del Setuid a travs de la cual un proceso puede renunciar o readquirir su uid
efectivo repetidamente dependiendo de la tarea que se va a realizar. Se produce un intercambio
entre el uid real y el uid efectivo, se recuerda el uid efectivo anterior pero el uid real del programa
no siempre es igual al uid del usuario que ejecuta el programa. Los uid guardados permiten a un
proceso utilizar como uid efectivo su uid real y luego volver al valor anterior de uid efectivo sin
modificar su uid real.
Fsuid y fsgid
Tambin es una caracterstica aadida al setuid, donde los procesos conceden solo un conjunto de
privilegios del uid efectivo para el acceso a los archivos. Permite a un proceso tener acceso a un
archivo por cuenta de otro usuario sin adoptar la identidad de ese usuario.
Socket de red local
Es un mecanismo de se conceden derechos entre programas. En el
intercambio un programa enva un descriptor de un archivo abierto a otro
programa que recibe el descriptor de archivo duplicado para ese mismo
archivo. Tiene la posibilidad de realizar algunas tareas con el archivo, por
ejemplo leerlo pero posiblemente no tenga acceso de escritura. Este
mecanismo permite que un programa le conceda selectivamente derechos
sobre un archivo a otro proceso como un servidor sin concederle otros
privilegios.

You might also like