Flashcards: 333.2 - Control De Acceso Obligatorio

37 tarjetas de repaso. Usa el sistema de repeticion espaciada para memorizar.

P: ¿Que comando muestra el modo actual de SELinux?

R: b). getenforce getenforce muestra el modo actual de SELinux: Enforcing, Permissive o Disabled. sestatus proporciona informacion mas detallada incluyendo la politica cargada.


P: Un administrador ejecuta chcon -t httpd_sys_content_t /datos/web/index.html. ¿Que ocurre si posteriormente se ejecuta restorecon /datos/web/index.html?

R: b). El contexto vuelve al valor por defecto del sistema de archivos chcon establece contextos temporales que se pierden con restorecon o un reetiquetado del sistema. Para cambios permanentes se debe usar semanage fcontext seguido de restorecon.


P: ¿Que comando establece permanentemente un booleano de SELinux?

R: b). setsebool -P httpd_can_network_connect on La opcion -P (Persistent/Permanent) hace que el cambio del booleano sobreviva a reinicios. Sin -P, el cambio es solo temporal.


P: ¿Que herramienta de AppArmor se utiliza para crear un perfil de forma interactiva, monitorizando los accesos de la aplicacion?

R: c). aa-genprof aa-genprof inicia un proceso interactivo: pone la aplicacion en modo complain, permite ejecutarla en otra terminal, y luego analiza los logs para construir el perfil basandose en los accesos reales.


P: ¿Donde se almacenan los perfiles de AppArmor?

R: b). /etc/apparmor.d/ Los perfiles de AppArmor se almacenan en /etc/apparmor.d/. Los nombres siguen la convencion de reemplazar / por . en la ruta del ejecutable (ej: usr.sbin.apache2).


P: ¿Que comando genera un modulo de politica SELinux a partir de las denegaciones registradas en el log de auditoria?

R: c). audit2allow -a -M mi_modulo audit2allow lee las denegaciones AVC del log de auditoria. Con -a lee todo el log, y -M mi_modulo genera un modulo compilado (.pp) listo para instalar con semodule -i mi_modulo.pp.


P: ¿Cual es la diferencia fundamental entre el modelo de etiquetado de SELinux y AppArmor?

R: a). SELinux usa etiquetas en el inodo del archivo; AppArmor usa rutas de archivo SELinux almacena contextos de seguridad como atributos extendidos en el inodo (xattr), lo que los hace persistentes e independientes de la ruta. AppArmor define permisos basados en rutas de archivos, lo cual es mas simple pero no protege contra accesos mediante hardlinks o renombrados.


P: Un proceso Apache en un sistema con SELinux intenta conectarse a una base de datos remota pero la conexion es denegada. ¿Cual es la solucion mas probable?

R: b). Ejecutar setsebool -P httpd_can_network_connect on El booleano httpd_can_network_connect controla si Apache puede iniciar conexiones de red salientes. Por defecto esta desactivado por seguridad. Activarlo con -P resuelve el problema de forma permanente y correcta.


P: ¿Que comando de AppArmor pone un perfil existente en modo complain para depuracion?

R: b). aa-complain /etc/apparmor.d/perfil aa-complain cambia el modo del perfil especificado a complain, donde las violaciones se registran pero no se bloquean. Es el equivalente al modo permissive de SELinux para un perfil individual.


P: ¿Que ventaja principal tiene MAC (SELinux/AppArmor) sobre DAC?

R: b). MAC protege incluso si root esta comprometido En DAC, root tiene acceso completo a todos los recursos. En MAC, las politicas son aplicadas por el kernel independientemente del usuario. Un proceso con UID 0 (root) sigue estando confinado por la politica MAC, limitando el daño que un atacante puede hacer incluso con acceso root.


P: ¿Que comando de SELinux permite añadir un puerto personalizado al tipo http_port_t para que Apache pueda escuchar en el puerto 8080?

R: b) Correcta. semanage port -a añade una nueva asignacion de puerto a un tipo SELinux. La opcion -t especifica el tipo, -p el protocolo y el numero de puerto. Si el puerto ya esta asignado a otro tipo, se debe usar -m (modify) en lugar de -a (add).


P: En SELinux, ¿que componente del contexto de seguridad es el principal mecanismo de control de acceso en la politica “targeted”?

R: c) Correcta. El tipo (type) es el componente principal del control de acceso en la politica “targeted” de SELinux, implementando lo que se conoce como Type Enforcement (TE). Las reglas de la politica definen que tipos de procesos (dominios) pueden acceder a que tipos de archivos/recursos. Los otros componentes (usuario, rol, nivel) tienen un papel secundario en la politica targeted.


P: ¿Que ocurre cuando se cambia SELinux de modo “disabled” a “enforcing” en /etc/selinux/config?

R: b) Correcta. Cambiar desde “disabled” requiere reinicio obligatorio. Ademas, como los archivos creados mientras SELinux estaba deshabilitado carecen de contextos de seguridad, el sistema debe realizar un reetiquetado completo (relabeling) del sistema de archivos. Esto se puede forzar creando el archivo /.autorelabel antes del reinicio.


P: En AppArmor, ¿que significado tiene el permiso px en un perfil?

R: c) Correcta. El permiso px (Profile eXecute) indica que cuando el programa confinado ejecuta ese binario, se transiciona al perfil de AppArmor definido para ese ejecutable. Si no existe un perfil, la ejecucion se deniega. La variante Px añade limpieza de entorno (environment scrubbing) para mayor seguridad. ix hereda el perfil actual y ux ejecuta sin confinamiento.


P: ¿Que comando de SELinux busca denegaciones AVC recientes en el log de auditoria?

R: b) Correcta. ausearch es la herramienta del subsistema de auditoria de Linux. La opcion -m AVC filtra por mensajes de tipo AVC (Access Vector Cache) de SELinux, y -ts recent muestra solo los eventos recientes (ultimos 10 minutos). Es el primer paso en la solucion de problemas de SELinux.


P: ¿Que comando de AppArmor genera un perfil basico automaticamente para una aplicacion sin interaccion del usuario?

R: b) Correcta. aa-autodep genera un perfil basico de AppArmor automaticamente sin requerir interaccion. El perfil generado es minimo y generalmente necesita refinamiento posterior. aa-genprof es interactivo (monitorea accesos en tiempo real), aa-logprof actualiza perfiles existentes basandose en logs, y aa-enforce cambia el modo del perfil.


P: ¿Que politica de SELinux confina solo procesos especificos del sistema mientras deja los demas en dominio “unconfined”?

R: c) Correcta. La politica “targeted” es la politica por defecto en RHEL/CentOS/Fedora. Confina servicios especificos como httpd, named, sshd y otros, mientras que los procesos de usuario y servicios no definidos se ejecutan en el dominio unconfined_t sin restricciones MAC adicionales. La politica “mls” implementa Multi-Level Security completa.


P: Un administrador necesita instalar un modulo de politica SELinux compilado llamado mi_modulo.pp. ¿Que comando debe usar?

R: a) Correcta. semodule -i instala un modulo de politica SELinux compilado (archivo .pp). El modulo se añade a la politica activa. Para listar los modulos instalados se usa semodule -l, y para eliminar uno se usa semodule -r nombre_modulo.


P: En AppArmor, ¿que directorio contiene las abstracciones (conjuntos predefinidos de permisos comunes) que se incluyen en los perfiles?

R: b) Correcta. Las abstracciones se almacenan en /etc/apparmor.d/abstractions/ y contienen conjuntos de permisos comunes reutilizables. Por ejemplo, base incluye accesos basicos del sistema, nameservice permite resolucion de nombres, y authentication da acceso a archivos de autenticacion. Se incluyen en perfiles con #include <abstractions/nombre>.


P: ¿Que comando recarga un perfil de AppArmor modificado sin reiniciar el servicio AppArmor completo?

R: b) Correcta. apparmor_parser -r (replace) recarga un perfil especifico, reemplazando la version cargada en el kernel con la nueva version del archivo. Es mas eficiente que reiniciar todo el servicio AppArmor cuando solo se ha modificado un perfil individual.


P: Escribe el comando para establecer permanentemente el contexto SELinux httpd_sys_content_t para todos los archivos bajo el directorio /datos/web/ y sus subdirectorios.

R: semanage fcontext -a -t httpd_sys_content_t “/datos/web(/.*)?”. semanage fcontext -a añade una regla permanente de contexto de archivos. La expresion regular (/.*)? cubre el directorio y todos sus contenidos recursivamente. Despues de ejecutar este comando, se debe ejecutar restorecon -Rv /datos/web/ para aplicar los cambios a los archivos existentes.


P: Escribe el comando para poner SELinux en modo permissive de forma temporal (sin reinicio).

R: setenforce 0. setenforce 0 cambia SELinux a modo permissive de forma temporal. En este modo, SELinux registra las violaciones pero no las bloquea. Este cambio se pierde tras reiniciar. Para volver a enforcing se ejecuta setenforce 1. Para cambios permanentes se debe editar /etc/selinux/config.


P: Escribe el comando para ver el estado completo de AppArmor, incluyendo perfiles cargados y procesos confinados.

R: aa-status. aa-status (o su alias apparmor_status) muestra informacion detallada sobre el estado de AppArmor: numero de perfiles cargados, cuales estan en modo enforce, cuales en modo complain, y que procesos estan actualmente confinados por cada perfil.


P: Escribe el comando para generar las reglas de politica SELinux necesarias a partir de todas las denegaciones AVC registradas en el log de auditoria.

R: audit2allow -a. audit2allow -a lee todas las denegaciones AVC del log de auditoria (/var/log/audit/audit.log) y genera las reglas de tipo allow necesarias para permitir esos accesos. Para crear un modulo compilado instalable, se añade -M nombre_modulo, generando archivos .te y .pp.


P: Escribe el comando para restaurar recursivamente los contextos SELinux por defecto de todos los archivos en /var/www/html/.

R: restorecon -Rv /var/www/html/. restorecon restaura los contextos de seguridad SELinux a los valores por defecto definidos por la politica. La opcion -R aplica recursivamente a todos los archivos y subdirectorios, y -v muestra los cambios realizados. Es el paso necesario despues de usar semanage fcontext o cuando los contextos se han corrompido.


P: Tip de examen: Este subtema tiene peso 4. Necesitas conocer tanto SELinux como AppArmor en prof…

R: Este subtema tiene peso 4. Necesitas conocer tanto SELinux como AppArmor en profundidad: modos, comandos de gestion, contextos de seguridad, booleanos y creacion de perfiles.


P: Tip de examen: Cambiar entre enforcing y permissive no requiere reinicio. Cambiar a/desde `…

R: Cambiar entre enforcing y permissive no requiere reinicio. Cambiar a/desde disabled SI requiere reinicio y reetiquetado del sistema de archivos.


P: Tip de examen: chcon cambia contextos temporalmente (se pierden con restorecon o relabeling…

R: chcon cambia contextos temporalmente (se pierden con restorecon o relabeling). semanage fcontext + restorecon es la forma correcta y permanente.


P: Tip de examen: Conoce el flujo completo: aa-genprof o aa-autodep para crear, aa-complain

R: Conoce el flujo completo: aa-genprof o aa-autodep para crear, aa-complain para depurar, aa-logprof para ajustar, aa-enforce para activar.


P: Que hace el comando httpd_can_network_connect?

R: Permitir a Apache conexiones de red


P: Que hace el comando httpd_enable_homedirs?

R: Permitir acceso a directorios home


P: Que hace el comando ftpd_anon_write?

R: Permitir escritura FTP anonima


P: Que hace el comando px?

R: Transicion a perfil del ejecutable


P: Que es/son SELinux (Security-Enhanced Linux)?

R: SELinux fue desarrollado por la NSA y es el sistema MAC por defecto en distribuciones Red Hat/CentOS/Fedora.


P: Que es/son AppArmor?

R: AppArmor es el sistema MAC por defecto en distribuciones Debian/Ubuntu y SUSE. Utiliza perfiles basados en rutas de archivos (no etiquetas como SELinux).


P: Que es/son Comparacion SELinux vs AppArmor?

R: | Caracteristica | SELinux | AppArmor |


P: Que es/son Trampas del examen?

R: > Errores comunes y distinciones criticas que LPI suele evaluar en este subtema: