Tabla de contenidos
Cuando una persona (o programa) necesita acceso al sistema, la acreditación confirma que la identidad es confiable.
Aviso | |
---|---|
Una configuración errónea de PAM puede bloquearlo en su propio sistema. Debe tener un CD de rescate a mano o configurar una partición de arranque alternativa. Para recuperarlo inicie el sistema con uno de estos y corrija los errores cometidos. |
La autenticación Unix normal la proporciona el módulo
pam_unix
(8) bajo PAM (Módulos de autenticación
conectables). Sus 3 archivos de configuración importantes, con
entradas separadas ":
", son los siguientes.
Tabla 4.1. los tres archivos importantes de configuración de
pam_unix
(8)
archivo | permisos | usuario | grupo | descripción |
---|---|---|---|---|
/etc/passwd |
-rw-r--r-- |
root |
root |
(limpia) información de la cuenta de usuario |
/etc/shadow |
-rw-r----- |
root |
shadow |
información de seguridad de la cuenta de usuario |
/etc/group |
-rw-r--r-- |
root |
root |
información de grupo |
"/etc/passwd
" contiene lo siguiente.
... user1:x:1000:1000:User1 Name,,,:/home/user1:/bin/bash user2:x:1001:1001:User2 Name,,,:/home/user2:/bin/bash ...
Como se explica en contraseña
(5), cada entrada separada
":
" de este archivo significa lo siguiente.
Nombre de acceso
Entrada de especificación de contraseña
ID de usuario numérico
ID numérico de grupo
Nombre de usuario o comentario
Directorio raíz del usuario
Intérprete de órdenes opcional de usuario
La segunda entrada de «/etc/passwd
» se usaba para guardar
la contraseña cifrada. Después de la introducción de
«/etc/shadow
», esta entrada se usa para especificar la
entrada de la contraseña.
Tabla 4.2. El contenido de la segunda entrada de «/etc/passwd
»
contenido | significado |
---|---|
(vacio) | cuenta sin contraseña |
x | la contraseña cifrada esta en «/etc/shadow » |
"/etc/shadow
" contiene lo siguiente.
... user1:$1$Xop0FYH9$IfxyQwBe9b8tiyIkt2P4F/:13262:0:99999:7::: user2:$1$vXGZLVbS$ElyErNf/agUDsm1DehJMS/:13261:0:99999:7::: ...
Como se explica en shadow
(5), cada entrada separada
":
" de este archivo significa lo siguiente.
Nombre de acceso
Contraseña cifrada (El «$1$
» inicial indica el uso del
cifrado MD5. El carácter "*" indica sin acceso a la cuenta.)
Fecha del último cambio de contraseña, expresado en el número de días desde el 1 de Enero de 1970
Número de días que el usuario tiene que esperar antes de que se le permita cambiar la contraseña de nuevo
Número de días después del cual el usuario puede cambiar su contraseña
Número de días antes de que la contraseña deje de ser válida durante los cuales se avisará al usuario de ello
Número de días después de que una contraseña ha dejado de ser válida en los cuales la contraseña todavía será aceptada
Fecha de expiración de la cuenta, expresada en el número de días desde 1 de Enero de 1970
…
"/etc/group
" contiene lo siguiente.
group1:x:20:user1,user2
Como se explica en grupos
(5), cada entrada separada
":
" de este archivo significa lo siguiente.
Nombre del grupo
Contraseña cifrada (no usado)
ID numérico de grupo
relación de los nombres de usuario separados por ","
Nota | |
---|---|
« |
Nota | |
---|---|
La pertenencia real a un grupo por parte de un usuario puede ser añadido de
forma dinámica si la línea « |
Nota | |
---|---|
El paquete |
Aquí están algunas órdenes relevantes para la gestión de información de cuentas.
Tabla 4.3. Relación de órdenes para la gestión de información de las cuentas
orden | función |
---|---|
getent passwd nombre_de_usuario |
navega por la información de la cuenta de
«nombre_de_usuario » |
getent shadow nombre_de_usuario |
navega por la información de cuenta «oculta« de
«nombre_de_usuario » |
getent group nombre_del_grupo |
navega por la información del grupo
«nombre_del_grupo » |
passwd |
gestiona la contraseña de la cuenta |
passwd -e |
asigna una contraseña de un solo uso para la activación de la cuenta |
chage |
gestión de la información de la vejez de la contraseña |
Puede necesitar privilegios de superusuario para que funcionen alguna
operación. Ver crypt
(3) sobre el cifrado de la contraseña
y datos.
Nota | |
---|---|
En un sistema configurado con PAM y NSS como el equipo Debian salsa, el contenido local de
« |
Cuando se crea una cuenta durante la instalación de su sistema o con la
orden passwd
(1), puede elegir una buena contraseña la cual consiste al menos de 6
a 8 caracteres incluyendo uno o más caracteres de cada uno de los conjuntos
siguientes de acuerdo a passwd
(1).
letras en minúscula
Dígitos de 0 hasta 9
Signos de puntuación
Aviso | |
---|---|
No elija para la contraseña palabras fáciles de adivinar. Nombre de la cuenta, número de la Seguridad Social, nombre del teléfono, dirección, fecha de nacimiento, nombre de los miembros de su familia o mascotas, palabras del diccionario, secuencias simples de caracteres como «12345« o «qwerty«, son una mala elección para la contraseña. |
Existen herramientas independientes para generar contraseñas cifradas con una semilla.
Tabla 4.4. Relación de herramientas para generar contraseñas
paquete | popularidad | tamaño | orden | función |
---|---|---|---|---|
whois
|
V:25, I:251 | 387 | mkpasswd |
interfaz con múltiples funcionalidades de la biblioteca
crypt (3) |
openssl
|
V:841, I:995 | 2111 | openssl passwd |
resúmenes criptográficos de las contraseñas
(OpenSSL). passwd (1ssl) |
Los sistemas modernos similares a Unix (como los sistemas Debian) proporcionan PAM (módulos de autenticación conectables, módulos de autenticación conectables) y NSS (Cambio de servicio de nombres, Cambio de servicio de nombres) mecanismo para administradores de sistemas locales, que les permite configurar sus propios sistemas. Sus funciones se pueden resumir en los siguientes puntos.
PAM ofrece mecanismos flexibles de acreditación que los usan las aplicaciones software mediante el intercambio de datos de contraseñas.
NSS ofrece un mecanismo de servicios de nombre flexible el cual se usa de
forma habitual por la biblioteca C
estándar para obtener el nombre del usuario y el grupo para
programas como ls
(1) e id
(1).
Estos sistemas PAM y NSS necesitan configurarse de forma coherente.
Los paquetes importantes en los sistemas PAM y NSS son los siguientes.
Tabla 4.5. Relación de sistemas PAM y NSS relevantes
paquete | popularidad | tamaño | descripción |
---|---|---|---|
libpam-modules
|
V:889, I:999 | 984 | Módulos de acreditación conectables (servicios básicos) |
libpam-ldap
|
V:0, I:6 | 249 | PAM permite conectar con servicios LDAP |
libpam-cracklib
|
V:0, I:8 | 117 | PAM para dar soporte a cracklib |
libpam-systemd
|
V:571, I:936 | 627 | Módulo de autenticación conectable (PAM) para logind para
registrar sesiones de usuario |
libpam-doc
|
I:0 | 152 | PAM (documentación en html y texto) |
libc6
|
V:917, I:999 | 12988 | Biblioteca GNU C: bibliotecas compartidas que ofrecen también el intercambio del servicio de nombres |
glibc-doc
|
I:8 | 3503 | Biblioteca GNU C: Manpages |
glibc-doc-reference
|
I:4 | 13841 | Biblioteca GNU C: Manual de Referencia en info, formatos pdf y html («non-free«) |
libnss-mdns
|
I:510 | 141 | Módulo NSS para resolución de nombres DNS sin servidor DNS |
libnss-ldap
|
I:5 | 265 | Módulo NSS para su integración con el servicio de nombres por LDAP |
libnss-ldapd
|
I:15 | 129 | Módulo NSS para utiliza LDAP como servicio de nombres (nueva bifurcación de
libnss-ldap ) |
Es esencial para aprender a configurar PAM «The Linux-PAM System
Administrators' Guide« en libpam-doc
.
El documento principal para aprender a configurar NSS es «System Databases
and Name Service Switch« section en glibc-doc-reference
.
Nota | |
---|---|
Puede obtener una relación más completa y actualizada mediante la orden
« |
Nota | |
---|---|
PAM es la forma fundamental para la inicialización de las variables de entorno para cada programa con un valor diferente al que ofrece el sistema por defecto. |
En systemd, se instala el paquete
libpam-systemd
para administrar los inicios de sesión de
los usuarios especificando logind se
implementa mediante el registro de sesiones de usuario en la jerarquía del
grupo de control systemd
. Ver
systemd-logind
(8), logind.conf
(5) y
pam_systemd
(8).
Aquí están algunos de los archivos de configuración más importantes usados por PAM y NSS.
Tabla 4.6. Relación de archivos de configuración utilizados por PAM y NSS
archivo de configuración | función |
---|---|
/etc/pam.d/nombre_de_programa |
Realice la configuraciñon de PAM para el programa
«nombre_del_programa »; consulte
pam (7) y pam.d (5) |
/etc/nsswitch.conf |
Realice la configuración NSS con una registro para cada servicio. Consulte
nsswitch.conf (5) |
/etc/nologin |
Acote los usuario con permisos de inicio por medio del módulo
pam_nologin (8) |
/etc/securetty |
acote el acceso a tty para el superusuario por medio del módulo
pam_securetty (8) |
/etc/security/access.conf |
acote los permisos de acceso mediante el módulo
pam_access (8) |
/etc/security/group.conf |
restrinja los grupos básicos por medio del módulo
pam_group (8) |
/etc/security/pam_env.conf |
asigne variables de entorno mediante el módulo pam_env (8) |
/etc/environment |
asigne más variables de entorno mediante el módulo
pam_env (8) con el parámetro
«readenv=1 » |
/etc/default/locale |
establecer la configuración regional mediante el módulo
pam_env (8) con el argumento "readenv=1
envfile=/etc/default/locale " (Debian) |
/etc/security/limits.conf |
establecer la restricción de los recursos (ulimit, core, ...) mediante el
módulo pam_linits (8) |
/etc/security/time.conf |
establecer la restricción de tiempo mediante el módulo
pam_time (8) |
/etc/systemd/logind.conf |
Establece la configuración del administrador de inicio de sesión para
systemd (ver logind.conf (5) y
systemd-logind.service (8)) |
Las normas para la selección de contraseñas se desarrolla en los módulos
PAM, pam_unix
(8) y pam_cracklib
(8). Se
pueden configurar por sus parámetros.
Sugerencia | |
---|---|
Los nombres de archivos de los módulos de PAM usan el sufijo
« |
La gestión moderna de sistemas centralizados puede desplegarse empleando un servidor central LDAP (Protocolo Ligero de Acceso a Directorios) que administre los sistemas en la red, sean estos tipo Unix o de otro tipo. La implementación de código libre de este protocolo es el software OpenLDAP.
El servidor LDAP proporciona información de la cuenta mediante PAM y NSS con
los paquetes libpam-ldap
y libnss-ldap
del sistema Debian. Se necesitan distintas acciones para activarlo (La
siguiente configuración no está comprobada y es información totalmente
secundaria. Por favor léala en este contexto).
Puede configurar un servidor centralizado LDAP ejecutando un programa como
el demonio LDAP centralizado, slapd
(8).
Cambie los archivos de configuración PAM en el directorio
«/etc/pam.d/
» para usar «pam_ldap.so
»
en vez de la opción por defecto «pam_unix.so
».
Debian utiliza los archivos «/etc/pam_ldap.conf
» para la
configuración de libpam-ldap
y
«/etc/pam_ldap.secret
» para archivar la contraseña de
root.
Cambie la configuración NSS en el archivo
«/etc/nsswitch.conf
» para usar ldap
en
vez de la opción por defecto («compat
» o
«file
»).
Debian utiliza el archivo «/etc/libnss-ldap.conf
» para la
configuración de libnss-ldap
.
Una contraseña segura necesita que libpam-ldap
use
conexiones SSL (o TLS).
La integridad de los datos necesita que libnss-ldap
utilice conexiones SSL (o TLS) con la
sobrecarga de red de LDAP.
Debería ejecutar nscd
(8) para que la caché almacene
cualquier resultado de una búsqueda de LDAP con el fin de reducir el tráfico
de red de LDAP.
Consulte los documentos pam_ldap.conf
(5) y
«/usr/share/doc/libpam-doc/html/
» que contiene el paquete
libpam-doc
e «info libc 'Name Service
Switch'
» que contiene el paquete glibc-doc
.
De forma parecida, se pueden instalar sistemas centralizados para otro métodos.
Integración de usuarios y grupos con sistemas Windows.
Se accede a servicios de dominio
Windows por medio de los paquetes winbind
y
libpam_winbind
.
Consulte winbindd
(8) y Integración de redes MS Windows con
Samba.
Integración de usuarios y grupos con sistemas tipo Unix antiguos.
Acceso a NIS (originalmente llamado
páginas amarillas (YP) o NIS+ mediante el
paquete nis
.
Consulte «The Linux NIS(YP)/NYS/NIS+ HOWTO«.
Esta frase famosa al final de la página antigua de «info
su
» de Richard M. Stallman. Para no preocuparse: la orden actual
su
en Debian usa PAM, así este puede limitar el uso de
su
al grupo root
habilitando la línea
«pam_wheel.so
» en «/etc/pam.d/su
».
Instale el paquete libpam-cracklib
y podrá aplicar
estrictas reglas de contraseña.
En un sistema GNOME típico, donde se instalaría
libpam-gnome-keyring
,
"/etc/pam.d/common-password
" se vería así:
# here are the per-package modules (the "Primary" block) password requisite pam_cracklib.so retry=3 minlen=8 difok=3 password [success=1 default=ignore] pam_unix.so obscure use_authtok try_first_pass yescrypt # here's the fallback if no module succeeds password requisite pam_deny.so # prime the stack with a positive return value if there isn't one already; # this avoids us returning an error just because nothing sets a success code # since the modules above will each just jump around password required pam_permit.so # and here are more per-package modules (the "Additional" block) password optional pam_gnome_keyring.so # end of pam-auth-update config
Nota | |
---|---|
La información que se facilita aquí puede no ser suficiente para la seguridad que necesita pero puede ser un buen comienzo. |
Los servicios de la capa de transporte más usados usan mensajes que incluyen la acreditación mediante contraseñas en texto plano. Es una mala idea emitir contraseñas en texto plano en una red descentralizada donde se pueden interceptar. Puede ejecutar estos servicios sobre la «Capa de Transporte Segura« (TLS) o su predecesor «Secure Sockets Layer« (SSL) para asegurar por medio del cifrado todas las comunicaciones incluidas las contraseñas.
Tabla 4.7. Relación de servicios y puertos seguros e inseguros
Nombre del servicio inseguro | puerto | nombre del servicio seguro | puerto |
---|---|---|---|
www (http) | 80 | https | 443 |
smtp (mail) | 25 | ssmtp (smtps) | 465 |
ftp-data | 20 | ftps-data | 989 |
ftp | 21 | ftps | 990 |
telnet | 23 | telnets | 992 |
imap2 | 143 | imaps | 993 |
pop3 | 110 | pop3s | 995 |
ldap | 389 | ldaps | 636 |
El coste de tiempo de CPU del cifrado. Como alternativa más eficiente para la CPU, se pueden mantener las comunicaciones en texto plano y securizando la contraseña con el protocolo de acreditación como «Protocolo de Acreditación de Oficina de Correos (Authenticated Post Office Protocol, APOP )« para POP y «Mecanismo de acreditación reto-respuesta MD5(Challenge-Response Authentication Mechanism MD5, CRAM-MD5)« para SMTP e IMAP. (Para el envío de mensajes de correo en Internet a su servidor de correo desde su cliente de correo, se ha vuelto usual el uso del puerto 587 para la recepción de mensajes en vez del tradicional puerto 25 SMTP para evitar el bloqueo del puerto 25 por el proveedor de red mientras se acredita con CRAM-MD5.)
El programa Secure Shell (SSH) ofrece
comunicaciones cifradas seguras entre dos equipos no confiables sobre una
red insegura con acreditación segura. Consiste en el cliente OpenSSH, ssh
(1) y el demonio
OpenSSH, sshd
(8). Este SSH
se puede usar para realizar un túnel de un protocolo de comunicación
inseguro como es POP y asegurar X sobre Internet con la funcionalidad de
reenvío de puerto (port forwarding).
El cliente intenta acreditarse a si mismo usando la acreditación basada en equipos, acreditación de clave pública, acreditación reto-respuesta, o acreditación por contraseña. El uso de acreditación por clave pública permite acceso remoto sin contraseña. Consulte Sección 6.3, “Servidor de acceso remoto (SSH) y utilidades”.
Incluso si ejecutas servicios de seguridad como Secure Shell (SSH) y protocolo de tunelización punto a punto (PPTP), En Internet, todavía existe la oportunidad de obtener acceso mediante ataques de adivinación de contraseñas de fuerza bruta. El uso de una política de firewall (ver Sección 5.7, “Infraestructura Netfilter”), junto con las siguientes herramientas de seguridad, puede mejorar la situación de seguridad.
Tabla 4.8. Relación de herramientas que aportan medidas extra de seguridad
paquete | popularidad | tamaño | descripción |
---|---|---|---|
knockd
|
V:0, I:2 | 110 | Pequeño demónio port-knock knockd (1) y cliente
knock (1) |
fail2ban
|
V:98, I:111 | 2126 | prohibición de las IPs con múltiples errores de acreditación |
libpam-shield
|
V:0, I:0 | 115 | bloquea atacantes remotos que intentan adivinar contraseñas |
Para evitar que las personas accedan a tu máquina con privilegios de root, debes realizar las siguientes acciones.
Impide el acceso físico al disco duro
Bloquee UEFI/BIOS y evita el arranque desde los medios extraíbles
Asigne una contraseña a las sesiones interactivas de GRUB
Bloquee la edición del menú de GRUB
Si tienes acceso físico al disco duro, puedes restablecer la contraseña con relativa facilidad siguiendo los siguientes pasos.
Lleve el disco duro a un ordenador que pueda configurar UEFI/BIOS para que arranque desde un CD.
Arranque el sistema con un medio de rescate (disco de arranque Debiam. Knoppix CD, GRUB CD, ...).
Monte la partición raíz con permisos de lectura/escritura.
Edita "/etc/passwd
" en la partición root y haz que la
segunda entrada para la cuenta root
esté vacía.
Si tienes acceso de edición a la entrada del menú del GRUB (consulta Sección 3.1.2, “Fase 2: el cargador de arranque”) para grub-rescue-pc
en el momento del arranque, es aún más fácil con los siguientes pasos.
Arranque el sistema con el argumento del núcleo cambiado a algo como
«root=/dev/hda6 rw init=/bin/sh
».
Edite «/etc/passwd
» y cree una segundo registro para una
cuenta de root
vacía.
Reinicie el sistema.
El intérprete de órdenes del superusuario del sistema es accesible sin contraseña.
Nota | |
---|---|
Una vez que tiene acceso al intérprete de órdenes del superusuario, tiene
acceso a todo en el sistema y puede cambiar cualquier contraseña del
sistema. Incluso, se pueden comprometer las contraseñas de todos los
usuarios por medio de herramientas de «cracking« de fuerza bruta como los
paquetes |
La única solución software razonable es evitar lo anterior con la
utilización de software que cifra la partición raíz (o la partición
«/etc
») usando dm-crypt e
initramfs (ver Sección 9.9, “Trucos para cifrar información”). Sin embargo,
siempre necesitará la contraseña para arrancar el sistema.
Existen controles de acceso al sistema además de la autenticación basada en contraseña y los permisos de archivo.
Nota | |
---|---|
Ver Sección 9.4.16, “Tecla Alt-SysRq” como limitar la funcionalidad clave de atención segura (SAK) del núcleo. |
Las ACL son un superconjunto de los permisos normales, como se explica en Sección 1.2.3, “Permisos del sistema de archivos”.
En los entornos de escritorio modernos, las ACL entran en acción. Cuando un
dispositivo de almacenamiento USB formateado se monta automáticamente como,
por ejemplo, "/media/penguin/USBSTICK
", un usuario normal
penguin
puede ejecutarlo:
$ cd /media/penguin $ ls -la total 16 drwxr-x---+ 1 root root 16 Jan 17 22:55 . drwxr-xr-x 1 root root 28 Sep 17 19:03 .. drwxr-xr-x 1 penguin penguin 18 Jan 6 07:05 USBSTICK
"+
" en la undécima columna indica que las ACL están en
acción. Sin ACLs, un usuario normal pingüino
no debería
poder listar así ya que pingüino
no está en el grupo
root
. Puedes ver ACLs como:
$ getfacl . # file: . # owner: root # group: root user::rwx user:penguin:r-x group::--- mask::r-x other::---
Aquí:
"usuario::rwx
", "grupo::---
" y
"otro::---
" corresponden a los permisos normales de
propietario, grupo y otro.
La ACL "user:penguin:r-x
" permite que un usuario normal
pingüino
tenga permisos "r-x
". Esto
permite a "ls -la
" listar el contenido del directorio.
La ACL "mask::r-x
" establece el límite superior de los
permisos.
Ver "Listas de control de
acceso POSIX en Linux", acl
(5),
getfacl
(1) y setfacl
(1) para más
información.
sudo
(8) es un programa diseñado para permitir que el
administrador de sistemas conceda ciertos privilegios de superusuario a los
usuarios y registre su actividad. sudo
necesita
únicamente la contraseña del usuario normal. Una vez instalado el paquete
sudo
la configuración se realiza en el archivo
«/etc/sudoers
». Ver una configuración de ejemplo en
«/usr/share/doc/sudo/examples/sudoers
» y Sección 1.1.12, “Configuración de sudo”.
En un sistema monousuario, el uso que yo realizo de sudo
(verSección 1.1.12, “Configuración de sudo”) pretende evitar mi propia
estupidez. Personalmente, considero el uso de sudo
como
la mejor alternativa al uso de la cuenta de superusuario de forma
constante. Por ejemplo, lo siguiente cambia el dueño de
«un_archivo
» a
«mi_nombre
».
$ sudo chown my_name some_file
Desde luego si conoce la contraseña de «root« (como la conoce cualquier
usuario que se instala Debian), cualquier orden puede ser ejecutada por
«root« desde cualquier cuenta de usuario utilizando «su
-c
».
PolicyKit es un componente del sistema operativo con el fin de controlar los privilegios del sistema en toda su extensión para sistemas operativos tipo Unix.
Los nuevas aplicaciones de interfaz gráfico de usuario no están diseñadas para ejecutarse como procesos privilegiados. Se comunican con los procesos privilegiados a través de PolicyKit realizando de forma eficiente las operaciones administrativas.
PolicyKit restringe cada operación a cuentas de usuario que pertenecer al
grupo sudo
en el sistema Debian.
Ver polkit
(8).
Para la seguridad del sistema, es una buena idea deshabilitar tantos programas del servidor como sea posible. Esto es crítico en servidores en red. Tener servidores sin utilidad, ejecutándose como demonios o por medio de un programa super servidor, se considera un riesgo de seguridad.
Muchos programas, como sshd
(8), utilizan PAM como control
de acceso. Existen muchas maneras de limitar el acceso a algunos servicios
de servidor.
archivos de configuración:
«/etc/default/nombre_programa
»
Configuración de la unidad de servicio Systemd para demonio
PAM (Módulos de Autenticación Insertables (Pluggable Authentication Modules))
«/etc/inetd.conf
» para el super servidor
«/etc/hosts.deny
» y «/etc/hosts.allow
»
para TCP wrapper,
tcpd
(8)
«/etc/rpc.conf
» para Sun
RPC
«/etc/at.allow
» y «/etc/at.deny
» para
atd
(8)
«/etc/cron.allow
» y «/etc/cron.deny
»
para crontab
(1)
Cortafuegos de red de la infraestructura netfilter
Ver Sección 3.5, “Gestión del sistema”, Sección 4.5.1, “Archivos de configuración utilizados por PAM y NSS”, y Sección 5.7, “Infraestructura Netfilter”.
Sugerencia | |
---|---|
Si tiene problemas de acceso remoto en sistemas Debian recientes, comente
las configuraciones que lo restringen como «ALL: PARANOID« en
« |
El kernel de Linux ha evolucionado y admite características de seguridad que no se encuentran en las implementaciones tradicionales de UNIX.
Linux soporta atributos extendidos
que amplían los atributos tradicionales de UNIX (ver
xattr
(7)).
Linux divide los privilegios tradicionalmente asociados con el superusuario
en distintas partes, conocidas como capacidades
(7), que
se puede habilitar y deshabilitar de forma independiente. Las capacidades
son un atributo por subproceso desde la versión 2.2 del kernel.
La infraestructura Linux Security Module (LSM proporciona un mecanismo para varias pruebas de seguridad para que sean unidas por nuevas extensiones del kernel. Por ejemplo:
Dado que estas extensiones pueden endurecer el tipo de privilegio más estricto que las políticas ordinarias de tipo de seguridad similares a las de Unix, incluso se puede restringir el poder de root. Recomendamos leer el documento marco de Linux Security Module (LSM) en kernel.org.
Linux namespaces empaqueta un recurso del
sistema global en una abstracción que hace aparecer a los procesos dentro
del espacio de nombres que tienen su propia instancia aislada del recurso
global. Los cambios en el recurso global son visibles a otros procesos que
son miembros del espacio de nombres, pero son invisibles a otros procesos.
Desde el kernel 5.6, hay 8 tipos de espacios de nombres (ver
namespaces
(7), unshare
(1),
nsenter
(1)).
A partir de Debian 11 Bullseye (2021), Debian utiliza jerarquía de grupos unificados (a.k.a. cgroups-v2).
Ejemplos de uso de namespaces con cgroups para aislar sus procesos y permitir el control de recursos son:
Estas funcionalidades no se pueden realizar por Sección 4.1, “Acreditación normal de Unix”. Estos temas avanzados están fuera del alcance de este documento introductorio.