Seguridad en Sistemas Unix/Linux
Clasificado en Informática
Escrito el en español con un tamaño de 5,2 KB
Control de Acceso al Sistema de Ficheros
Control de Accesos Filesystem: El sistema de ficheros (FS) implementa su propio control de acceso. Los ficheros tienen asignado un propietario y un grupo. Los grupos se encuentran definidos en /etc/group o bien en NIS o LDAP. El acceso al sistema de ficheros (UID, GID) es mapeado en /etc/passwd y /etc/group.
Procesos y Propietarios
Procesos Propietarios: El propietario de un proceso puede realizar las siguientes acciones:
- Modificar permisos
- Enviar señales
- Reducción de prioridad
Los procesos tienen dos identidades: real y efectiva (UID/GID).
Usuario Root
Usuario Root: Es el usuario encargado de realizar tareas administrativas. Su UID es 0. Tiene las siguientes características:
- Operaciones permitidas: Cualquier operación en cualquier fichero o proceso.
- Operaciones restringidas:
- Uso de chroot
- Creación de sistemas de ficheros
- Configuración de la hora del sistema
- Asignación de prioridades absolutas a los procesos
- Configuración de interfaces de red
Las operaciones restringidas a root deben ser realizadas por los operadores del sistema.
Ejecución SETUID/SETGID
- Se aplica a ficheros ejecutables.
- Al ejecutar ls -l, se muestra una s en lugar de una x en los permisos:
- Si la s está en los permisos del propietario, indica setuid.
- Si la s está en los permisos del grupo propietario, indica setgid.
- Permiten que ciertos usuarios alcancen un mayor grado de permisos.
- Si un usuario ejecuta un fichero con el bit setuid/setgid activo, se produce una "suplantación" del UID/GID del fichero que contiene la imagen del programa. Ejemplo: passwd tiene el bit setuid porque un usuario normal puede cambiar su contraseña.
- SETUID (set user ID): Permite al usuario que ejecuta el fichero tener los mismos permisos que el usuario propietario durante la ejecución. Ejemplo en shell:
chmod u+s /usr/local/bin/mi_programa
- SETGID (set group ID): Es similar a setuid, pero se aplica a los grupos. Ejemplo en shell:
chmod 2750 /usr/local/sbin/mi_programa
SELinux (Security Enhanced Linux)
- Es complejo de administrar.
- Su implantación es común en administraciones públicas.
- Tiene una fácil instalación.
- Modos de SELinux:
- enforcing: Prohíbe violaciones de seguridad.
- permissive: Permite violaciones de seguridad, pero envía un registro a syslog.
- disabled: Desactiva SELinux.
- Tipos de SELinux:
- targeted: Proporciona seguridad adicional en demonios como httpd, mailman, portmap.
- strict: Implementa una seguridad total.
- Los eventos en Unix se capturan en ficheros de texto en /var/log/syslog (o similar, dependiendo de la distribución).
PAM (Pluggable Authentication Modules)
PAM (Pluggable Authentication Modules) es un conjunto de librerías (escritas en lenguajes como Python o C) que sirven para:
- Facilitar la administración de la seguridad en sistemas Unix.
- Permitir nuevos avances de autenticación, como la autenticación de doble factor y el cifrado.
- Los programas que desean autenticarse realizan una llamada a PAM, que a su vez llama a la librería específica de autenticación.
- La configuración se basa en el fichero /etc/pam.conf y los directorios en /etc/pam.d.
- Permite la autenticación de diversas actividades, como el inicio de sesión de usuario, el acceso a sitios web protegidos y otras formas de acceso.
- Los módulos de PAM se encuentran en /lib/security (o similar, dependiendo de la distribución).
- El campo GECOS en /etc/passwd permite añadir información complementaria de cada usuario.
LDAP (Lightweight Directory Access Protocol)
- Es un servicio de directorio para el almacenamiento de información de forma jerárquica.
- Actúa como un repositorio central de información.
- Ofrece compatibilidad entre sistemas.
- Permite un mayor control de permisos.
- Tiene una estructura similar a una base de datos.
- Permite la autenticación centralizada, sustituyendo consultas a la base de datos local por consultas al servidor LDAP.
- Tiene soporte para lenguajes como Perl y Python.
- La modificación de las políticas LDAP es inmediata.