Respuestas:
Apparmor es un sistema de control de acceso obligatorio (o MAC). Utiliza mejoras del kernel LSM para restringir los programas a ciertos recursos. AppArmor hace esto con los perfiles cargados en el kernel cuando se inicia el sistema. Apparmor tiene dos tipos de modos de perfil, aplicación y queja. Los perfiles en modo de aplicación hacen cumplir las reglas de ese perfil e informan intentos de violación en syslog
o auditd
. Los perfiles en modo de queja no aplican ninguna regla de perfil, solo registran los intentos de violación.
En Ubuntu, Apparmor está instalado por defecto. Limita las aplicaciones a los perfiles para determinar a qué archivos y permisos debe acceder un programa. Algunas aplicaciones vendrán con sus propias propiedades y se pueden encontrar más en el apparmor-profiles
paquete.
Puede instalar apparmor-profiles
ejecutando sudo apt-get install apparmor-profiles
.
Encontré un buen ejemplo de Apparmor en los foros de Ubuntu que reescribí para esta publicación.
Apparmor es un marco de seguridad que evita que las aplicaciones se vuelvan malvadas. Por ejemplo: si ejecuto Firefox y visito un sitio malo que intenta instalar malware que eliminará mi
home
carpeta, Apparmor tiene límites en Firefox, pero evita que haga algo que no quiero (como acceder a mi música, documentos, etc.). De esta manera, incluso si su aplicación se ve comprometida, no se puede hacer daño.
El apparmor-utils
paquete contiene herramientas de línea de comandos para configurar Apparmor. Utilizándolo, puede cambiar el modo de ejecución de Apparmor, encontrar el estado de un perfil, crear nuevos perfiles, etc.
Estos son los comandos más comunes:
Nota: los perfiles se almacenan en/etc/apparmor.d/
sudo apparmor_status
. Obtendrá una lista de todos los perfiles * cargados, todos los perfiles en modo de cumplimiento, todos los perfiles en modo de reclamo, qué procesos se definen en cumplimiento / reclamo, etc. sudo aa-complain /path/to/bin
, ¿dónde /path/to/bin
está la bin
carpeta de programas ? Por ejemplo, ejecutar: sudo aa-complain /usr/bin/firefox
pondrá a Firefox en modo de queja.sudo aa-enforce /path/to/bin
para imponer un perfil de programas. sudo aa-complain /etc/apparmor.d/*
y sudo aa-enforce.d/*
respectivamente. Para cargar un perfil en el núcleo que usaría apparmor_parser
. Puede volver a cargar perfiles utilizando el -r
parámetro
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
que imprime efectivamente el contenido de profile.name
en el analizador de Apparmor.-r
parámetro, así:cat /etc/apparmor.d/profile.name | sudo apparmor_parser -r
sudo service apparmor reload
Para desactivar un perfil que vincula al /etc/apparmor.d/disable/
uso de ln
la siguiente manera: sudo ln -s /etc/apparmor.d/profile.name /etc/apparmor.d/disable/
a continuación, ejecute: sudo apparmor_parser -R /etc/apparmor.d/profile.name
.
Nota: ¡No confundaapparmor_parser -r
conapparmor_parser -R
ELLOS NO SON LO MISMO!
/etc/apparmor.d/disable/
y cárguelo usando el -a
parámetrosudo rm /etc/apparmor.d/disable/profile.name
cat /etc/apparmor.d/profile.name | sudo apparmor_parser -a
sudo service apparmor stop
y eliminar el módulo del kernel usandosudo update-rc.d -f apparmor defaults
sudo service apparmor start
y cargue los módulos del núcleo consudo update-rc.d apparmor defaults
Los perfiles se almacenan en /etc/apparmor.d/
y se nombran después de la ruta completa al ejecutable que perfilan, reemplazando '/' con '.'. Por ejemplo, /etc/apparmor.d/bin.ping
es el perfil de ping
in /bin
.
Hay dos tipos principales de entradas utilizadas en los perfiles:
Las entradas de ruta determinan a qué archivos puede acceder una aplicación.
Las entradas de capacidad determinan qué privilegios puede usar un proceso.
Veamos el perfil para ping
, ubicado en etc/apparmor.d/bin.ping
, como un ejemplo.
#include <tunables/global>
/bin/ping flags=(complain) {
#include <abstractions/base>
#include <abstractions/consoles>
#include <abstractions/nameservice>
capability net_raw,
capability setuid,
network inet raw,
/bin/ping mixr,
/etc/modules.conf r,
}
#include <tunables/global>
Incluye el archivo global
en el directorio tunables
, esto permite que las declaraciones pertenecientes a múltiples aplicaciones se coloquen en un archivo común.
/bin/ping flags=(complain)
establece la ruta al programa perfilado y establece el modo para quejarse.
capability net_raw
permite que la aplicación acceda a la CAP_NET_RAW Posix.1e
capacidad.
/bin/ping mixr
permite que la aplicación lea y ejecute el acceso al archivo.
/etc/modules.conf r,
Le r
da a la aplicación privilegios de lectura para/etc/modules.conf
Nota: Después de crear / editar un perfil, debe volver a cargar el perfil para que los cambios surtan efecto.
Aquí hay una lista de permisos que puede usar:
r
- leer w
- escribir ux
- Ejecución sin restricciones Ux
- Ejecución sin restricciones - fregar el entorno px
- Ejecución discreta del perfil Px
- Ejecución discreta del perfil - friegue el ambiente ix
- Heredar ejecutar m
- permitir PROT_EXEC
con mmap(2)
llamadas l
- enlaceAppArmor es un sistema de control de acceso obligatorio (MAC) que es una mejora de kernel (LSM) para limitar los programas a un conjunto limitado de recursos. El modelo de seguridad de AppArmor es vincular los atributos de control de acceso a los programas en lugar de a los usuarios. El confinamiento de AppArmor se proporciona a través de perfiles cargados en el núcleo, generalmente en el arranque. Los perfiles de AppArmor pueden estar en uno de dos modos: aplicación y queja. Los perfiles cargados en el modo de aplicación darán lugar a la aplicación de la política definida en el perfil, así como a los informes de intentos de violación de la política (ya sea a través de syslog o auditados). Los perfiles en modo de queja no aplicarán la política, sino que informarán los intentos de violación de la política.
AppArmor es diferente de algunos otros sistemas MAC en Linux en que está basado en rutas, permite mezclar perfiles de aplicación y modo de queja, utiliza archivos de inclusión para facilitar el desarrollo y tiene una barrera de entrada mucho menor que otros sistemas MAC populares.
AppArmor es una tecnología establecida que se vio por primera vez en Immunix y luego se integró en Ubuntu, Novell / SUSE y Mandriva. La funcionalidad principal de AppArmor se encuentra en el núcleo principal de Linux desde 2.6.36 en adelante; AppArmor, Ubuntu y otros desarrolladores están trabajando para fusionar la funcionalidad adicional de AppArmor en el núcleo de la línea principal.
Tengo algunos enlaces más útiles para usted: Wiki.Ubuntu.com Ubuntuforums.org
Guías de Apparmor para Ubuntu 12.04 y Ubuntu 12.10
Espero que te ayude.
Aquí hay una cita del wiki de Apparmor :
AppArmor es un sistema de seguridad de aplicaciones Linux eficaz y fácil de usar. AppArmor protege de manera proactiva el sistema operativo y las aplicaciones de amenazas externas o internas, incluso ataques de día cero, al imponer un buen comportamiento y evitar que se exploten incluso fallas de aplicaciones desconocidas. Las políticas de seguridad de AppArmor definen completamente a qué recursos del sistema pueden acceder las aplicaciones individuales y con qué privilegios. Con AppArmor se incluyen varias políticas predeterminadas, y mediante una combinación de análisis estático avanzado y herramientas basadas en el aprendizaje, las políticas de AppArmor para aplicaciones muy complejas se pueden implementar con éxito en cuestión de horas.