134
Novell AppArmor www.novell.com 2.0 02/28/2006 Guía de administración

Apparmor Admin Guide Es

  • Upload
    hugo

  • View
    322

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Apparmor Admin Guide Es

Novell AppArmorwww.novell.com2.0

02/28/2006 Guía de administración

Page 2: Apparmor Admin Guide Es

Guía de administración de Novell AppArmor 2.0

Autores: Leona Beatrice Campbell, Jana Jaeger

Esta publicación es propiedad intelectual de Novell Inc.

Su contenido puede duplicarse, ya sea en su totalidad o en parte, siempre que haya un símbolo decopyright bien visible en cada copia.

Toda la información recogida en esta publicación se ha compilado prestando toda la atención posibleal más mínimo detalle. Sin embargo, esto no garantiza una precisión total. Ni SUSE LINUX GmbH,los autores ni los traductores serán responsables de los posibles errores o las consecuencias que deellos pudieran derivarse.

Novell, el logotipo de Novell, el logotipo N y SUSE son marcas comerciales registradas de Novell,Inc. en los Estados Unidos y en otros países. * Linux es una marca registrada de Linus Torvalds. Elresto de marcas comerciales de otros fabricantes pertenecen a sus propietarios respectivos.

Si tiene alguna sugerencia o comentario, diríjalos a [email protected].

Page 3: Apparmor Admin Guide Es

Tabla de contenidos

Acerca de esta guía v

1 Inmunización de programas 1

2 Selección de programas que inmunizar 32.1 Inmunización de programas que otorgan privilegios . . . . . . . . . . . 32.2 Inspección de los puertos abiertos para inmunizar programas . . . . . . . 4

3 Creación de perfiles de Novell AppArmor 113.1 Componentes y sintaxis de los perfiles . . . . . . . . . . . . . . . . 113.2 Creación y gestión de perfiles de Novell AppArmor . . . . . . . . . . 143.3 Creación de perfiles de Novell AppArmor con la interfaz gráfica de usuario de YaST

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.4 Creación de perfiles de Novell AppArmor mediante la interfaz de línea de comandos

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.5 Dos métodos de creación de perfiles . . . . . . . . . . . . . . . . . 453.6 Nombres de vías y englobamiento . . . . . . . . . . . . . . . . . . 663.7 Modos de permiso de acceso a archivos . . . . . . . . . . . . . . . 67

4 Gestión de aplicaciones con perfiles 714.1 Monitorización de las aplicaciones protegidas . . . . . . . . . . . . . 714.2 Establecimiento de notificaciones de eventos . . . . . . . . . . . . . 724.3 Informes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.4 Reacción a los eventos de seguridad . . . . . . . . . . . . . . . . . 984.5 Mantenimiento de los perfiles de seguridad . . . . . . . . . . . . . . 99

Page 4: Apparmor Admin Guide Es

5 Creación de perfiles para las aplicaciones Web medianteChangeHat de Apache 1035.1 Apache ChangeHat . . . . . . . . . . . . . . . . . . . . . . . . 1045.2 Configuración de Apache para mod-apparmor . . . . . . . . . . . . 112

6 Asistencia técnica 1156.1 Actualización en línea de Novell AppArmor . . . . . . . . . . . . . 1156.2 Uso de las páginas Man . . . . . . . . . . . . . . . . . . . . . . 1156.3 Información adicional . . . . . . . . . . . . . . . . . . . . . . 1176.4 Solución de problemas . . . . . . . . . . . . . . . . . . . . . . 1186.5 Informe sobre errores de AppArmor . . . . . . . . . . . . . . . . 120

Glosario 123

Page 5: Apparmor Admin Guide Es

Acerca de esta guíaNovell® AppArmor está diseñado para ofrecer servicios de seguridad de fácil manejoa las aplicaciones de los servidores y las estaciones de trabajo. Novell AppArmor esun sistema de control de acceso que permite especificar qué archivos puede leer, escribiry ejecutar cada programa. AppArmor protege las aplicaciones mediante la imposiciónde buenas prácticas de comportamiento sin basarse en firmas de ataques, de forma quese puedan prevenir estos ataques incluso si intentan explotar vulnerabilidades anterior-mente desconocidas.

Novell AppArmor consta de:

• Una biblioteca de perfiles de AppArmor para las aplicaciones comunes de Linux*en la que se describen los archivos a los que el programa necesita acceder.

• Una biblioteca de clases de base de perfil de AppArmor (bloques de creación deperfiles) necesarios para las actividades de las aplicaciones comunes, como lasbúsquedas DNS o la autenticación de usuarios.

• Un paquete de herramientas para el desarrollo y la mejora de perfiles de AppArmor,para poder cambiar los perfiles existentes de forma que se adapten a sus necesidadesconcretas y para crear nuevos perfiles para sus aplicaciones locales o personalizadas.

• Gran cantidad de aplicaciones especialmente modificadas compatibles conAppArmor para ofrecer una seguridad mejorada en forma de limitación única desubprocesos, incluido Apache.

• El módulo del núcleo cargable en Novell AppArmor y los guiones de controlasociados para aplicar directivas de AppArmor en el sistema SUSE® Linux.

Esta guía trata los tres temas siguientes:

Inmunización de programasDescribe las operaciones de Novell AppArmor.

Selección de programas que inmunizarDescribe los tipos de programas que deben contar con perfiles de Novell AppArmorcreados para ellos.

Page 6: Apparmor Admin Guide Es

Creación de perfiles de Novell AppArmorDescribe cómo utilizar las herramientas de Novell AppArmor para inmunizar suspropios programas o programas de otros fabricantes que pueda tener instalados enel sistema SUSE Linux. También ayuda a añadir, editar o suprimir perfiles que sehayan creado para las aplicaciones.

Gestión de aplicaciones con perfilesDescribe cómo efectuar el mantenimiento de los perfiles de Novell AppArmor, loque implica el seguimiento de problemas y preocupaciones habituales.

Creación de perfiles para las aplicaciones Web mediante ChangeHat de ApachePermite crear subperfiles para el servidor Web Apache con los que será posiblelimitar más estrechamente pequeñas secciones del procesamiento de la aplicaciónWeb.

Asistencia técnicaDescribe las opciones de asistencia para este producto.

GlosarioOfrece una lista de términos junto a sus definiciones.

1 ComentariosNos gustaría recibir sus comentarios o sugerencias acerca de este manual y del restode documentación incluida en este producto. Utilice la función de comentarios delusuario situada en la parte inferior de las páginas de la documentación en línea e intro-duzca ahí sus comentarios.

2 Convenciones de la documentaciónEn este manual se utilizan las siguientes convenciones tipográficas:

• /etc/passwd: nombres de archivos y de directorios.

• espacio reservado: se sustituye espacio reservado por el valor real.

• PATH: variable de entorno PATH.

vi Guía de administración de Novell AppArmor 2.0

Page 7: Apparmor Admin Guide Es

• ls, --help: comandos, opciones y parámetros.

• usuario: usuarios o grupos.

• Alt , Alt + F1 : tecla que pulsar o combinación de teclas. Aparecen en mayúsculas,tal y como se muestran en el teclado.

• Archivo, Archivo→ Guardar como: elementos de menú y botones.

• Pingüinos bailarines (capítulo Pingüinos, ↑Referencia): referencia a un capítuloen otro libro.

Acerca de esta guía vii

Page 8: Apparmor Admin Guide Es
Page 9: Apparmor Admin Guide Es

1Inmunización de programasNovell® AppArmor ofrece tecnología de inmunización que protege las aplicacionesde SUSE Linux frente a las vulnerabilidades inherentes que tienen. Tras instalar NovellAppArmor, configurar perfiles de Novell AppArmor y reiniciar el equipo, el sistemaqueda inmunizado, ya que empieza a aplicar directivas de seguridad de NovellAppArmor. La protección de programas con Novell AppArmor se denomina inmuni-zación.

Novell AppArmor configura una serie de perfiles de aplicación por defecto para protegerlos servicios estándar de Linux. Para proteger otras aplicaciones, utilice las herramientasde Novell AppArmor a fin de crear perfiles para las aplicaciones que desee proteger.En este capítulo se describe la filosofía de inmunización de programas. Pase directamenteal Capítulo 3, Creación de perfiles de Novell AppArmor (p. 11) si considera que yaestá preparado para crear y gestionar perfiles de Novell AppArmor.

Novell AppArmor ofrece control de acceso perfeccionado para servicios de red,indicando los archivos que cada programa tiene permitido leer, escribir y ejecutar. Deesta forma se garantiza que cada programa haga lo que se supone que debe hacer, ynada más.

Novell AppArmor es un sistema de prevención de intrusiones en el host, o un esquemade control de acceso obligatorio, optimizado para servidores. Anteriormente, losesquemas de control de acceso se centraban en los usuarios, ya que se creaban paragrandes sistemas compartidos. Por otra parte, los servidores de redes modernos nosuelen permitir que los usuarios inicien sesiones, sino que ofrecen una gama de serviciosde red para los usuarios, como acceso a Web, correo, archivos e impresión. NovellAppArmor controla el acceso otorgado a los servicios de red y a otros programas paraevitar que se puedan explotar las debilidades del sistema.

Inmunización de programas 1

Page 10: Apparmor Admin Guide Es
Page 11: Apparmor Admin Guide Es

2Selección de programas queinmunizarNovell® AppArmor pone en cuarentena programas para proteger el resto del sistemade los daños provocados por un proceso afectado. Deberá inspeccionar los puertos paracomprobar para qué programas se deben crear perfiles (consulte la Sección 2.2,“Inspección de los puertos abiertos para inmunizar programas” (p. 4)) y crear perfilespara todos los programas que otorguen privilegios (Sección 2.1, “Inmunización deprogramas que otorgan privilegios” (p. 3)).

2.1 Inmunización de programas queotorgan privilegios

Los programas que necesitan perfiles son los que otorgan privilegios. Los siguientesprogramas tienen acceso a los recursos a los que la persona que usa el programa notiene, de forma que otorgan el privilegio de acceso al usuario cuando éste lo necesita.

Tareas del daemon cronLos programas que ejecuta de forma periódica el daemon cron. Estos programasleen los datos de entrada de diversas fuentes y pueden ejecutarse con privilegiosespeciales, a veces incluso con privilegios de usuario Root. Por ejemplo, cron puedeejecutar /usr/bin/updatedb todos los días para mantener actualizada la basede datos locate con privilegios suficientes para leer el nombre de todos los archivosdel sistema. Para obtener instrucciones sobre cómo localizar este tipo de programas,consulte la Sección 2.2.1, “Inmunización de tareas de cron” (p. 6).

Selección de programas que inmunizar 3

Page 12: Apparmor Admin Guide Es

Aplicaciones WebLos programas que se pueden invocar mediante un navegador Web, por ejemplo,guiones CGI de Perl, páginas PHP y aplicacionesWeb mucho más complejas. Paraobtener instrucciones sobre cómo localizar este tipo de programas, consulte laSección 2.2.2, “Inmunización de aplicaciones Web” (p. 7).

Agentes de redProgramas (de servidores o de clientes) que tienen puertos de red abiertos. Losclientes del usuario, como los clientes de correo electrónico o los navegadoresWeb,aunque parezca sorprendente, otorgan privilegios. Estos programas se ejecutan conel privilegio de escritura en los directorios personales del usuario y procesan datosde entrada de fuentes remotas potencialmente hostiles, como sitios Web hostiles ocódigo dañino enviado por correo electrónico. Para obtener instrucciones sobrecómo localizar este tipo de programas, consulte la Sección 2.2.3, “Inmunizaciónde agentes de red” (p. 9).

Por otro lado, no es necesario crear perfiles para los programas que no cuentan conprivilegios. Por ejemplo, un guión de shell puede abrir el programa cp para copiar unarchivo. Puesto que cp no cuenta con su propio perfil, hereda el perfil del guión deshell superior, de modo que puede copiar cualquier archivo que el perfil del guión deshell principal permita leer y escribir.

2.2 Inspección de los puertos abiertospara inmunizar programas

Un método automático de localizar los daemon de servidor de red para los que hay quecrear perfiles es utilizar la herramienta unconfined. También se puede ver simplementeun informe con esta información en la interfaz gráfica de usuario de YaST (consulte“Informe de auditoría de aplicaciones” (p. 82) para obtener más información).

La herramienta unconfined utiliza el comando netstat -nlp para inspeccionar lospuertos abiertos desde el interior del equipo y detectar los programas asociados conestos puertos y, a continuación, inspeccionar el conjunto de perfiles de Novell AppArmorque se haya cargado. La herramienta unconfined informará a continuación de estosprogramas y del perfil de Novell AppArmor asociado con cada uno de ellos, o indicaráque no hay “nada” si el programa no está limitado.

4 Guía de administración de Novell AppArmor 2.0

Page 13: Apparmor Admin Guide Es

NOTA

Si crea un perfil nuevo, deberá reiniciar el programa para el que ha creado elperfil a fin de que unconfined detecte e informe del estado del nuevo programacon perfil.

A continuación se muestra un ejemplo de salida de unconfined:2325 /sbin/portmap not confined

3702❶ /usr/sbin/sshd❷ confined

by '/usr/sbin/sshd❸ (enforce)' 4040 /usr/sbin/ntpd confined by '/usr/sbin/ntpd (enforce)' 4373 /usr/lib/postfix/master confined by '/usr/lib/postfix/master (enforce)'

4505 /usr/sbin/httpd2-prefork confined by '/usr/sbin/httpd2-prefork (enforce)'5274 /sbin/dhcpcd not confined 5592 /usr/bin/ssh not confined 7146 /usr/sbin/cupsd confined by '/usr/sbin/cupsd (complain)'

❶ La primera sección es un número. Se trata del número ID de proceso (PID) delprograma de escucha.

❷ La segunda sección es una cadena que representa la vía completa del programade escucha.

❸ La última sección indica el perfil que limita el programa, si existe alguno.

NOTA

Unconfined requiere privilegios de usuario Root y no se debe ejecutar desdeun shell que se encuentre limitado por un perfil de AppArmor.

La herramienta unconfined no distingue entre una interfaz de red y otra, así que informade todos los procesos sin limitación, incluso de los que puedan estar a la escucha deuna interfaz LAN interna.

La búsqueda de aplicaciones cliente de redes de usuarios depende de las preferenciasdel usuario. La herramienta unconfined detecta e informa de los puertos de red abiertospor las aplicaciones cliente, pero sólo cuando esas aplicaciones cliente se están ejecu-tando en el momento del análisis. Esto es un problema, ya que los servicios de redtienden a ejecutarse en todo momento, mientras que las aplicaciones cliente de red sólosuelen ejecutarse cuando el usuario se interesa por ellas.

Selección de programas que inmunizar 5

Page 14: Apparmor Admin Guide Es

Aplicar perfiles de Novell AppArmor a aplicaciones cliente de redes de usuario tambiéndepende de las preferencias del usuario, y Novell AppArmor está más diseñado paraservidores que para estaciones de trabajo. Por lo tanto, dejaremos la creación de perfilespara las aplicaciones de este tipo como un ejercicio para el usuario.

Para limitar de forma agresiva aplicaciones de escritorio, el comando unconfined admitela opción "paranoid", que informa de todos los procesos en ejecución y de los perfilesde AppArmor correspondientes que podrían estar asociados, o no, a cada proceso. Elusuario de unconfined podrá entonces decidir si estos programas necesitan un perfil deAppArmor.

Si cuenta con perfiles nuevos o modificados, puede enviarlos a la lista de [email protected] junto con un ejemplo de uso delcomportamiento de la aplicación que haya utilizado. El equipo de AppArmor revisaráy podrá enviar el trabajo a openSUSE. No podemos garantizar que se incluyan todoslos perfiles, pero haremos lo que esté en nuestras manos para incluirlos, de tal formaque los usuarios finales puedan contribuir a los perfiles de seguridad que se incluyencon openSUSE.

2.2.1 Inmunización de tareas de cronPara localizar los programas que ejecuta el daemon cron, tendrá que inspeccionar laconfiguración de cron local. Desafortunadamente, la configuración de cron es muycompleja, así que hay que inspeccionar muchos archivos. Las tareas periódicas de cronse ejecutan desde estos archivos:/etc/crontab /etc/cron.d/* /etc/cron.daily/* /etc/cron.hourly/*/etc/cron.monthly/* /etc/cron.weekly/*

Las tareas del Root de cron se pueden editar con el comando crontab -e, y es posiblemostrar una lista de las tareas del Root de cron con crontab -l. Para efectuar estasacciones debe ser el usuario Root.

Tras localizar estos programas, puede utilizar el programa Asistente para añadir perfilespara crear perfiles para ellos. Consulte la Sección 3.3.1, “Adición de perfiles medianteel asistente” (p. 18).

6 Guía de administración de Novell AppArmor 2.0

Page 15: Apparmor Admin Guide Es

2.2.2 Inmunización de aplicaciones WebPara buscar aplicaciones Web, se debe investigar la configuración del servidor Web.El servidor Web Apache tiene muchas opciones de configuración, y las aplicacionesWeb se pueden almacenar en muchos directorios distintos, según la configuración local.SUSE Linux almacena por defecto las aplicaciones Web en /srv/www/cgi-bin/ . En la medida en que sea posible, cada aplicación Web debería tener un perfil deNovell AppArmor.

Tras localizar estos programas, puede utilizar el Asistente para añadir perfiles deAppArmor para crear perfiles para ellos. Consulte la Sección 3.3.1, “Adición de perfilesmediante el asistente” (p. 18).

Programas CGI y limitación de subprocesos en lasaplicaciones WebPuesto que los programas CGI los ejecuta el servidor Web Apache, se debe modificarel propio perfil de Apache, usr.sbin.httpd2-prefork (para Apache2 en SUSELinux), para añadir permisos de ejecución para cada uno de estos programas. Porejemplo, al añadir la línea /srv/www/cgi-bin/mi_contador_visitas.plrpx se garantizan permisos a Apache para que ejecute el guión Perl mi_contador_visitas.pl y se requiere que haya un perfil dedicado para mi_contador_visitas.pl. Si mi_contador_impactos.pl no tiene un perfil asociado, laregla deberá decir /srv/www/cgi-bin/mi_contador_impactos.pl rixpara provocar que mi_contador_impactos.pl herede el perfil usr.sbin.httpd2-prefork.

Algunos usuarios pueden encontrar incómodo tener que especificar permisos deejecución para cada guión CGI que pueda invocar Apache. En su lugar, el administradorpuede otorgar acceso controlado a colecciones de guiones CGI. Por ejemplo, si se añadela línea /srv/www/cgi-bin/*.{pl,py,pyc} rix, se permitirá que Apacheejecute todos los archivos de /srv/www/cgi-bin/ que terminen en .pl (guionesde Perl) y en .py o .pyc (guiones de Python). Del mismo modo, la sección ix de laregla provoca que los guiones de Python hereden el perfil de Apache, lo que resultaadecuado si no se desea escribir perfiles individuales para cada guión de Python.

Selección de programas que inmunizar 7

Page 16: Apparmor Admin Guide Es

NOTA

Si desea disponer de la funcionalidad del módulo de confinamiento desubprocesos (mod-apparmor) cuando las aplicaciones Web manejen módulosde Apache (mod_perl y mod_php), utilice las funciones de ChangeHat alañadir un perfil en YaST o en la línea de comandos. Para aprovechar la limitaciónde subprocesos, consulte la Sección 5.1, “Apache ChangeHat” (p. 104).

A la hora de crear perfiles para aplicacionesWeb que utilicen mod_perl y mod_phpse requiere una manipulación ligeramente distinta. En este caso, el “programa” es unguión que interpreta directamente el módulo del proceso de Apache, por lo que no seproduce la opción exec. En su lugar, la versión de Novell AppArmor de Apache llamaal comando change_hat() que da nombre a un subperfil (un “hat”) que se corres-ponde con el nombre del URI solicitado.

NOTA

El nombre que se presenta para que lo ejecute el guión puede no ser el URI,según la forma en que se haya configurado dónde debe buscar Apache losguiones de módulos. Si ha configurado Apache para que coloque los guionesen un sitio distinto, estos nombres distintos aparecerán en syslog cuando NovellAppArmor se queje de violaciones de acceso. Consulte el Capítulo 4, Gestiónde aplicaciones con perfiles (p. 71).

Para los guiones mod_perl y mod_php, es el nombre del guión de Perl o de la páginaPHP solicitados. Por ejemplo, si se añade este subperfil, se permite que la páginalocaltime.php se ejecute y acceda a la hora local del sistema:/usr/sbin/httpd2-prefork^/cgi-bin localtime.php { /etc/localtime r, /srv/www/cgi-bin/localtime.php r, /usr/lib/locale/** r, }

Si no se ha definido ningún subperfil, la versión de Novell AppArmor de Apache aplicael hat DEFAULT_URI. Este subperfil es básicamente suficiente para mostrar una páginaWeb HTML. El hat DEFAULT_URI que incluye Novell AppArmor por defecto es elsiguiente:/usr/sbin/suexec2 ixr, /var/log/apache2/** rwl,/home/*/public_html/** r,

8 Guía de administración de Novell AppArmor 2.0

Page 17: Apparmor Admin Guide Es

/srv/www/htdocs/** r, /srv/www/icons/*.{gif,jpg,png} r, /usr/share/apache2/** r,

Si desea tener un único perfil de Novell AppArmor para todas las páginas Web y losguiones CGI proporcionados por Apache, un buen enfoque consiste en editar el subperfilDEFAULT_URI.

2.2.3 Inmunización de agentes de redPara localizar daemons de servidor de red para los que se deban crear perfiles, habráque inspeccionar los puertos abiertos en el equipo, tener en cuenta los programas queresponden a esos puertos y crear perfiles para tantos programas de este tipo como seaposible. Si crea perfiles para todos los programas con puertos de red abiertos, losatacantes no podrán acceder al sistema de archivos del equipo sin tener que pasar poruna directiva de perfil de Novell AppArmor.

Explore manualmente el servidor en busca de puertos de red abiertos desde el exteriordel equipo mediante un escáner, como nmap, o desde el interior del equipo con netstat.Inspeccione a continuación el equipo para determinar qué programas responden a lospuertos abiertos descubiertos.

Selección de programas que inmunizar 9

Page 18: Apparmor Admin Guide Es
Page 19: Apparmor Admin Guide Es

3Creación de perfiles de NovellAppArmorEn este capítulo se explica cómo crear y gestionar perfiles de Novell® AppArmor.Estará listo para crear perfiles de Novell AppArmor en cuanto haya seleccionado losprogramas cuyos perfiles desee crear. Para obtener ayuda al respecto, consulte elCapítulo 2, Selección de programas que inmunizar (p. 3).

3.1 Componentes y sintaxis de losperfiles

En esta sección se describe la sintaxis y la composición de los perfiles de NovellAppArmor. En la Sección 3.1.1, “División de un perfil de Novell AppArmor en laspartes que lo componen” (p. 11) encontrará un ejemplo que muestra esta sintaxis.

3.1.1 División de un perfil de NovellAppArmor en las partes que lo

componenLos componentes del perfil de Novell AppArmor se denominan "reglas de NovellAppArmor". Actualmente hay dos tipos principales de reglas de Novell AppArmor: lasentradas de vía y las entradas de capacidad. Las entradas de vía especifican los elementosa los que puede acceder el proceso en el sistema de archivos; las de capacidad propor-cionan un control más ajustado sobre las acciones que un proceso limitado puede llevar

Creación de perfiles de Novell AppArmor 11

Page 20: Apparmor Admin Guide Es

a cabo mediante otras llamadas del sistema que requieren privilegios. Las entradasinclude son un tipo de meta regla o directiva que incorporan entradas de vía y decapacidad procedentes de otros archivos.

El modo más sencillo de explicar en qué consiste un perfil y cómo crear uno es mostrarlos detalles de un perfil de demostración. Por ejemplo, examine el siguiente perfil parael programa /sbin/klogd:

# perfil para limitar klogd❶

/sbin/klogd ❷

{❸

#include <abstractions/base>❹

capability sys_admin,❺

/boot/* r❻, /proc/kmsg r, /sbin/klogd r, /var/run/klogd.pid lw,}

❶ Un comentario que indica el nombre del programa limitado por este perfil. Loscomentarios siempre deben estar precedidos por el signo #.

❷ Vía completa al programa limitado.

❸ Las llaves {} sirven como contenedor para incluir declaraciones de otros perfiles,así como entradas de vía y capacidad.

❹ Esta directiva incorpora componentes de Novell AppArmor para simplificar losperfiles.

❺ Las declaraciones de entradas de capacidad activan las 29 capacidades del borradorPOSIX.1e.

❻ Entrada de vía que especifica las partes del sistema de archivos a las que puedeacceder el programa. La primera parte de una entrada de vía especifica la víacompleta de un archivo (incluido el englobamiento de expresiones regulares) yla segunda parte indica los modos de acceso permitidos (r para lectura, w paraescritura y x para ejecución). Un espacio en blanco de cualquier clase (espacio otabulación) puede preceder a los nombres de vías o separarlos de los modos deacceso. El espacio en blanco entre el modo de acceso y la coma final es opcional.

Cuando se crea un perfil para un programa, el programa sólo puede acceder a losarchivos, modos y capacidades POSIX especificadas en el perfil. Estas restriccionesson adiciones a los controles de acceso nativos de Linux.

12 Guía de administración de Novell AppArmor 2.0

Page 21: Apparmor Admin Guide Es

Ejemplo: Para conseguir la capacidad CAP_CHOWN, el programa debe disponerde acceso a CAP_CHOWN mediante los controles de acceso convencionales de Linux(normalmente, para ello debe ser un proceso propiedad del usuario Root) e incluir lacapacidad chown en su perfil. Del mismomodo, para escribir en el archivo /foo/bar,el programa deberá tener el identificador de usuario y los bits de modo correctosconfigurados en los atributos del archivo (consulte las páginasMan dechmod y chown)e incluir /foo/bar w en su perfil.

Los intentos de vulnerar las reglas de Novell AppArmor quedan registrados en syslog.Enmuchos casos, las reglas de Novell AppArmor evitan que funcione un ataque porqueimpiden el acceso a los archivos necesarios y, en cualquier caso, las limitaciones deNovell AppArmor reducirían los daños que un atacante pudiera causar en el conjuntode archivos permitidos por Novell AppArmor.

3.1.2 #include

Las declaraciones #include son directivas que incorporan componentes de otrosperfiles de Novell AppArmor para simplificar la estructura de los perfiles. Los archivosinclude recuperan los permisos de acceso de los programas. Utilizando una declaracióninclude, puede proporcionar al programa acceso a las vías de directorios o archivos quetambién necesiten otros programas. Al utilizar este tipo de declaraciones, podrá reducirel tamaño de los perfiles.

Por defecto, la declaración #include añade al final /etc/apparmor.d/, que esla ubicación donde espera encontrar el archivo include, al principio del nombre de lavía. Al contrario que otras declaraciones de perfiles (pero de forma similar a losprogramas en C), las líneas #include no terminan con una coma.

Para que le resulte más sencillo crear los perfiles de sus aplicaciones, Novell AppArmorproporciona dos clases de declaraciones #include: las abstracciones y las porcionesde programa.

AbstraccionesLas abstracciones son declaraciones #include agrupadas por tareas de aplicacióncomunes. Estas tareas incluyen el acceso a mecanismos de autenticación, el acceso arutinas de servicios de nombres, requisitos gráficos comunes y contabilidad del sistema.Los archivos descritos en estas abstracciones son específicos de la tarea nombrada; losprogramas que requieren uno de estos archivos suelen requerir otros archivos incluidos

Creación de perfiles de Novell AppArmor 13

Page 22: Apparmor Admin Guide Es

en el archivo de abstracción (depende de la configuración local y de los requisitosconcretos del programa). Las abstracciones se encuentran en /etc/apparmor.d/abstractions/.

Porciones de programaLas porciones de programa son controles de acceso para programas específicos que unadministrador del sistema podría necesitar controlar basándose en directivas del sitiolocal. Cada porción es utilizada por un único programa. Se proporcionan para facilitarlas modificaciones de directivas del sitio local, así como las actualizaciones de lasdirectivas proporcionadas por Novell AppArmor. Los administradores puedenmodificarlas directivas de estos archivos de modo que se ajusten a sus necesidades en lugar demodificar los perfiles de los programas, lo que simplifica la tarea de unir las actualiza-ciones de directivas de Novell AppArmor para aplicar las directivas en cada sitio.

Las restricciones de acceso de las porciones de programas suelen ser muy abiertas yestán diseñadas para que los usuarios puedan acceder a sus archivos del modo menosintrusivo posible, manteniendo al mismo tiempo la protección de los recursos del sistema.La excepción a esta regla es la serie de porciones de programa postfix*. Estosperfiles se utilizan para facilitar la abstracción de la ubicación de los archivos binariospostfix. No es recomendable reducir los permisos de la serie postfix*. Las porcionesde programa se encuentran en /etc/apparmor.d/program-chunks/.

3.1.3 Entradas de capacidad (POSIX.1e)Las declaraciones de capacidad consisten sencillamente en la palabra "capability",seguida del nombre de una capacidad POSIX.1e tal y como están definidas en la páginaMan capabilities(7).

3.2 Creación y gestión de perfiles deNovell AppArmor

Existen tres modos de crear y gestionar los perfiles de Novell AppArmor, dependiendodel tipo de entorno informático que prefiera. Puede utilizar la interfaz gráfica de YaST(GUI de YaST), el modo ncurses de YaST basado en texto (ncurses de YaST) o lainterfaz de línea de comandos. Las tres opciones son efectivas para crear y mantener

14 Guía de administración de Novell AppArmor 2.0

Page 23: Apparmor Admin Guide Es

los perfiles, al tiempo que ofrecen opciones basadas en las necesidades concretas delos usuarios.

La interfaz de línea de comandos requiere conocer los comandos de Linux y utilizarventanas de terminal. Los tres métodos emplean herramientas especializadas de NovellAppArmor para crear los perfiles, de modo que no es necesario hacerlo manualmente,tarea que exigiría mucho tiempo.

3.2.1 Utilización de la interfaz gráfica deusuario de YaST

Para emplear la interfaz gráfica de usuario de YaST a fin de crear y gestionar perfilesde Novell AppArmor, consulte la Sección 3.3, “Creación de perfiles de NovellAppArmor con la interfaz gráfica de usuario de YaST” (p. 16).

3.2.2 Utilización de la función ncurses deYaST

La función ncurses de YaST puede utilizarse para crear y gestionar perfiles de NovellAppArmor y es la opción más adecuada para usuarios que cuentan con conexiones conel servidor con un ancho de banda limitado. A esta función se puede acceder escribiendoyast mientras inicia la sesión en una ventana o consola del terminal como usuarioRoot. La función ncurses de YaST cuenta con las mismas funciones que la interfazgráfica de usuario de YaST.

Consulte las instrucciones de la Sección 3.3, “Creación de perfiles de Novell AppArmorcon la interfaz gráfica de usuario de YaST” (p. 16) para crear y gestionar perfiles deNovell AppArmor en ncurses de YaST, pero tenga en cuenta que el aspecto de laspantallas será distinto aunque su funcionalidad sea similar.

3.2.3 Utilización de la interfaz de línea decomandos

La interfaz de línea de comandos requiere conocer los comandos de Linux y utilizarventanas de terminal. Para emplear la interfaz de línea de comandos para crear y

Creación de perfiles de Novell AppArmor 15

Page 24: Apparmor Admin Guide Es

gestionar perfiles de Novell AppArmor, consulte la Sección 3.4, “Creación de perfilesde Novell AppArmor mediante la interfaz de línea de comandos” (p. 40).

La interfaz de línea de comandos permite acceder a algunas herramientas que no estándisponibles mediante los demás métodos de gestión de Novell AppArmor:

complainEstablece los perfiles en el modo de queja. Vuelva a definir el modo de aplicacióncuando desee que el sistema comience a aplicar las reglas de los perfiles, en lugarde limitarse a registrar la información. Para obtener más información acerca deesta herramienta, consulte “Modo de aprendizaje o de queja” (p. 49).

enforceVuelve a definir los perfiles con el modo de aplicación y el sistema empieza aaplicar las reglas de los perfiles, en lugar de limitarse a registrar información. Paraobtener más información acerca de esta herramienta, consulte “Modo de aplicación”(p. 50).

unconfinedLleva a cabo una auditoría del servidor para encontrar procesos que estén ejecu-tándose y escuchando a la espera de conexiones de red, e informa de si estánincluidos en perfiles.

autodepGenera un esquema de perfil para un programa y lo carga en el módulo de NovellAppArmor en el modo de queja.

3.3 Creación de perfiles de NovellAppArmor con la interfaz gráfica

de usuario de YaSTAbra la interfaz gráfica de usuario de YaST iniciando YaST→ Novell AppArmor en elmenú principal. Novell AppArmor abre la interfaz de YaST tal y como se muestra acontinuación:

16 Guía de administración de Novell AppArmor 2.0

Page 25: Apparmor Admin Guide Es

NOTA

También puede acceder a la interfaz gráfica de usuario de YaST abriendo unaventana de terminal, iniciando sesión como usuario Root e introduciendo elcomando yast2.

En el marco derecho observará varios iconos de opciones de Novell AppArmor. SiNovell AppArmor no aparece en el marco izquierdo de la ventana de YaST, o bien losiconos de Novell AppArmor no aparecen, puede que sea necesario volver a instalarNovell AppArmor. Novell AppArmor permite realizar las acciones descritas a conti-nuación.

Haga clic en uno de los siguientes iconos de Novell AppArmor y seguidamente pase ala sección a la que se hace referencia:

Asistente para añadir perfilesPara obtener información detallada, consulte la Sección 3.3.1, “Adición de perfilesmediante el asistente” (p. 18).

Añadir perfil manualmentePermite añadir un perfil de Novell AppArmor para una aplicación del sistema sinla ayuda del asistente. Para obtener información detallada, consulte la Sección 3.3.2,“Adición manual de perfiles” (p. 24).

Editar perfilEdita un perfil de Novell AppArmor existente en el sistema. Para obtener infor-mación detallada, consulte la Sección 3.3.3, “Edición de perfiles” (p. 30).

Creación de perfiles de Novell AppArmor 17

Page 26: Apparmor Admin Guide Es

Suprimir perfilPermite suprimir un perfil de Novell AppArmor existente en el sistema. Para obtenerinformación detallada, consulte la Sección 3.3.4, “Supresión de perfiles” (p. 31).

Asistente para actualizar perfilesPara obtener información detallada, consulte la Sección 3.3.5, “Actualización deperfiles a partir de entradas del registro del sistema” (p. 32).

Informes de AppArmorPara obtener información detallada, consulte la Sección 4.3, “Informes” (p. 76).

Panel de control de AppArmorPara obtener información detallada, consulte la Sección 3.3.6, “Gestión de NovellAppArmor y del estado de los eventos de seguridad” (p. 37).

3.3.1 Adición de perfiles mediante elasistente

El Asistente para añadir perfiles está diseñado para configurar los perfiles de NovellAppArmor utilizando las herramientas de perfiles deNovell AppArmor, genprof (generarperfil) y logprof (actualizar perfiles a partir de los registros del modo de aprendizaje).Para obtener más información acerca de estas herramientas, consulte la Sección 3.5.3,“Resumen de las herramientas de generación de perfiles” (p. 48).

1 Detenga la aplicación antes de realizar perfiles sobre ella para asegurarse de queel inicio de la aplicación esté incluido en el perfil. Para ello, asegúrese de que laaplicación o el daemon no se estén ejecutando antes de realizar el perfil.

Por ejemplo, escriba /etc/init.d/PROGRAMA stop en una ventana determinal tras iniciar sesión como usuario Root, donde PROGRAMA es el nombredel programa cuyo perfil desea crear.

2 Si no lo ha hecho ya, en la interfaz gráfica de usuario YaST, haga clic en NovellAppArmor→ Asistente para añadir perfiles.

18 Guía de administración de Novell AppArmor 2.0

Page 27: Apparmor Admin Guide Es

3 Introduzca el nombre de la aplicación o desplácese a la ubicación del programa.

4 Haga clic en Crear. De este modo se ejecutará una herramienta de NovellAppArmor llamada autodep, que lleva a cabo un análisis estático del programacuyo perfil desea crear y carga un perfil aproximado en el módulo de NovellAppArmor. Para obtener más información acerca de autodep, consulte “autodep”(p. 48).

Se abrirá la ventana del Asistente de perfiles de Novell AppArmor.

Creación de perfiles de Novell AppArmor 19

Page 28: Apparmor Admin Guide Es

Novell AppArmor también establece en segundo plano el perfil en el modo deaprendizaje. Para obtener más información acerca del modo de aprendizaje,consulte “Modo de aprendizaje o de queja” (p. 49).

5 Ejecute la aplicación cuyo perfil desee crear.

6 Lleve a cabo tantas funciones de la aplicación como sea posible para que el modode aprendizaje pueda registrar los archivos y directorios a los que el programadebe acceder para funcionar correctamente.

7 Haga clic en Explorar registro del sistema en busca de entradas que añadir alos perfiles para procesar los archivos de registro del modo de aprendizaje. Deeste modo se generará una serie de preguntas a las que deberá responder paraguiar al asistente durante el proceso de generación del perfil de seguridad.

NOTA

Si aparece una solicitud para añadir hats, pase al Capítulo 5, Creación deperfiles para las aplicacionesWebmediante ChangeHat de Apache (p. 103).

Las preguntas se dividen en dos categorías:

• Un programa con perfil solicita un recurso no incluido en el perfil (consultela Figura 3.1, “Excepción del modo de aprendizaje: control de acceso arecursos específicos” (p. 21)). La excepción del modo de aprendizaje requiereque el usuario permita o deniegue el acceso a un recurso específico.

• El programa con perfil ejecuta otro programa y la transición del dominio deseguridad no está definida (consulte la Figura 3.2, “Excepción del modo deaprendizaje: definición de permisos de ejecución para una entrada” (p. 21)).La excepción del modo de aprendizaje requiere que el usuario defina lospermisos de ejecución de una entrada.

Cada uno de estos casos genera una serie de preguntas a las que deberá responderpara añadir el recurso o el programa al perfil. Las dos figuras siguientes muestranun ejemplo de cada caso. Los pasos subsiguientes describen las opciones pararesponder a estas preguntas.

Se abrirá la ventana del Asistente de perfiles de Novell AppArmor.

20 Guía de administración de Novell AppArmor 2.0

Page 29: Apparmor Admin Guide Es

Figura 3.1 Excepción del modo de aprendizaje: control de acceso a recursosespecíficos

Figura 3.2 Excepción del modo de aprendizaje: definición de permisos de ejecuciónpara una entrada

Creación de perfiles de Novell AppArmor 21

Page 30: Apparmor Admin Guide Es

8 ElAsistente para añadir perfiles comienza a sugerir entradas de vías de directoriosa las que ha accedido la aplicación cuyo perfil está generando (tal y como seobserva en la Figura 3.1, “Excepción del modo de aprendizaje: control de accesoa recursos específicos” (p. 21)) o a solicitar que defina permisos de ejecuciónpara las entradas (tal y como se observa en la Figura 3.2, “Excepción del modode aprendizaje: definición de permisos de ejecución para una entrada” (p. 21)).

a En el caso de la Figura 3.1, “Excepción del modo de aprendizaje: controlde acceso a recursos específicos”, de las siguientes opciones, seleccione laque satisfaga la solicitud de acceso (puede ser una entrada include sugerida,una versión global concreta de la vía o el nombre de vía real). Tenga encuenta que no todas estas opciones estarán siempre disponibles.

#includeSección de un perfil de Novell AppArmor que hace referencia a unarchivo include. Los archivos include obtienen los permisos de accesode los programas. Utilizando una declaración include, puede propor-cionar al programa acceso a las vías de directorios o archivos quetambién necesiten otros programas. Al utilizar este tipo de declaraciones,podrá reducir el tamaño de los perfiles. Es recomendable seleccionarlas entradas include cuando el sistema lo sugiera.

Versión globalSe accede haciendo clic enGlobal, tal y como se describe en el siguientepaso. Para obtener más información acerca de la sintaxis global, consultela Sección 3.6, “Nombres de vías y englobamiento” (p. 66).

Nombre real de víaLa vía literal a la que debe acceder el programa para ejecutarse correc-tamente.

b En el caso de la Figura 3.2, “Excepción del modo de aprendizaje: definiciónde permisos de ejecución para una entrada”, de las siguientes opciones,seleccione la que satisfaga la solicitud de acceso.

HeredarPermanece en el mismo perfil de seguridad (perfil principal).

PerfilRequiere que exista un perfil distinto para el programa ejecutado.

22 Guía de administración de Novell AppArmor 2.0

Page 31: Apparmor Admin Guide Es

UnconfinedEjecuta el programa sin perfil de seguridad.

AVISO

A menos que sea absolutamente necesario, no ejecute programassin limitación. Si selecciona la opción No limitado, el nuevoprograma se ejecutará sin ninguna protección de AppArmor.

9 Después de seleccionar una vía de directorio, deberá procesarla como una entradadel perfil de Novell AppArmor haciendo clic en Permitir o en Denegar. Si noestá satisfecho con la entrada de vía de directorio tal y como aparece, tambiénpuede utilizar las opciones Global o Editar.

Las opciones disponibles para procesar las entradas del modo de aprendizaje ycrear el perfil son las siguientes:

PermitirProporciona acceso al programa a las entradas de vías de directorio especifi-cadas. El Asistente para añadir perfiles sugiere los permisos de acceso a losarchivos. Para obtener más información acerca de este tema, consulte laSección 3.7, “Modos de permiso de acceso a archivos” (p. 67).

DenegarHaga clic en Denegar para impedir que el programa acceda a las entradasde vías de directorios especificadas.

GlobalAl hacer clic en esta opción se modifica la vía de directorio (empleandocomodines) para que incluya todos los archivos del directorio de entradasugerido. Si hace doble clic se proporcionará acceso a todos los archivos ysubdirectorios situados bajo el mostrado.

Para obtenermás información acerca de la sintaxis de englobamiento, consultela Sección 3.6, “Nombres de vías y englobamiento” (p. 66).

Global con ext.Modifica la vía de directorio original conservando la extensión del nombrede archivo. Un solo clic hace que/etc/apache2/file.ext se conviertaen /etc/apache2/*.ext, añadiendo el comodín (asterisco) en lugar

Creación de perfiles de Novell AppArmor 23

Page 32: Apparmor Admin Guide Es

del nombre de archivo. De este modo el programa puede acceder a todos losarchivos de los directorios sugeridos que acaben con la extensión .ext. Sise hace doble clic se proporcionará acceso a todos los archivos (con laextensión definida) y subdirectorios situados bajo el mostrado.

EditarPermite editar la línea destacada. La nueva línea (editada) aparecerá al finalde la lista.

AbortarCancela logprof, desechando todos los cambios de reglas introducidos hastael momento y dejando intactos todos los perfiles, sin modificarlos.

FinalizarCierra logprof, guardando todos los cambios de reglas introducidos hasta elmomento y modificando todos los perfiles en consecuencia.

Haga clic en Permitir o en Denegar para cada entrada del modo de aprendizaje.Esto facilita la creación del perfil de Novell AppArmor.

NOTA

El número de entradas del modo de aprendizaje será directamenteproporcional a la complejidad de la aplicación.

Repita los pasos anteriores si necesita ejecutar más funciones de la aplicación.

Cuando haya terminado, haga clic enFinalizar.En la siguiente ventana emergente,haga clic en Sí para salir del asistente para la creación de perfiles. El perfil seguardará y cargará en el módulo de Novell AppArmor.

3.3.2 Adición manual de perfilesNovell AppArmor permite crear un perfil de Novell AppArmor añadiendo entradasmanualmente al perfil. Basta con seleccionar la aplicación para la que desee crear elperfil y luego añadir entradas.

1 Para añadir un perfil, abra YaST→ Novell AppArmor. Se abrirá la interfaz deNovell AppArmor.

24 Guía de administración de Novell AppArmor 2.0

Page 33: Apparmor Admin Guide Es

2 En Novell AppArmor, haga clic en Añadir perfil manualmente (consulte laFigura 3.3, “Adición manual de perfiles: selección de la aplicación” (p. 25)).

Figura 3.3 Adición manual de perfiles: selección de la aplicación

3 Desplácese por el sistema para encontrar la aplicación cuyo perfil desee crear.

4 Cuando encuentre el perfil, selecciónelo y haga clic en Abrir.Aparecerá un perfilbásico y vacío en la ventana Cuadro de diálogo de perfiles de Novell AppArmor.

Creación de perfiles de Novell AppArmor 25

Page 34: Apparmor Admin Guide Es

5 En la ventana Cuadro de diálogo de perfiles de AppArmor, puede añadir, editaro suprimir entradas de perfiles de Novell AppArmor haciendo clic en los botonescorrespondientes y consultando las siguientes secciones: “Adición de entradas”(p. 26), “Edición de entradas” (p. 29) y “Edición de entradas” (p. 29).

6 Cuando haya terminado, haga clic en Terminado.

Adición de entradasEn esta sección se explica la opción Añadir entrada, que encontrará en la Sección 3.3.2,“Adición manual de perfiles” (p. 24) o en la Sección 3.3.3, “Edición de perfiles” (p. 30).Al seleccionar Añadir entrada, aparecerá una lista desplegable que muestra los tiposde entrada que puede añadir al perfil de Novell AppArmor.

• En la lista, seleccione una de las siguientes opciones:

File (Archivo)En la ventana emergente, especifique la vía completa de un archivo, incluidoel tipo de acceso permitido. Cuando termine, haga clic en Aceptar.

Puede utilizar los englobamientos si es necesario. Para obtener informacióndetallada sobre los englobamientos, consulte la Sección 3.6, “Nombres devías y englobamiento” (p. 66). Para obtener información sobre los permisosde acceso a archivos, consulte la Sección 3.7, “Modos de permiso de accesoa archivos” (p. 67).

26 Guía de administración de Novell AppArmor 2.0

Page 35: Apparmor Admin Guide Es

DirectorioEn la ventana emergente, especifique la vía completa de un directorio,incluido el tipo de acceso permitido. Puede utilizar los englobamientos si esnecesario. Cuando termine, haga clic en Aceptar.

Para obtener información detallada sobre los englobamientos, consulte laSección 3.6, “Nombres de vías y englobamiento” (p. 66). Para obtenerinformación sobre los permisos de acceso a archivos, consulte la Sección 3.7,“Modos de permiso de acceso a archivos” (p. 67).

CapacidadEn la ventana emergente, seleccione las capacidades adecuadas. Se trata dedeclaraciones que habilitan las 32 capacidades POSIX.1e. Consulte laSección 3.1.1, “División de un perfil de Novell AppArmor en las partes quelo componen” (p. 11) para obtener más información sobre las capacidades.Al terminar de realizar las selecciones, haga clic en Aceptar.

Creación de perfiles de Novell AppArmor 27

Page 36: Apparmor Admin Guide Es

IncludeEn la ventana emergente, desplácese hasta los archivos que desee utilizarcomo entradas include. Las declaraciones include son directivas que incor-poran componentes de otros perfiles de Novell AppArmor para simplificarla estructura de los perfiles. Para obtener más información, consulte laSección 3.1.2, “#include” (p. 13).

28 Guía de administración de Novell AppArmor 2.0

Page 37: Apparmor Admin Guide Es

Edición de entradasEn esta sección se explica la opción Editar entrada, que encontrará en la Sección 3.3.2,“Adición manual de perfiles” (p. 24) o en la Sección 3.3.3, “Edición de perfiles” (p. 30).Al seleccionar Editar entrada, se abrirá una ventana emergente del explorador dearchivos. En ella podrá editar la entrada seleccionada.

En la ventana emergente, especifique la vía completa de un archivo, incluido el tipo deacceso permitido. Puede utilizar los englobamientos si es necesario. Cuando termine,haga clic en Aceptar.

Para obtener información detallada sobre los englobamientos, consulte la Sección 3.6,“Nombres de vías y englobamiento” (p. 66). Para obtener información sobre los permisosde acceso a archivos, consulte la Sección 3.7, “Modos de permiso de acceso a archivos”(p. 67).

Supresión de entradasEn esta sección se explica la opción Suprimir entrada, que encontrará en la Sección 3.3.2,“Adición manual de perfiles” (p. 24) o en la Sección 3.3.3, “Edición de perfiles” (p. 30).Al seleccionar una entrada y luego hacer clic en Suprimir entrada, Novell AppArmoreliminará la entrada de perfil seleccionada.

Creación de perfiles de Novell AppArmor 29

Page 38: Apparmor Admin Guide Es

3.3.3 Edición de perfilesNovell AppArmor permite editar manualmente los perfiles de Novell AppArmorañadiendo, editando o suprimiendo entradas. Basta con seleccionar el perfil y añadir,editar o suprimir las entradas que desee. Para editar un perfil, lleve a cabo los pasossiguientes:

1 Abra YaST→ Novell AppArmor.

2 EnNovell AppArmor, haga clic en Editar perfil. Se abrirá la ventana Editar perfil- Seleccionar perfil para editar.

3 En la lista de perfiles de programas, seleccione el perfil que desee editar.

4 Haga clic en Siguiente. El perfil se mostrará en la ventana Cuadro de diálogo deperfiles de AppArmor.

30 Guía de administración de Novell AppArmor 2.0

Page 39: Apparmor Admin Guide Es

5 En la ventana Cuadro de diálogo de perfiles de AppArmor, puede añadir, editaro suprimir entradas de perfiles de Novell AppArmor haciendo clic en los botonescorrespondientes y consultando las siguientes secciones: “Adición de entradas”(p. 26), “Edición de entradas” (p. 29) y “Supresión de entradas” (p. 29).

6 Cuando haya terminado, haga clic en Terminado.

7 En la ventana emergente que aparecerá, haga clic en Sí para confirmar los cambiosen el perfil.

3.3.4 Supresión de perfilesConNovell AppArmor es posible suprimir un perfil de Novell AppArmormanualmente.Basta con seleccionar la aplicación para la que desee suprimir el perfil y luego suprimirlodel modo siguiente:

1 Abra YaST→ Novell AppArmor. Se mostrará la interfaz de Novell AppArmor.

2 En Novell AppArmor, haga clic en el icono Suprimir perfil. Se abrirá la ventanaSuprimir perfil - Seleccionar perfil para suprimir.

Creación de perfiles de Novell AppArmor 31

Page 40: Apparmor Admin Guide Es

3 Seleccione el perfil que desee suprimir.

4 Haga clic en Siguiente.

5 En la ventana emergente que se abrirá, haga clic en Sí para suprimir el perfil.

3.3.5 Actualización de perfiles a partir deentradas del registro del sistema

El asistente de perfiles de Novell AppArmor utiliza logprof, una herramienta que exploralos archivos de registro y permite actualizar los perfiles según los resultados. logprofrealiza un seguimiento de los mensajes desde el módulo de Novell AppArmor querepresenta las excepciones para todos los perfiles que se ejecutan en el sistema. Estasexcepciones representan el comportamiento de la aplicación con perfil que no se ajustaa la definición del perfil para el programa. Puede añadir el nuevo comportamiento alperfil relevante seleccionando la entrada de perfil sugerida.

1 Abra YaST→ Novell AppArmor. Se mostrará la interfaz de Novell AppArmor.

2 En Novell AppArmor, haga clic en Asistente para actualizar perfiles. Aparecerála ventana del Asistente de perfiles de AppArmor.

32 Guía de administración de Novell AppArmor 2.0

Page 41: Apparmor Admin Guide Es

Al ejecutar el Asistente para actualizar perfiles, logprof procesa los archivos deregistro del modo de aprendizaje. De este modo se generará una serie de preguntasa las que deberá responder para guiar a logprof durante el proceso de generacióndel perfil de seguridad.

Las preguntas se dividen en dos categorías:

• Un programa con perfil solicita un recurso no incluido en el perfil (consultela Figura 3.4, “Excepción del modo de aprendizaje: control de acceso arecursos específicos” (p. 34)).

• El programa con perfil ejecuta otro programa y la transición del dominio deseguridad no está definida (consulte la Figura 3.5, “Excepción del modo deaprendizaje: definición de permisos de ejecución para una entrada” (p. 34)).

Cada caso produce una pregunta que deberá responder y que permite añadir elrecurso o programa al perfil. Las dos figuras siguientes muestran un ejemplo decada caso. Los pasos subsiguientes describen las opciones para responder a estaspreguntas.

Creación de perfiles de Novell AppArmor 33

Page 42: Apparmor Admin Guide Es

Figura 3.4 Excepción del modo de aprendizaje: control de acceso a recursosespecíficos

Figura 3.5 Excepción del modo de aprendizaje: definición de permisos de ejecuciónpara una entrada

34 Guía de administración de Novell AppArmor 2.0

Page 43: Apparmor Admin Guide Es

3 logprof comienza a sugerir entradas de vías de directorios a las que ha accedidola aplicación cuyo perfil está generando (tal y como se observa en la Figura 3.4,“Excepción del modo de aprendizaje: control de acceso a recursos específicos”(p. 34)) o a solicitar que defina permisos de ejecución para las entradas (tal ycomo se observa en la Figura 3.5, “Excepción del modo de aprendizaje: definiciónde permisos de ejecución para una entrada” (p. 34)).

a En el caso de la Figura 3.4, “Excepción del modo de aprendizaje: controlde acceso a recursos específicos” (p. 34), de las siguientes opciones, selec-cione la que satisfaga la solicitud de acceso (puede ser una entrada includesugerida, una versión global concreta de la vía o el nombre de vía real).Tenga en cuenta que no todas estas opciones estarán siempre disponibles.

#includeSección de un perfil de Novell AppArmor que hace referencia a unarchivo include. Los archivos include recuperan los permisos de accesode los programas. Utilizando una declaración include, puede propor-cionar al programa acceso a las vías de directorios o archivos quetambién necesiten otros programas. Al utilizar este tipo de declaraciones,podrá reducir el tamaño de los perfiles. Es recomendable seleccionarlas entradas include cuando el sistema lo sugiera.

Versión globalSe accede haciendo clic enGlobal, tal y como se describe en el siguientepaso. Para obtener más información acerca de la sintaxis global, consultela Sección 3.6, “Nombres de vías y englobamiento” (p. 66).

Nombre real de víaVía literal a la que el programa debe acceder para ejecutarse correcta-mente.

b En el caso de la Figura 3.5, “Excepción del modo de aprendizaje: definiciónde permisos de ejecución para una entrada” (p. 34), seleccione la vía quesatisfaga los requisitos de acceso seleccionando una de las siguientesopciones:

HeredarPermanece en el mismo perfil de seguridad (perfil principal).

PerfilRequiere que exista un perfil distinto para el programa ejecutado.

Creación de perfiles de Novell AppArmor 35

Page 44: Apparmor Admin Guide Es

UnconfinedEl programa se ejecuta sin perfil de seguridad.

AVISO

A menos que sea absolutamente necesario, no ejecute programassin limitación. Si selecciona la opción No limitado, el nuevoprograma se ejecutará sin ninguna protección de AppArmor.

4 Después de seleccionar una vía de directorio, deberá procesarla como una entradadel perfil de Novell AppArmor haciendo clic en Permitir o en Denegar. Si noestá satisfecho con la entrada de vía de directorio tal y como aparece, tambiénpuede utilizar las opciones Global o Editar.

Las opciones disponibles para procesar las entradas del modo de aprendizaje ycrear el perfil son las siguientes:

PermitirProporciona acceso al programa a las entradas de vías de directorio especifi-cadas. El asistente para la creación de perfiles sugiere los permisos de accesoa los archivos. Para obtener más información acerca de este tema, consultela Sección 3.7, “Modos de permiso de acceso a archivos” (p. 67).

DenegarHaga clic en Denegar para impedir que el programa acceda a las entradasde vías de directorios especificadas.

GlobalAl hacer clic en esta opción se modifica la vía de directorio (empleandocomodines) para que incluya todos los archivos del directorio de entradasugerido. Si hace doble clic se proporcionará acceso a todos los archivos ysubdirectorios situados bajo el mostrado.

Para obtenermás información acerca de la sintaxis de englobamiento, consultela Sección 3.6, “Nombres de vías y englobamiento” (p. 66).

Global con ext.Modifica la vía de directorio original conservando la extensión del nombrede archivo. Un solo clic hace que/etc/apache2/file.ext se conviertaen /etc/apache2/*.ext, añadiendo el comodín (asterisco) en lugar

36 Guía de administración de Novell AppArmor 2.0

Page 45: Apparmor Admin Guide Es

del nombre de archivo. De este modo el programa puede acceder a todos losarchivos de los directorios sugeridos que acaben con la extensión .ext. Sise hace doble clic se proporcionará acceso a todos los archivos (con laextensión definida) y subdirectorios situados bajo el mostrado.

EditarPermite editar la línea destacada. La nueva línea (editada) aparecerá al finalde la lista.

AbortarCancela logprof, desechando todos los cambios de reglas introducidos hastael momento y dejando intactos todos los perfiles, sin modificarlos.

FinalizarCierra logprof, guardando todos los cambios de reglas introducidos hasta elmomento y modificando todos los perfiles en consecuencia.

Haga clic en Permitir o en Denegar para cada entrada del modo de aprendizaje.Esto facilita la creación del perfil de Novell AppArmor.

NOTA

El número de entradas del modo de aprendizaje será directamenteproporcional a la complejidad de la aplicación.

Repita los pasos anteriores si necesita ejecutar más funciones de la aplicación.

Cuando haya terminado, haga clic enFinalizar.En la siguiente ventana emergente,haga clic en Sí para salir del asistente para la creación de perfiles. El perfil seguardará y cargará en el módulo de Novell AppArmor.

3.3.6 Gestión de Novell AppArmor y delestado de los eventos de seguridad

Novell AppArmor permite modificar el estado de Novell AppArmor y configurar lanotificación de eventos.

Creación de perfiles de Novell AppArmor 37

Page 46: Apparmor Admin Guide Es

Modificación del estado de Novell AppArmorPuede modificar el estado de Novell AppArmor habilitándolo o inhabilitándolo.Al habilitar Novell AppArmor se protege el sistema de posibles vulnerabilidadesde los programas. Si se inhabilita Novell AppArmor, se anula la protección delsistema, aunque los perfiles estén configurados.

Configuración de notificación de eventosPuede determinar cómo y cuándo desea recibir las notificaciones cuando seproduzcan los eventos de seguridad del sistema.

NOTA

Deberá configurar un servidor de correo en el servidor de SUSE Linux quesea capaz de enviar correo saliente utilizando el protocolo simple detransferencia de correo (smtp) , por ejemplo postfix o exim, para quefuncione la notificación de eventos.

Para configurar la notificación de eventos o modificar el estado de Novell AppArmor,lleve a cabo los pasos siguientes:

1 Al hacer clic en el Panel de control de Novell AppArmor, aparecerá la ventanaConfiguración de Novell AppArmor, tal y como se muestra a continuación:

38 Guía de administración de Novell AppArmor 2.0

Page 47: Apparmor Admin Guide Es

2 En la pantalla Configuración de AppArmor, determine si Novell AppArmor y lanotificación de eventos de seguridad se están ejecutando. Para ello, busque unmensaje con el contenido habilitado.

• Para modificar el estado de Novell AppArmor, prosiga con el procedimientodescrito en “Modificación del estado de Novell AppArmor” (p. 39).

• Para configurar la notificación de eventos de seguridad, prosiga con elprocedimiento descrito en la Sección 4.2.2, “Configuración de la notificaciónde eventos de seguridad” (p. 73).

Modificación del estado de Novell AppArmorAlmodificar el estado de Novell AppArmor, puede habilitarlo o inhabilitarlo. Si NovellAppArmor está habilitado, significa que está instalado, en ejecución y aplicando lasdirectivas de seguridad de Novell AppArmor.

1 Para habilitar Novell AppArmor, abra YaST→ Novell AppArmor. Se abrirá elmenú principal de Novell AppArmor.

2 En el menú principal de Novell AppArmor, haga clic en Panel de control deNovell AppArmor. Aparecerá la ventana Configuración de Novell AppArmor.

3 En la secciónHabilitar Novell AppArmor de la ventana, haga clic en Configurar.Se abrirá el cuadro de diálogo Habilitar Novell AppArmor.

Creación de perfiles de Novell AppArmor 39

Page 48: Apparmor Admin Guide Es

4 Habilite Novell AppArmor seleccionando Habilitar o inhabilite el programaseleccionando Inhabilitar. A continuación, haga clic en Aceptar.

5 Haga clic en Terminado en la ventana Configuración de Novell AppArmor.

6 Haga clic en Archivo→ Salir en el Centro de control de YaST.

3.4 Creación de perfiles de NovellAppArmor mediante la interfaz

de línea de comandosNovell AppArmor ofrece la posibilidad de emplear una interfaz de línea de comandosen lugar de la interfaz gráfica de usuario para gestionar y configurar la seguridad delsistema.

3.4.1 Comprobación del estado del móduloAppArmor

El módulo AppArmor puede tener cualquiera de los tres estados siguientes:

DescargadoEl módulo AppArmor no está cargado en el núcleo.

En ejecuciónEl módulo AppArmor está cargado en el núcleo y aplica las directivas de programasde Novell AppArmor.

40 Guía de administración de Novell AppArmor 2.0

Page 49: Apparmor Admin Guide Es

DetenidoEl módulo AppArmor está cargado en el núcleo, pero no está aplicando las direc-tivas.

Puede detectar en cuál de los tres estados se encuentra el módulo AppArmor inspeccio-nando /sys/kernel/security/apparmor/profiles. Si cat/sys/kernel/security/apparmor/profilesmuestra una lista de perfiles,Novell AppArmor se está ejecutando. Si está vacío y no muestra ningún resultado,AppArmor está detenido. Si el archivo no existe, AppArmor está descargado.

El módulo AppArmor puede cargarse y descargarse mediante comandos de móduloestándar de Linux como modprobe, insmod, lsmod y rmmod, pero este enfoqueno es recomendable. Es más útil gestionar Novell AppArmor mediante el guiónrcapparmor, que puede llevar a cabo las siguientes operaciones:

rcapparmor startTiene un comportamiento distinto dependiendo del estado del módulo AppArmor.Si estaba descargado, start carga el módulo y lo inicia, colocándolo en el estadode ejecución. Si estaba detenido, start provoca que el módulo vuelva a explorarlos perfiles de Novell AppArmor, que normalmente se encuentran en /etc/apparmor.d y hace que el módulo pase al estado de ejecución. Si el módulo yase estaba ejecutando, start presenta una advertencia y no lleva a cabo ningunaacción.

rcapparmor stopDetiene el módulo AppArmor (si estaba en ejecución) retirando todos los perfilesde la memoria del núcleo, inhabilitando de forma efectiva todos los controles deacceso y poniendo el módulo en estado detenido. Si el módulo AppArmor ya estabadescargado o detenido, stop intenta volver a descargar los perfiles, pero no ocurrenada.

rcapparmor restartHace que el módulo AppArmor vuelva a explorar los perfiles que normalmente seencuentran en /etc/apparmor.d sin cancelar la limitación de los procesos enejecución, añadiendo los nuevos perfiles y eliminando los perfiles que ya no seencontrarán en /etc/apparmor.d.

rcapparmor killElimina el módulo AppArmor del núcleo de forma incondicional. Esta acción noes segura porque, en general, la descarga directa de módulos del núcleo no lo es.

Creación de perfiles de Novell AppArmor 41

Page 50: Apparmor Admin Guide Es

Este comando sólo se proporciona comomedio para resolver errores y emergenciasen situaciones en las que pueda ser necesario eliminar el módulo.

NOTA

Novell AppArmor es un potente sistema de control de acceso y es posibleque le bloquee su propio equipo, hasta un punto tal en que puede sernecesario arrancar el equipo desde un soporte de recuperación (como elCD 1 de SUSE Linux) para recuperar el control.

Para evitar este tipo de problemas, compruebe siempre que dispone deun inicio de sesión de usuario Root en ejecución y sin limitación en elequipo que esté configurando cuando reinicie el módulo AppArmor. Siprovoca daños en el sistema hasta tal punto que no sea posible iniciarsesión (por ejemplo, rompiendo el perfil asociado al daemon SSH), podráreparar los daños utilizando el indicador del usuario Root en ejecución yreiniciando el módulo AppArmor.

3.4.2 Creación de los perfiles de NovellAppArmor

Las definiciones de perfiles del módulo AppArmor se almacenan en el directorio/etc/apparmor.d/ como archivos de texto sin formato.

AVISO

Todos los archivos del directorio /etc/apparmor.d/ se interpretan comoperfiles y se cargan como tales. Cambiar el nombre de los archivos del directoriono es un modo efectivo de impedir que los perfiles se carguen. Deberá retirarlos perfiles de este directorio para gestionarlos de forma efectiva.

Puede utilizar un editor de texto, como vim, para acceder a estos perfiles y realizarcambios en ellos. Las siguientes opciones contienen pasos detallados para crear perfiles:

Adición o creación de perfiles de Novell AppArrmorConsulte la Sección 3.4.3, “Adición o creación de perfiles de Novell AppArrmor”(p. 43)

42 Guía de administración de Novell AppArmor 2.0

Page 51: Apparmor Admin Guide Es

Edición de perfiles de Novell AppArmorConsulte la Sección 3.4.4, “Edición de perfiles de Novell AppArmor” (p. 44)

Supresión de perfiles de Novell AppArmorConsulte la Sección 3.4.5, “Supresión de perfiles de Novell AppArmor” (p. 44)

Utilice vim para ver y editar los perfiles, escribiendo vim en una ventana de terminal.Para habilitar los colores de sintaxis al editar un perfil de Novell AppArmor en vim,utilice los comandos :syntax on y, a continuación, :set syntax=apparmor.Para obtener más información acerca de vim y los colores de sintaxis, consulte“apparmor.vim” (p. 63).

NOTA

Después de realizar cambios en un perfil, utilice el comando rcapparmorrestart, descrito en la sección anterior. Este comando hace que NovellAppArmor vuelva a leer los perfiles. Para acceder a una descripción detalladade la sintaxis de estos archivos, consulte el Capítulo 3, Creación de perfiles deNovell AppArmor (p. 11).

3.4.3 Adición o creación de perfiles deNovell AppArrmor

Para añadir o crear un perfil de Novell AppArmor para una aplicación, puede utilizarun método de creación de perfiles independiente o sistemático, dependiendo de susnecesidades.

Perfiles independientesEste método es adecuado para crear perfiles de pequeñas aplicaciones con un tiempode ejecución finito, como aplicaciones clientes para el usuario (como los clientesde correo). Consulte la Sección 3.5.1, “Perfiles independientes” (p. 46).

Perfiles sistemáticosResulta adecuado para generar perfiles de un gran número de programas al mismotiempo y para crear perfiles de aplicaciones que pueden ejecutarse durante días,semanas o de forma continua en sucesivos reinicios, como las aplicaciones deservidores de red (por ejemplo, servidores Web o de correo). Consulte laSección 3.5.2, “Perfiles sistemáticos” (p. 46).

Creación de perfiles de Novell AppArmor 43

Page 52: Apparmor Admin Guide Es

3.4.4 Edición de perfiles de NovellAppArmor

Los pasos siguientes describen el procedimiento para editar un perfil de NovellAppArmor. Para entender mejor los componentes de un perfil, consulte la Sección 3.1,“Componentes y sintaxis de los perfiles” (p. 11).

1 Si no ha iniciado sesión como usuario Root, escriba su en una ventana determinal.

2 Introduzca la contraseña de usuario Root cuando el sistema lo solicite.

3 Para acceder al directorio, introduzca cd /etc/apparmor.d/.

4 Escriba ls para ver todos los perfiles instalados actualmente.

5 Abra el perfil que desee editar en un editor de texto, como vim.

6 Realice los cambios necesarios y guarde el perfil.

7 ReinicieNovell AppArmor escribiendorcapparmor restart en una ventanade terminal.

3.4.5 Supresión de perfiles de NovellAppArmor

Los pasos siguientes describen el procedimiento para suprimir un perfil de NovellAppArmor.

1 Si no ha iniciado sesión como usuario Root, escriba su en una ventana determinal.

2 Introduzca la contraseña de usuario Root cuando el sistema lo solicite.

3 Para acceder al directorio de Novell AppArmor, escriba cd/etc/apparmor.d/.

44 Guía de administración de Novell AppArmor 2.0

Page 53: Apparmor Admin Guide Es

4 Escriba ls para ver todos los perfiles de Novell AppArmor instalados actual-mente.

5 Suprima el perfil saliendo de él con rm nombre del perfil.

6 ReinicieNovell AppArmor escribiendorcapparmor restart en una ventanade terminal.

3.5 Dos métodos de creación deperfiles

Dada la sintaxis para perfiles de Novell AppArmor detallada en la Sección 3.1,“Componentes y sintaxis de los perfiles” (p. 11), puede crear perfiles sin utilizar lasherramientas. No obstante, proceder de este modo requiere un esfuerzo considerable.Para evitar las molestias que esto supone, utilice las herramientas de Novell AppArmorpara automatizar la creación y ajuste de los perfiles.

Hay dos enfoques distintos para la creación de perfiles de Novell AppArmor, así comoherramientas que permiten utilizar ambos métodos.

Perfiles independientesEste método es adecuado para crear perfiles de pequeñas aplicaciones con un tiempode ejecución finito, como aplicaciones clientes para el usuario (como los clientesde correo). Para obtener más información, consulte la Sección 3.5.1, “Perfilesindependientes” (p. 46).

Perfiles sistemáticosEste método resulta adecuado para generar perfiles de un gran número de programasal mismo tiempo y para crear perfiles de aplicaciones que pueden ejecutarse durantedías, semanas o de forma continua en sucesivos reinicios, como las aplicacionesde servidores de red (por ejemplo, servidores Web o de correo). Para obtener másinformación, consulte la Sección 3.5.2, “Perfiles sistemáticos” (p. 46).

El desarrollo automatizado de perfiles resulta más sencillo de gestionar con las herra-mientas de Novell AppArmor:

1 Decida el método de creación de perfiles que mejor se adapte a sus necesidades.

Creación de perfiles de Novell AppArmor 45

Page 54: Apparmor Admin Guide Es

2 Lleve a cabo un análisis estático. Ejecute genprof o autodep, dependiendo delmétodo de perfiles que haya elegido.

3 Habilite el aprendizaje dinámico. Active el modo de aprendizaje para todos losperfiles de programas.

3.5.1 Perfiles independientesLa generación y mejora de perfiles independientes se gestiona mediante el programagenprof. Este método resulta sencillo, dado que genprof se encarga de todo, pero tambiénlimitado, ya que requiere que genprof esté en ejecución durante toda la ejecución deprueba del programa (no podrá reiniciar el equipo mientras aún se esté desarrollandoel perfil).

Para utilizar genprof a fin de emplear el método de creación de perfiles independientes,consulte “genprof” (p. 51).

3.5.2 Perfiles sistemáticosEste método se denomina de perfiles sistemáticos porque actualiza todos los perfilesdel sistema al mismo tiempo, en lugar de centrarse en uno solo o en unos pocos, comogenprof o la generación de perfiles individuales.

Con la creación de perfiles sistemáticos, la creación y mejora de los perfiles resultaalgo menos automática, pero más flexible. Este método es adecuado para la generaciónde perfiles de aplicaciones con un tiempo de ejecución prolongado, cuyo comportamientocontinúa después de los sucesivos reinicios, o bien para varios programas cuyos perfilesdesee crear al mismo tiempo.

Cree un perfil de Novell AppArmor para un grupo de aplicaciones mediante el siguientemétodo:

1 Cree perfiles para los programas individuales que forman la aplicación.Aunque este enfoque es sistemático, Novell AppArmor sigue supervisandoúnicamente los programas con perfiles y los programas secundarios de éstos. Porlo tanto, para que Novell AppArmor tenga en cuenta un programa, deberá hacerque autodep cree al menos un perfil aproximado para él. Para crear el perfilaproximado, consulte “autodep” (p. 48).

46 Guía de administración de Novell AppArmor 2.0

Page 55: Apparmor Admin Guide Es

2 Configure los perfiles relevantes en el modo de aprendizaje o de queja.Active el modo de aprendizaje o de queja para todos los programas cuyo perfildesee generar, introduciendo complain /etc/apparmor.d/* en unaventana de terminal después de iniciar sesión como usuario Root.

En el modo de aprendizaje, las solicitudes de acceso no se bloquean aunque elperfil indique que deben bloquearse. De este modo, puede llevar a cabo variaspruebas (tal y como se muestra en el Paso 3 (p. 47)) y aprender las necesidadesde acceso del programa, de modo que pueda ejecutarse de forma adecuada. Conesta información, podrá decidir el nivel de seguridad que desee emplear con elperfil.

Consulte “Modo de aprendizaje o de queja” (p. 49) para obtener instruccionesmás detalladas para utilizar el modo de aprendizaje o de queja.

3 Utilice la aplicación. Ejecute la aplicación y utilice sus funciones. La utili-zación que desee realizar del programa es totalmente voluntaria, pero deberáhacer que el programa acceda a todos los archivos que representen sus necesidadesde acceso. Dado que genprof no supervisa la ejecución, este paso puede durardías o semanas y puede prolongarse a lo largo de sucesivos reinicios totales delsistema.

4 Analice el registro. En los perfiles sistemáticos, ejecute logprof directamenteen lugar de dejar que genprof lo ejecute (como en los perfiles individuales). Elformato general de logprof es:logprof [ -d /vía/a/perfiles ] [ -f /vía/a/archivoregistro ]

Consulte “logprof” (p. 57) para obtener más información sobre la utilización delogprof.

5 Repita los pasos 3 y 4. De este modo se generarán perfiles optimizados. Unenfoque con repeticiones permite capturar conjuntos de datos más pequeños, quepueden incluirse en la formación y volverse a cargar en el motor de directivas.Las repeticiones subsiguientes generan menos mensajes y se ejecutan másrápidamente.

6 Edite los perfiles. Es posible que desee revisar los perfiles generados. Puedeabrir y editar los perfiles de /etc/apparmor.d/mediante vim. Para obtenerayuda acerca de cómo aprovechar vim al máximo, consulte “apparmor.vim”(p. 63).

Creación de perfiles de Novell AppArmor 47

Page 56: Apparmor Admin Guide Es

7 Vuelva al modo de “aplicación.” En este modo, el sistema vuelve a aplicarlas reglas de los perfiles, en lugar de limitarse a registrar información. Este pasose puede llevar a cabomanualmente, eliminando el texto flags=(complain)de los perfiles; o bien automáticamente, utilizando el comando enforce, quefunciona del mismo modo que el comando complain, pero establece el modo deaplicación para los perfiles.

Para asegurarse de que todos los perfiles dejan de estar en el modo de queja yvuelven al de aplicación, escriba el comando enforce/etc/apparmor.d/*.

8 Vuelva a explorar todos los perfiles. Para hacer que Novell AppArmorvuelva a explorar todos los perfiles y modifique el modo de aplicación en elnúcleo, escriba el comando /etc/init.d/apparmor restart.

3.5.3 Resumen de las herramientas degeneración de perfiles

Todas las utilidades de generación de perfiles de Novell AppArmor están incluidas enel paquete RPM apparmor-utils, y la mayoría de ellas se almacenan en /usr/sbin. En las siguientes secciones se presentan todas las herramientas.

autodepCrea un perfil aproximado del programa o aplicación con que se utilice. Puede generarperfiles aproximados para archivos binarios ejecutables y para programas de guionesinterpretados. Los perfiles resultantes se consideran “aproximados” porque no contienennecesariamente todas las entradas de perfil que el programa necesita para estaradecuadamente limitado por Novell AppArmor. El perfil aproximadomínimo de autodeptiene al menos una directiva include básica, que contiene las entradas de perfil básicasnecesarias para la mayoría de los programas. Para algunos tipos de programas, autodepgenera un perfil más amplio. El perfil se genera realizando llamadas repetidas a ldd(1)en los ejecutables incluidos en la línea de comandos.

Para generar un perfil aproximado, utilice el programa autodep. Los argumentos delprograma pueden ser sencillamente el nombre del programa, que autodep averiguabuscando en la variable path de la shell, o bien una vía completa. El propio programapuede ser de cualquier tipo (binario ELF, guión de shell, guión Perl, etc.) y autodep

48 Guía de administración de Novell AppArmor 2.0

Page 57: Apparmor Admin Guide Es

genera un perfil aproximado, que puede mejorarse mediante la generación dinámica deperfiles descrita a continuación.

El perfil aproximado resultante se escribe en el directorio /etc/apparmor.dempleando la convención de nombres de perfiles de Novell AppArmor (nombrando elperfil tras la vía completa del programa y sustituyendo los caracteres de barra invertida[/] de la vía por caracteres de punto [.]. El formato general de autodep es introducirlo siguiente en una ventana de terminal después de iniciar sesión como usuario Root:autodep [ -d /vía/a/perfiles ] [programa1 programa2...]

Si no introduce los nombres de los programas, el sistema los solicitará./vía/a/perfiles sobrescribe la ubicación por defecto de /etc/apparmor.d.

Para empezar a generar perfiles, debe crear perfiles para cada servicio de ejecutableprincipal que forme parte de la aplicación (cualquier elemento que pueda iniciarse sinser un proceso secundario de otro programa que ya disponga de perfil). El método paraencontrar estos programas dependerá de la aplicación concreta. A continuación sepresentan algunas estrategias para encontrar estos programas:

del volumenSi todos los programas cuyos perfiles desea generar se encuentran en un directorioy no hay ningún otro programa en ese directorio, el comando sencillo autodep/vía/a/los/programas/* crea perfiles nominales para todos los programasde ese directorio.

Comando psPuede ejecutar las aplicaciones y utilizar el comando estándar de Linux ps paraencontrar todos los procesos que se estén ejecutando. A continuación, deberá rastrearmanualmente la ubicación de estos programas y ejecutar el programa autodep paracada uno de ellos. Si los programas están en la vía del usuario, autodep los encon-trará automáticamente. Si no lo están, el comando estándar de Linux locatepuede resultar útil para encontrar los programas. Si locate no funciona (no seinstala por defecto en SUSELinux), utilicefind. -name '*foo*' -print.

Modo de aprendizaje o de quejaLa herramienta de modo de aprendizaje o de queja detecta las violaciones de las reglasde los perfiles de Novell AppArmor, por ejemplo, cuando el programa del perfil accedea archivos no permitidos por éste. Las violaciones se permiten, pero también quedanregistradas. Para mejorar el perfil, active el modo de queja, ejecute el programamediante

Creación de perfiles de Novell AppArmor 49

Page 58: Apparmor Admin Guide Es

un conjunto de pruebas para generar eventos de registro que caractericen las necesidadesde acceso del programa, y luego realice un procesamiento posterior del registro con lasherramientas de Novell AppArmor para transformar los eventos del registro en perfilesmejorados.

La activación manual del modo de queja (mediante la línea de comandos) añade unindicador a la parte superior del perfil, de modo que /bin/foo se transforma en/bin/foo flags=(complain). Para utilizar el modo de queja, abra una ventanade terminal como usuario Root e introduzca una de las siguientes líneas.

• Si el programa de ejemplo (programa1) está en su vía, utilice:complain [programa1 programa2 ...]

• Si el programa no está en su vía, especifique la vía completa del modo siguiente:complain /sbin/programa1

• Si los perfiles no se encuentran en /etc/apparmor.d, escriba lo siguiente paraanular la ubicación por defecto:complain /vía/a/perfiles/ programa1

• Especifique el perfil del programa1 del modo siguiente:complain /etc/apparmor.d/sbin.programa1

Los comandos anteriores activan el modo de queja para los perfiles o programasincluidos. El comando puede incluir programas y perfiles. Si el nombre del programano incluye la vía completa, complain buscará el programa en $PATH. De modo que,por ejemplo, complain /usr/sbin/* encuentra perfiles asociados a todos losprogramas de /usr/sbin y los configura en el modo de queja, y complain/etc/apparmor.d/* configura todos los perfiles de /etc/apparmor.d en elmodo de queja.

Modo de aplicaciónLa herramienta de modo de aplicación detecta las violaciones de las reglas de los perfilesde Novell AppArmor, por ejemplo, cuando el programa del perfil accede a archivos nopermitidos por éste. Las violaciones quedan registradas y no se permiten. El modoactivado por defecto es el de aplicación. Active el modo de aplicación cuando desee

50 Guía de administración de Novell AppArmor 2.0

Page 59: Apparmor Admin Guide Es

que los perfiles de Novell AppArmor controlen el acceso del programa incluido en elperfil. El modo de aplicación se activa al desactivar el de queja y viceversa.

La activación manual del modo de aplicación (mediante la línea de comandos) añadeun indicador a la parte superior del perfil, de modo que /bin/foo se transforma en/bin/foo flags=(enforce). Para utilizar el modo de aplicación, abra unaventana de terminal como usuario Root e introduzca una de las siguientes líneas.

• Si el programa de ejemplo (programa1) está en su vía, utilice:enforce [programa1 programa2 ...]

• Si el programa no está en su vía, especifique la vía completa del modo siguiente:enforce /sbin/programa1

• Si los perfiles no se encuentran en /etc/apparmor.d, escriba lo siguiente pararedefinir la ubicación por defecto:enforce /vía/a/perfiles/programa1

• Especifique el perfil del programa1 del modo siguiente:enforce /etc/apparmor.d/sbin.programa1

Los comandos anteriores activan el modo de aplicación para los perfiles o programasincluidos.

Si no introduce los nombres de los programas o perfiles, el sistema los solicitará./vía/a/perfiles redefine la ubicación por defecto de /etc/apparmor.d.

El argumento puede ser una lista de programas o una lista de perfiles. Si el nombre delprograma no incluye la vía completa, enforce buscará el programa en $PATH. De modoque, por ejemplo, enforce /usr/sbin/* encuentra perfiles asociados a todos losprogramas de /usr/sbin y los configura en el modo de aplicación, y enforce/etc/apparmor.d/* configura todos los perfiles de /etc/apparmor.d en elmodo de aplicación.

genprofgenprof (abreviatura en inglés de "generador de perfiles";) es la utilidad de generaciónde perfiles de Novell AppArmor. Ejecuta autodep para el programa especificado, creando

Creación de perfiles de Novell AppArmor 51

Page 60: Apparmor Admin Guide Es

un perfil aproximado (si no existe ya uno), establece el modo de queja, vuelve a cargarloen Novell AppArmor, marca el registro del sistema (syslog) y solicita al usuario queejecute el programa y utilice sus funciones. La sintaxis es la siguiente:genprof [ -d /vía/a/perfiles ]programa

Por ejemplo, si desea crear un perfil para el programa del servidor Web Apache httpd2-prefork, lleve a cabo los siguientes pasos desde una shell de usuario Root:

1 Introduzca el comando rcapache2 stop.

2 A continuación, escriba genprof httpd2-prefork.

A continuación, genprof hará lo siguiente:

• Resolverá la vía completa de httpd2-prefork basándose en las variables depath de la shell. También es posible especificar una vía completa. En SUSELinux, la vía completa es /usr/sbin/httpd2-prefork.

• Comprueba si hay un perfil existente para httpd2-prefork. Si lo hay, loactualiza. Si no, crea uno empleando el programa autodep, descrito en laSección 3.5.3, “Resumen de las herramientas de generación de perfiles”(p. 48).

NOTA

Existe una convención de nombres que relaciona la vía completa deun programa con el nombre de archivo de su perfil, a fin de que lasdiferentes herramientas de perfiles de Novell AppArmor puedanmanipularlos de forma coherente. La convención consiste en sustituirlas barras invertidas (/) por puntos (.), de modo que el perfil de/usr/sbin/httpd2-prefork se almacene en /etc/apparmor.d/usr.sbin.httpd2-prefork.

• Configura el perfil del programa en el modo de aprendizaje o queja, de modoque las violaciones del perfil queden registradas, pero se permitan. Un eventodel registro tendría el aspecto siguiente:Oct 9 15:40:31 AppArmor: PERMITTING r access to /etc/apache2/httpd.conf (httpd2-prefork(6068) profile /usr/sbin/httpd2-prefork active /usr/sbin/httpd2-prefork)

52 Guía de administración de Novell AppArmor 2.0

Page 61: Apparmor Admin Guide Es

• Marca el registro del sistema (syslog) con un marcador de inicio de loseventos de registro que debe tener en cuenta. Ejemplo:Sep 13 17:48:52 h2o root: GenProf: e2ff78636296f16d0b5301209a04430d

3 Cuando la herramienta lo solicite, ejecute la aplicación cuyo perfil esté generandoen otra ventana de terminal y lleve a cabo tantas funciones de la aplicación comosea posible, a fin de que el modo de aprendizaje pueda registrar los archivos ydirectorios a los que debe acceder el programa para funcionar correctamente. Porejemplo, introduzca rcapache2 start en una nueva ventana de terminal.

4 Entre las siguientes opciones, seleccione las que se podrán utilizar después deejecutar las funciones del programa:

• S ejecuta logprof con el registro del sistema a partir del punto en el que seincluyó la marca al iniciar genprof y vuelve a cargar el perfil.

Si existen eventos de sistema en el registro, Novell AppArmor procesa losarchivos de registro del modo de aprendizaje. De este modo se generará unaserie de preguntas a las que deberá responder para guiar a genprof duranteel proceso de generación del perfil de seguridad.

• F sale de la herramienta y vuelve al menú principal.

NOTA

Si aparece una solicitud para añadir hats, pase al Capítulo 5, Creación deperfiles para las aplicacionesWebmediante ChangeHat de Apache (p. 103).

5 Responderá a dos tipos de preguntas:

• Un programa con perfil solicita un recurso no incluido en el perfil (consulteel Ejemplo 3.1, “Excepción del modo de aprendizaje: control de acceso arecursos específicos” (p. 54)).

• El programa con perfil ejecuta otro programa y la transición del dominio deseguridad no está definida (consulte el Ejemplo 3.2, “Excepción del modode aprendizaje: definición de permisos de ejecución para una entrada”(p. 55)).

Creación de perfiles de Novell AppArmor 53

Page 62: Apparmor Admin Guide Es

Cada una de estas categorías genera una serie de preguntas a las que deberáresponder para añadir el recurso o el programa al perfil. Las dos figuras siguientesmuestran un ejemplo de cada caso. Los pasos subsiguientes describen las opcionespara responder a estas preguntas.

Ejemplo 3.1 Excepción del modo de aprendizaje: control de acceso a recursosespecíficos

Leyendo entradas de registro de /var/log/messages.Actualizando perfiles de apparmor en /etc/apparmor.d.

Perfil: /usr/sbin/xinetdEjecutar: /usr/sbin/vsftpd

[(H)eredar] / (P)erfil / (N)o limitado / (D)enegar / A(b)ortar / (F)inalizar)

La gestión de los accesos de ejecución es compleja. Deberá decidir cuáles de lostres tipos de permisos de ejecución desea otorgar al programa:

heredar (ix)El elemento secundario hereda el perfil del principal, ejecutándose con losmismos controles de acceso que éste. Este modo resulta útil cuando unprograma limitado necesita llamar a otro programa limitado sin obtener lospermisos del perfil del destino o perder los permisos del perfil actual. Estemodo suele utilizarse a menudo cuando el programa secundario es unaaplicación de ayuda, como el cliente /usr/bin/mail, que utiliza elprograma inferior como un programa que divide en páginas o el navegadorWeb Mozilla, que utiliza el programa Acrobat para mostrar los archivosPDF.

perfil (px)El elemento secundario se ejecuta utilizando su propio perfil, que debecargarse en el núcleo. Si el perfil no se encuentra presente, los intentos deejecutar el elemento secundario no se efectúan correctamente, ya que sedeniega el permiso. Resulta útil si el programa principal invoca a un servicioglobal, como la búsqueda en servidores DNS o el envío por correo medianteel MTA del sistema.

no limitado (ux)El elemento secundario se ejecuta completamente sin limitación, sin que seaplique ningún perfil de Novell AppArmor al recurso ejecutado.

54 Guía de administración de Novell AppArmor 2.0

Page 63: Apparmor Admin Guide Es

Ejemplo 3.2 Excepción del modo de aprendizaje: definición de permisos de ejecuciónpara una entrada

Añadiendo /bin/ps ix al perfil.

Perfil: /usr/sbin/xinetd Vía: /etc/hosts.allow Nuevo modo: r

[1 - /etc/hosts.allow]

[(P)ermitir] / (D)enegar / (N)uevo / (G)lobal / Global con (e)xt. / A(b)ortar / (F)inalizar

El menú anterior muestra a Novell AppArmor sugiriendo entradas de vía dedirectorios a las que ha accedido la aplicación cuyo perfil está creando. Es posibleque también requiera la definición de permisos de ejecución para las entradas.

Novell AppArmor proporciona uno o varios nombres de vías o entradas include.Haciendo clic en el número de opción, seleccione una o varias de las siguientesopciones y diríjase al paso siguiente.

NOTA

No siempre aparecen todas estas opciones en el menú de NovellAppArmor.

#includeEs la sección del perfil de Novell AppArmor que hace referencia a un archivoinclude, que proporciona permisos de acceso a los programas. Utilizandouna declaración include, puede proporcionar al programa acceso a las víasde directorios o archivos que también necesiten otros programas. Al utilizareste tipo de declaraciones, podrá reducir el tamaño de los perfiles. Esrecomendable seleccionar las entradas include cuando el sistema lo sugiera.

Versión globalSe accede haciendo clic en Global, tal y como se describe en el siguientepaso. Para obtener más información acerca de la sintaxis global, consulte laSección 3.6, “Nombres de vías y englobamiento” (p. 66).

Nombre real de víaVía literal a la que el programa debe acceder para ejecutarse correctamente.

6 Después de seleccionar un nombre de vía o un archivo include, deberá procesarloscomo una entrada del perfil de Novell AppArmor haciendo clic en Permitir o en

Creación de perfiles de Novell AppArmor 55

Page 64: Apparmor Admin Guide Es

Denegar. Si no está satisfecho con la entrada de vía de directorio tal y comoaparece, también puede utilizar las opciones Global o Editar.

Las opciones disponibles para procesar las entradas del modo de aprendizaje ycrear el perfil son las siguientes:

Pulse IntroPermite acceder a la vía de directorio seleccionada.

PermitirPermite acceder a la vía de directorio seleccionada. Novell AppArmor sugiereel acceso a los permisos de archivos. Para obtener más información, consultela Sección 3.7, “Modos de permiso de acceso a archivos” (p. 67).

DenegarImpide que el programa acceda a las entradas de vías de directorio especifi-cadas. Novell AppArmor se mueve a continuación al evento siguiente.

NuevoSolicita introducir una regla personalizada para el evento, lo que permiteespecificar el tipo de expresión regular que desee. Si la expresión introducidano se adapta realmente el evento que ha solicitado la pregunta, NovellAppArmor solicita confirmación y permite volver a introducir la expresión.

GlobalAl hacer clic en esta opción se modifica la vía de directorio (empleandocomodines) para que incluya todos los archivos del directorio de entradasugerido. Si hace doble clic se proporcionará acceso a todos los archivos ysubdirectorios situados bajo el mostrado.

Para obtener más información acerca de la sintaxis global, consulte laSección 3.6, “Nombres de vías y englobamiento” (p. 66).

Global con ext.Modifica la vía de directorio original conservando la extensión del nombrede archivo. Por ejemplo, /etc/apache2/file.ext se convierte en/etc/apache2/*.ext, añadiendo el comodín (asterisco) en lugar delnombre de archivo. De este modo el programa puede acceder a todos losarchivos de los directorios sugeridos que acaben con la extensión .ext. Sihace doble clic se proporcionará acceso a todos los archivos (con la extensiónindicada) y subdirectorios bajo el mostrado.

56 Guía de administración de Novell AppArmor 2.0

Page 65: Apparmor Admin Guide Es

EditarPermite editar la línea seleccionada. La nueva línea editada aparecerá al finalde la lista.

AbortarCancela logprof, desechando todos los cambios de reglas introducidos hastael momento y dejando intactos todos los perfiles, sin modificarlos.

FinalizarCierra logprof, guardando todos los cambios de reglas introducidos hasta elmomento y modificando todos los perfiles en consecuencia.

7 Para ver y editar el perfil utilizando vim, introduzca vim/etc/apparmor.d/nombredelperfil en una ventana de terminal. Parahabilitar los colores de sintaxis al editar un perfil de Novell AppArmor en vim,utilice los comandos :syntax on y, a continuación, :setsyntax=apparmor. Para obtener más información acerca de vim y los coloresde sintaxis, consulte “apparmor.vim” (p. 63).

logproflogprof es una herramienta interactiva que se emplea para revisar los resultados delmodo de queja o aprendizaje encontrados en las entradas de syslog y, a continuación,generar nuevas entradas en los perfiles de seguridad de Novell AppArmor.

Cuando logprof se ejecuta, comienza a explorar los archivos de registro producidos enel modo de queja o aprendizaje y, si hay nuevos eventos de seguridad no cubiertos porel conjunto de perfiles existente, proporciona sugerencias para modificar el perfil. Elmodo de queja o aprendizaje rastrea el comportamiento del programa y lo introduce enel registro del sistema. logprof utiliza esta información para observar el comportamientodel programa.

Si un programa limitado se bifurca y ejecuta otro programa, logprof lo observa y preguntaal usuario qué modo de ejecución debe emplearse al iniciar el proceso secundario. Lossiguientes modos de ejecución son opciones para iniciar el proceso secundario: ix, pxy ux. Si existe un perfil distinto para el proceso secundario, la selección por defecto espx. Si no existe, el valor por defecto del perfil es ix. Los procesos secundarios conperfiles distintos han sido analizados por autodep y se cargan en Novell AppArmor sise está ejecutando.

Creación de perfiles de Novell AppArmor 57

Page 66: Apparmor Admin Guide Es

Cuando logprof se cierra, los perfiles se actualizan con los cambios. Si el móduloAppArmor se está ejecutando, los perfiles actualizados vuelven a cargarse y si algúnproceso que haya generado eventos de seguridad sigue ejecutándose en el perfil null-complain-profile, pasan a estar controlados por los perfiles adecuados.

Para ejecutar logprof, escriba logprof en una ventana de terminal tras iniciar sesióncomo usuario Root. También puede emplear las siguientes opciones con logprof:

logprof -d /vía/a/directorio/perfiles/Especifica la vía completa a la ubicación de los perfiles, si no están almacenadosen el directorio estándar: /etc/apparmor.d/.

logprof -f /vía/a/archivoregistro/Especifica la vía completa a la ubicación del archivo de registro, si no se encuentraen el directorio por defecto: /var/log/messages.

logprof -m "marcador de cadena en el archivo de registro"Marca el punto de inicio en el que logprof debe empezar a buscar en el registro delsistema. logprof hace caso omiso de todos los eventos del sistema antes de encontrarla marca especificada. Si la marca contiene espacios, debe estar entre comillas paraque funcione correctamente. Ejemplo: logprof -me2ff78636296f16d0b5301209a04430d

logprof explora el registro, preguntando al usuario cómo desea gestionar cada eventoregistrado. Cada pregunta presenta una lista numerada de reglas de Novell AppArmorque pueden añadirse pulsando el número del elemento en la lista.

logprof busca por defecto los perfiles en /etc/apparmor.d/ y explora el registrode /var/log/messages, de modo que, en la mayoría de los casos, ejecutarlogprof como usuario Root basta para crear el perfil.

No obstante, es posible que en ocasiones necesite realizar búsquedas en archivos deregistro almacenados, por ejemplo si el periodo de ejecución del programa supera a laventana de rotación del registro (momento en el que se almacena el archivo de registroy se inicia uno nuevo). Si se da el caso, puede introducir zcat -f `ls -1tr/var/log/messages*` | logprof -f -.

58 Guía de administración de Novell AppArmor 2.0

Page 67: Apparmor Admin Guide Es

logprof (ejemplo 1)A continuación encontrará un ejemplo de cómo logprof gestiona el acceso de httpd2-prefork al archivo /etc/group. El ejemplo utiliza corchetes [] para indicar la opciónpor defecto.

En este ejemplo, el acceso a /etc/group forma parte del acceso de httpd2-preforka los servicios de nombres. La respuesta adecuada es 1, que activa un conjuntopredefinido de reglas de Novell AppArmor. Al seleccionar 1 para utilizar la declaración#include, el paquete de servicios de nombres resuelve todas las futuras preguntasrelacionadas con búsquedas DNS y también hace que el perfil sea más sólido, al lograrque cualquier cambio en la configuración DNS y en el paquete de perfiles de serviciosde nombres asociado pueda realizarse en un solo paso, sin necesidad de revisar muchosperfiles.Perfil: /usr/sbin/httpd2-prefork Vía: /etc/group Nuevo modo: r

[1 - #include <abstractions/nombredelservicio>] 2 - /etc/group [(P)ermitir] / (D)enegar / (N)uevo / (G)lobal / Global con (e)xt. / A(b)ortar / (F)inalizar

Seleccione una de las siguientes respuestas:

Pulse IntroPermite acceder a la vía de directorio seleccionada.

PermitirPermite acceder a la vía de directorio seleccionada. Novell AppArmor sugiere elacceso a los permisos de archivos. Para obtener más información acerca de estetema, consulte la Sección 3.7, “Modos de permiso de acceso a archivos” (p. 67).

DenegarImpide que el programa acceda a las entradas de vías de directorio especificadas.Novell AppArmor se mueve a continuación al evento siguiente.

NuevoSolicita introducir una regla personalizada para el evento, lo que permite especificarel tipo de expresión regular que desee. Si la expresión introducida no se adaptarealmente el evento que ha solicitado la pregunta, Novell AppArmor solicitaconfirmación y permite volver a introducir la expresión.

Creación de perfiles de Novell AppArmor 59

Page 68: Apparmor Admin Guide Es

GlobalAl hacer clic en esta opción se modifica la vía de directorio (empleando comodines)para que incluya todos los archivos del directorio de entrada sugerido. Si hace dobleclic se proporcionará acceso a todos los archivos y subdirectorios situados bajo elmostrado.

Para obtener más información acerca de la sintaxis de englobamiento, consulte laSección 3.6, “Nombres de vías y englobamiento” (p. 66).

Global con ext.Modifica la vía de directorio original conservando la extensión del nombre dearchivo. Por ejemplo, /etc/apache2/file.ext se convierte en /etc/apache2/*.ext, añadiendo el comodín (asterisco) en lugar del nombre dearchivo. De este modo el programa puede acceder a todos los archivos de losdirectorios sugeridos que acaben con la extensión .ext. Si hace doble clic seproporcionará acceso a todos los archivos (con la extensión indicada) y subdirec-torios bajo el mostrado.

EditarPermite editar la línea seleccionada. La nueva línea editada aparecerá al final dela lista.

AbortarCancela logprof, desechando todos los cambios de reglas introducidos hasta elmomento y dejando intactos todos los perfiles, sin modificarlos.

FinalizarCierra logprof, guardando todos los cambios de reglas introducidos hasta el momentoy modificando todos los perfiles en consecuencia.

logprof (ejemplo 2)En un ejemplo de generación de perfil para vsftpd, observamos esta pregunta:Perfil: /usr/sbin/vsftpd Vía: /y2k.jpg Nuevo modo: r

[1 - /y2k.jpg]

(P)ermitir / [(D)enegar] / (N)uevo / (G)lobal / Global con (e)xt. / A(b)ortar / (F)inalizar

60 Guía de administración de Novell AppArmor 2.0

Page 69: Apparmor Admin Guide Es

En esta pregunta aparecen varios elementos de interés. En primer lugar, tenga en cuentaque vsftpd está solicitando una entrada de vía en la parte superior del árbol, aunquevsftpd en SUSE Linux sirve archivos FTP desde /srv/ftp por defecto. Esto se debea que httpd2-prefork utiliza chroot y, para la parte de código dentro de chroot, NovellAppArmor observa acceso a archivos en el entorno de chroot en lugar de en la víacompleta global.

El segundo elemento de interés es que es posible que desee conceder acceso de lecturaFTP a todos los demás archivos JPEG del directorio, por lo que puede utilizar Globalcon ext. y emplear la vía sugerida de /*.jpg. Al hacerlo se contraen las reglasanteriores, proporcionando acceso a archivos .jpg individuales e impidiendo cualquierpregunta futura relacionada con el acceso a los archivos .jpg.

Finalmente, es posible que desee proporcionar un acceso más general a los archivosdel FTP. Si selecciona Global en la última entrada, logprof sustituye la vía sugerida de/y2k.jpg por /*. O bien es posible que desee proporcionar un acceso aún mayor atodo el árbol de directorios, en cuyo caso podría utilizar la opción de vía Nuevo eintroducir /**.jpg (que normalmente proporcionaría acceso a todos los archivos.jpg en todo el árbol de directorios) o bien /** (que proporcionaría acceso a todoslos archivos del árbol de directorios).

Los pasos descritos anteriormente se refieren al acceso de lectura. Los accesos deescritura son similares, excepto por el hecho de que es recomendable ser más conservadoren el uso de expresiones regulares para dicho tipo de acceso.

La gestión de los accesos de ejecución es más compleja. Deberá decidir cuáles de lostres tipos de permisos de ejecución desea otorgar:

heredar (ix)El elemento secundario hereda el perfil del principal, ejecutándose con los mismoscontroles de acceso que éste. Este modo resulta útil cuando un programa limitadonecesita llamar a otro programa limitado sin obtener los permisos del perfil deldestino o perder los permisos del perfil actual. Este modo suele utilizarse a menudocuando el programa secundario es una aplicación de ayuda, como el cliente /usr/bin/mail, que utiliza el programa inferior como un programa que divide enpáginas o el navegador WebMozilla, que utiliza el programa Acrobat para mostrarlos archivos PDF.

Creación de perfiles de Novell AppArmor 61

Page 70: Apparmor Admin Guide Es

perfil (px)El elemento secundario se ejecuta utilizando su propio perfil, que debe cargarse enel núcleo. Si el perfil no se encuentra presente, los intentos de ejecutar el elementosecundario no se efectúan correctamente, ya que se deniega el permiso. Resultaútil si el programa principal invoca a un servicio global, como la búsqueda enservidores DNS o el envío por correo mediante el MTA del sistema.

no limitado (ux)El elemento secundario se ejecuta completamente sin limitación, sin ningún perfilde Novell AppArmor aplicado al recurso ejecutado.

En el siguiente ejemplo, se está generando el perfil del cliente de correo /usr/bin/mail y logprof ha detectado que /usr/bin/mail ejecuta /usr/bin/less, unaaplicación de ayuda que “divide en páginas” los mensajes de correo largos. En conse-cuencia, presenta el siguiente indicador:/usr/bin/nail -> /usr/bin/less(H)eredar / (P)erfil / (N)o limitado / (D)enegar

SUGERENCIA

El archivo ejecutable real de /usr/bin/mail resulta ser /usr/bin/nail(no es un error tipográfico).

El programa /usr/bin/less parece ser un programa sencillo para desplazarse porel texto que tiene más de una pantalla de largo (y de hecho, es para lo que emplea/usr/bin/mail). No obstante, less es en realidad un programa grande y potenteque hace uso de muchas otras aplicaciones de ayuda, como tar y rpm.

SUGERENCIA

Ejecute less con un archivo tarball o un archivo RPM y accederá al inventariode estos contenedores.

No desea que rpm se ejecute automáticamente al leer mensajes de correo (esto conduciríadirectamente a ataques de virus similares a los de Microsoft* Outlook, dado que rpmpuede instalar y modificar programas en el sistema) por lo que, en este caso, la mejorelección es Heredar. De este modo, el programa less se ejecuta en este contexto con elperfil de /usr/bin/mail. Esto tiene dos consecuencias:

62 Guía de administración de Novell AppArmor 2.0

Page 71: Apparmor Admin Guide Es

• Deberá añadir todos los accesos a archivos básicos para /usr/bin/less al perfilde /usr/bin/mail.

• Podrá evitar añadir las aplicaciones de ayuda, como tar y rpm, al perfil de /usr/bin/mail, demodo que cuando/usr/bin/mail ejecute/usr/bin/mail/less en este contexto, el programa less sea menos peligroso de lo que resultaríasin la protección de Novell AppArmor.

En otras circunstancias, puede que sea preferible emplear la opción Perfil. Esto tienedos efectos en logprof:

• La regla escrita en el perfil es px, lo que fuerza la transición al perfil propio delelemento secundario.

• logprof construye un perfil para el elemento secundario y empieza a construirlo,del mismo modo que construye el perfil principal, atribuyendo eventos del procesosecundario al perfil secundario y haciendo preguntas como las anteriores al usuariode logprof.

Finalmente, es posible que desee proporcionar al proceso secundario un gran nivelacceso especificando No limitado. De esta forma se escribe ux en el perfil principal,de modo que, cuando el programa secundario se ejecute, lo hará sin que se apliqueningún perfil de Novell AppArmor en absoluto. Esto implica una ejecución sinprotección, y sólo debe emplearse cuando sea absolutamente necesario.

apparmor.vimUn archivo de coloreado de sintaxis para el editor de texto vim destaca con colores lasdistintas funciones de un perfil de Novell AppArmor. Mediante vim y el modo desintaxis de Novell AppArmor, podrá ver las implicaciones semánticas de los perfilesgracias a los colores destacados. Utilice vim para ver y editar los perfiles, escribiendovim en una ventana de terminal.

Para habilitar los colores de sintaxis al editar un perfil de Novell AppArmor en vim,utilice los comandos :syntax on y, a continuación, :set syntax=apparmor.Si lo desea, puede incluir estas líneas en el archivo ~/.vimrc:syntax onset modelineset modelines=5

Creación de perfiles de Novell AppArmor 63

Page 72: Apparmor Admin Guide Es

Al habilitar esta función, vim aplicará colores a las líneas del perfil:

AzulLíneas #include que activan otras reglas y comentarios de Novell AppArmor,que comienzan por #.

BlancoLíneas normales de acceso de lectura.

MarrónDeclaraciones de capacidad e indicadores de queja.

AmarilloLíneas que proporcionan acceso de escritura.

VerdeLíneas que proporcionan permiso de ejecución (ix o px).

RojoLíneas que proporcionan acceso sin limitación (ux).

Fondo rojoErrores de sintaxis que no se cargarían correctamente en los módulos de AppArmor.

NOTA

Existe un riesgo de seguridad al emplear estas líneas en el archivo .vimrc,dado que harían que vim confiase en el modo de sintaxis presentado en losarchivos que está editando. Un atacante podría enviar un archivo de vimdiseñado para llevar a cabo acciones peligrosas al abrirse.

Utilice las páginas Man sobre apparmor.vim y vim y la sintaxis :help desde eleditor vim para obtener ayuda adicional sobre la función para destacar la sintaxis. Lasintaxis de Novell AppArmor se almacena en /usr/share/vim/current/syntax/apparmor.vim.

UnconfinedEl comando unconfined examina los puertos de red abiertos del sistema, los comparacon el conjunto de perfiles cargados en el sistema y emite un informe sobre los servicios

64 Guía de administración de Novell AppArmor 2.0

Page 73: Apparmor Admin Guide Es

de red que no disponen de perfiles de Novell AppArmor. Requiere privilegios de usuarioRoot y no estar limitado por un perfil de Novell AppArmor.

El comando unconfined debe ejecutarse como usuario Root para recuperar el enlace alejecutable del proceso desde el sistema de archivos de procesos. Este programa essusceptible a las siguientes limitaciones de ejecución:

• Gestión incorrecta de los ejecutables no enlazados.

• Los ejecutables iniciados antes de que se cargara su perfil de Novell AppArmor noaparecen en los resultados, aunque se estén ejecutando sin limitación.

• Los procesos finalizados entre netstat(8) y las comprobaciones sucesivas nose gestionan.

NOTA

El programa sólo registra los procesos que utilizan los protocolos TCP y UDP.En resumen, este programa no es adecuado para usos forenses y sólo seproporciona como ayuda para aplicar perfiles a todos los procesos que accedena la red.

Para obtener más información sobre los fundamentos científicos y la seguridad deNovell AppArmor, consulte los siguientes documentos:

SubDomain: Parsimonious Server Security (SubDomain: Seguridad austera paraservidores) de Crispin Cowan, Steve Beattie, Greg Kroah-Hartman, Calton Pu, PerryWagle y Virgil Gligor.

Describe el diseño y la implementación iniciales de Novell AppArmor. Publicadoen las actas de la conferencia USENIX LISA (diciembre de 2000, Nueva Orleans,Luisiana).

Este documento no está actualizado y describe una sintaxis y funciones que sediferencian del producto Novell AppArmor actual. Este documento sólo debeutilizarse como material científico y no como documentación técnica.

Defcon Capture the Flag: Defending Vulnerable Code from Intense Attack (Defcon,capturar la bandera: defensa de código vulnerable ante ataques intensivos) de CrispinCowan, Seth Arnold, Steve Beattie, Chris Wright y John Viega.

Una buena guía para el uso táctico y estratégico de Novell AppArmor para resolverprogramas de seguridad serios en un breve período de tiempo. Publicado en las

Creación de perfiles de Novell AppArmor 65

Page 74: Apparmor Admin Guide Es

actas de la conferencia y exposición de supervivencia de la información de DARPA(DISCEX III), en abril de 2003 (Washington, DC).

3.6 Nombres de vías y englobamientoEl englobamiento (o la coincidencia de expresiones regulares) consiste en modificar lavía de directorios utilizando comodines para incluir un grupo de archivos o subdirec-torios. Los recursos de archivos se pueden especificar con una sintaxis global similara la utilizada en shells populares como csh, bash y zsh.

Sustituye a cualquier número de caracteres,excepto /.

*

Ejemplo: un número arbitrario de elementos dela vía, incluidos directorios completos.

Sustituye a cualquier número de caracteres,incluido /.

**

Ejemplo: un número arbitrario de elementos dela vía, incluidos directorios completos.

Sustituye a cualquier carácter independiente,excepto /.

?

Sustituye a los caracteres independientes a, b oc.

[abc]

Ejemplo: una regla que coincida con/home[01]/*/.plan permite a un programaacceder a los archivos .plan a los usuarios de/home0 y /home1.

Sustituye a los caracteres independientes a, b oc.

[a-c]

Una regla coincide con ab y con cd al mismotiempo.

{ab,cd}

66 Guía de administración de Novell AppArmor 2.0

Page 75: Apparmor Admin Guide Es

Ejemplo: una regla que coincida con/{usr,www}/pages/** proporcionaráacceso a las páginas Web de /usr/pages y/www/pages.

3.7 Modos de permiso de acceso aarchivos

Los modos de permiso de acceso a archivos consisten en combinaciones de los seismodos siguientes:

modo de lecturar

modo de escrituraw

modo de ejecución discreta de perfilespx

modo de ejecución sin restriccionesux

modo de ejecución heredadoix

modo de enlacel

3.7.1 Modo de lecturaProporciona al programa acceso de lectura al recurso. El acceso de lectura es necesariopara los guiones de shell y otro tipo de contenido interpretado, y determina si el núcleode un proceso en ejecución puede volcarse o si el proceso puede adjuntarse a otromediante el comando ptrace(2) [ptrace(2) es un comando empleado por utili-dades como strace(1), ltrace(1) y gdb(1)].

Creación de perfiles de Novell AppArmor 67

Page 76: Apparmor Admin Guide Es

3.7.2 Modo de escrituraProporciona al programa acceso de escritura al recurso. Los archivos deben disponerde este permiso para que sea posible cancelar su enlace (eliminarlos).

3.7.3 Modo de ejecución discreta de perfilesEste modo requiere que se haya definido un perfil de seguridad discreto para un recursoejecutado en una transición de dominio de Novell AppArmor. Si no hay ningún perfildefinido, se deniega el acceso. Es incompatible con las entradas de ejecución heredary sin restricciones.

3.7.4 Modo de ejecución sin restriccionesPermite al programa ejecutar el recurso sin aplicar ningún perfil de Novell AppArmor.Requiere que también se incluya el modo de ejecución. Es incompatible con las entradasde ejecución heredar y de perfil discreto.

Este modo resulta útil cuando un programa limitado debe llevar a cabo una operacióncon privilegios, como reiniciar el equipo. Al colocar la sección con privilegios en otroejecutable y proporcionar derechos de ejecución sin restricciones, es posible omitir lasrestricciones obligatorias impuestas a todos los procesos limitados. Para obtener másinformación acerca de lo que significan las restricciones, consulte la página Man sobreapparmor(7).

3.7.5 Modo de ejecución heredadoImpide la transición normal de dominios de Novell AppArmor en execve(2) cuandoel programa del perfil ejecuta el recurso. En lugar de ello, el recurso ejecutado heredael perfil actual. Es incompatible con las entradas de ejecución sin restricciones y deperfil discreto. Este modo resulta útil cuando un programa limitado necesita llamar aotro programa limitado sin obtener los permisos del perfil del destino o perder lospermisos del perfil actual. Este modo se utiliza con muy poca frecuencia.

68 Guía de administración de Novell AppArmor 2.0

Page 77: Apparmor Admin Guide Es

3.7.6 Modo de enlaceEl modo de enlace media entre el acceso a enlaces simbólicos y físicos y el privilegiopara anular el enlace de los archivos (suprimirlos). Cuando se crea un enlace, el archivoque lo recibe debe disponer de los mismos permisos de acceso que el enlace creado(con la excepción de que el destino no tiene que disponer necesariamente de acceso alenlace).

Creación de perfiles de Novell AppArmor 69

Page 78: Apparmor Admin Guide Es
Page 79: Apparmor Admin Guide Es

4Gestión de aplicaciones con perfilesTras crear perfiles e inmunizar las aplicaciones, SUSE Linux es más efectivo y quedamás protegido si se lleva a cabo un mantenimiento de los perfiles de Novell AppArmor,lo que implica realizar un seguimiento de los asuntos conflictivos comunes. Es posibletratarlos antes de que se conviertan en problemas estableciendo notificaciones de eventospor correo electrónico, efectuando informes periódicos, actualizando perfiles desde lasentradas del registro del sistema (que básicamente consiste en ejecutar la herramientalogprof mediante YaST), o llevando a cabo las tareas demantenimiento. En las siguientessecciones se ofrecen detalles para realizar estas tareas:

• Sección 4.1, “Monitorización de las aplicaciones protegidas” (p. 71)

• Sección 4.5, “Mantenimiento de los perfiles de seguridad” (p. 99).

4.1 Monitorización de las aplicacionesprotegidas

Las aplicaciones limitadas por los perfiles de seguridad de Novell AppArmor generanmensajes cuando se ejecutan de formas inesperadas o fuera de su perfil indicado. Esposible monitorizar estos mensajes mediante notificaciones de eventos, generandoinformes periódicos o mediante la integración en mecanismos de informes de otrosfabricantes. En las siguientes secciones se ofrece información detallada sobre el uso deestas funciones y sobre cómo localizar recursos adicionales.

• Sección 4.2, “Establecimiento de notificaciones de eventos” (p. 72)

Gestión de aplicaciones con perfiles 71

Page 80: Apparmor Admin Guide Es

• Sección 4.3, “Informes” (p. 76)

• Sección 4.4, “Reacción a los eventos de seguridad” (p. 98)

4.2 Establecimiento de notificacionesde eventos

La notificación de eventos de seguridad es una función de Novell AppArmor queinforma a un destinatario concreto por correo electrónico cuando se produce unaactividad sistemática de Novell AppArmor. Esta función está disponible actualmentea través de YaST.

Al introducir una dirección de correo electrónico, se le notificará por este medio cuandose produzcan eventos de seguridad de Novell AppArmor. Se pueden activar tres tiposde notificaciones:

Notificaciones simplesLas notificaciones simples muestran un resumen del número total de eventos sinofrecer detalles. Por ejemplo:dhcp-101.up.wirex.com has had 10 security events since Tue Oct 12 11:10:00 2004

Notificación de resumenLa notificación de resumen muestra los eventos de seguridad de Novell AppArmorregistrados y presenta una lista del número de apariciones individuales, incluida lafecha de la última aparición. Por ejemplo:AppArmor: PERMITIENDO acceso a la capacidad 'setgid' (httpd2-prefork(6347) perfil /usr/sbin/httpd2-prefork activo /usr/sbin/httpd2-prefork) 2 veces, la última el Sáb 9 Oct 16:05:54 2004.

Notificación detalladaLa notificación detallada muestra los eventos de seguridad de Novell AppArmorregistrados sin modificaciones. Informa siempre que ocurre un evento y escribeuna línea nueva en el registro detallado. Estos eventos de seguridad incluyen lafecha y la hora en la que se produjeron, si el perfil de la aplicación ha permitido orechazado el acceso y el tipo de permiso de acceso al archivo que se permite o serechaza. La notificación detallada también genera variosmensajes que la herramientalogprof (consulte “logprof” (p. 57)) utiliza para interpretar los perfiles. Por ejemplo:

72 Guía de administración de Novell AppArmor 2.0

Page 81: Apparmor Admin Guide Es

Oct 9 15:40:31 AppArmor: PERMITTING r access to /etc/apache2/httpd.conf (httpd2-prefork(6068) profile /usr/sbin/httpd2-prefork active /usr/sbin/httpd2-prefork)

NOTA

Para configurar la notificación de eventos, consulte la Sección 4.2.2, “Configu-ración de la notificación de eventos de seguridad” (p. 73). Después de confi-gurar la notificación de eventos de seguridad, lea los informes para determinarsi los eventos requieren que se les haga un seguimiento. Este seguimiento puedeincluir los procedimientos descritos en la Sección 4.4.1, “Recepción de unrechazo de evento de seguridad” (p. 98).

4.2.1 Notificación del nivel de gravedadSe puede configurar Novell AppArmor para que envíe mensajes de eventos para loselementos presentes en la base de datos de gravedad y cuya gravedad sea superior alnivel seleccionado. La gravedad se mide en una escala del uno al diez, siendo el diezel incidente de seguridad más grave. En el archivo severity.db se definen losniveles de gravedad de los eventos de seguridad potenciales. Estos niveles vienendeterminados por la importancia de los distintos eventos de seguridad, por ejemplo sise accede a ciertos recursos o se deniegan servicios.

4.2.2 Configuración de la notificación deeventos de seguridad

La notificación de eventos de seguridad es una función de Novell AppArmor queinforma si se produce una actividad sistemática de Novell AppArmor. Al seleccionaruna frecuencia de notificación (por ejemplo, recibir notificaciones diarias), se activa lanotificación. Deberá introducir una dirección de correo electrónico para que se lenotifique por este medio cuando se produzcan eventos de seguridad de NovellAppArmor.

Gestión de aplicaciones con perfiles 73

Page 82: Apparmor Admin Guide Es

NOTA

En SUSE Linux se debe instalar un servidor de correo que pueda enviar correosaliente mediante el protocolo SMTP (por ejemplo, postfix o exim) para quefuncione la notificación de eventos.

1 En la sección Habilitar notificación de eventos de seguridad de la ventanaConfiguración de AppArmor, haga clic en Configurar.

2 En la ventana Notificación de eventos de seguridad tiene la opción de habilitartres tipos de notificación de eventos:Notificación simple, Notificación de resumeno Notificación detallada, que se definen en la Sección 4.2.1, “Notificación delnivel de gravedad” (p. 73). Para que se le envíen mensajes de correo electrónicode notificación con los eventos de seguridad de Novell AppArmor recientes,determine sus preferencias de tipo de notificación.

3 Introduzca las direcciones de correo electrónico de los usuarios que deban recibirlas notificaciones en el campo al efecto de cada sección de tipo de notificaciónaplicable. Si las notificaciones están habilitadas, deberá introducir una direcciónde correo electrónico. Si no lo hace, recibirá un mensaje de error. Separe lasdistintas direcciones con comas.

74 Guía de administración de Novell AppArmor 2.0

Page 83: Apparmor Admin Guide Es

4 Seleccione la frecuencia de notificación para cada tipo de notificación que deseehabilitar.

Seleccione una de estas opciones de frecuencia de notificación:

• Inhabilitado

• 1 minuto

• 5 minutos

• 10 minutos

• 15 minutos

• 30 minutos

• 1 hora

• 1 día

• 1 semana

5 Para cada tipo de notificación seleccionada, elija el nivel de gravedad más bajopor el que se enviará una notificación. Los eventos de seguridad se registran ylas notificaciones se envían en el momento indicado por el intervalo si los eventostienen el nivel de seguridad seleccionado, o uno más alto. Si el intervalo es 1 día,la notificación se enviará a diario si se producen eventos de seguridad. Consultela Sección 4.2.1, “Notificación del nivel de gravedad” (p. 73) para obtener másinformación acerca de los niveles de seguridad.

6 Haga clic en Aceptar.

7 Haga clic en Terminado en la ventana Configuración de Novell AppArmor.

8 Haga clic en Archivo→ Salir en el Centro de control de YaST.

Gestión de aplicaciones con perfiles 75

Page 84: Apparmor Admin Guide Es

4.3 InformesLa función de creación de informes de Novell AppArmor añade flexibilidad, al mejorarla forma en que los usuarios pueden ver los datos de los eventos de seguridad. Laherramienta de creación de informes hace lo siguiente:

• Crea informes a petición.

• Exporta informes.

• Programa informes periódicos para archivar.

• Envía por correo electrónico informes periódicos.

• Filtra datos de informe por fecha.

• Filtra datos de informe por otros criterios, como el nombre del programa.

Mediante el uso de informes, es posible leer información importante sobre los eventosde seguridad de Novell AppArmor incluida en los archivos de registro sin tener queescudriñar manualmente en la maraña de mensajes que sólo resultan de utilidad parala herramienta logprof. Se puede reducir el tamaño del informe filtrando por periodode tiempo o por nombre de programa. También es posible exportar un archivo htmlo csv.

Estos son los tres tipos de informes disponibles en Novell AppArmor:

Resumen ejecutivo de seguridadEs un informe combinado que consta de uno o más informes de incidentes deseguridad provenientes de uno omás equipos. Este informe puede ofrecer una vistaunificada de los eventos de seguridad en varias máquinas. Para obtener más infor-mación, consulte “Resumen ejecutivo de seguridad” (p. 86).

Informe de auditoría de aplicacionesSe trata de una herramienta de auditoría que informa sobre qué servidores deaplicaciones se están ejecutando y si las aplicaciones están siendo limitadas porNovell AppArmor. Los servidores de aplicaciones son aplicaciones que aceptanconexiones de red entrantes. Para obtener más información, consulte “Informe deauditoría de aplicaciones” (p. 82).

76 Guía de administración de Novell AppArmor 2.0

Page 85: Apparmor Admin Guide Es

Informe de incidentes de seguridadSe trata de un informe que muestra la seguridad de las aplicaciones de un sólo host.Informa sobre violaciones de directivas realizadas por aplicaciones limitadaslocalmente durante un periodo concreto de tiempo. Este informe se puede editar ypersonalizar o añadir nuevas versiones. Para obtener más información, consulte“Informe de incidentes de seguridad” (p. 84).

Para utilizar las funciones de creación de informes de Novell AppArmor, siga esteprocedimiento:

1 Para ejecutar informes, abra YaST→ Novell AppArmor. Se abrirá la interfaz deNovell AppArmor.

2 En Novell AppArmor, haga clic en Informes de AppArmor. Se abrirá la ventanaInforme de evento de seguridad de AppArmor. Seleccione una opción en laventana Informes y diríjase a la siguiente sección para obtener más instrucciones:

Gestión de aplicaciones con perfiles 77

Page 86: Apparmor Admin Guide Es

Ver archivoMuestra todos los informes que se han ejecutado y almacenado en /var/log/apparmor/reports-archived/. Seleccione el informe quedesee ver en detalle y haga clic en Ver. Para ver instrucciones sobre la opciónVer archivo, diríjase a la Sección 4.3.1, “Visualización de los informesarchivados” (p. 79).

Ejecutar ahoraProduce una versión instantánea del tipo de informe seleccionado. Si selec-ciona un informe de incidentes de seguridad, podrá filtrarlo de varias formas.Para ver instrucciones sobre la opción Ejecutar ahora, diríjase a laSección 4.3.2, “Ejecutar ahora: ejecución de informes a petición” (p. 88).

AñadirPermite crear un informe de incidentes de seguridad programado. Para verinstrucciones sobre la opción Añadir, diríjase a la Sección 4.3.3, “Adiciónde informes nuevos” (p. 91).

EditarPermite editar un informe de incidentes de seguridad programado.

SuprimirSuprime un informe de incidentes de seguridad programado. Los informesbursátiles o empaquetados no se pueden suprimir.

78 Guía de administración de Novell AppArmor 2.0

Page 87: Apparmor Admin Guide Es

AtrásVuelve a la pantalla principal de Novell AppArmor.

AbortarVuelve a la pantalla principal de Novell AppArmor.

SiguienteRealiza la misma función que el botón Ejecutar ahora.

4.3.1 Visualización de los informesarchivados

La opción Ver informes permite especificar la ubicación de gran número de informesde uno o más sistemas, además de incluir la habilidad de filtrar por fechas o por losnombres de los programas a los que se ha accedido y mostrarlos todos juntos en uninforme.

1 En la ventana Informe de evento de seguridad de AppArmor, seleccione Verarchivo.

Gestión de aplicaciones con perfiles 79

Page 88: Apparmor Admin Guide Es

2 Seleccione el tipo de informe que desea ver. Puede cambiar de un tipo a otro:SIR (Informe de incidentes de seguridad), App Aud (Auditoría de aplicaciones)y ESS (Resumen ejecutivo de seguridad).

3 Se puede modificar la ubicación del directorio de los informes archivados enUbicación de informes archivados. Seleccione Aceptar para utilizar el directorioactual o Examinar para buscar una ubicación de informes nueva. El directoriopor defecto es /var/log/apparmor/reports-archived/.

4 Para ver todos los informes archivados, seleccione Ver todo. Para ver un informeespecífico, seleccione un archivo de informe del campo Informe y haga clic enVer.

5 Para los informes Auditoría de aplicaciones y Resumen ejecutivo de seguridad,continúe en el Paso 9 (p. 82).

6 Se abrirá el Cuadro de diálogo de configuración de informes para el Informe deincidentes de seguridad.

7 El Cuadro de diálogo de configuración de informes permite filtrar los informesseleccionados en la pantalla anterior. Escriba los detalles de filtro deseados. Loscampos son:

80 Guía de administración de Novell AppArmor 2.0

Page 89: Apparmor Admin Guide Es

Rango de fechasPara mostrar los informes de un periodo de tiempo concreto, seleccioneFiltrar por intervalo de fechas. Introduzca las fechas de inicio y final quedefinan el alcance del informe.

Nombre de programaSi introduce un nombre de programa o un patrón que coincida con el nombredel archivo binario ejecutable del programa que le interesa, el informemostrará los eventos de seguridad que se hayan producido para ese programaespecífico.

Nombre de perfilSi se introduce el nombre del perfil, el informe mostrará los eventos deseguridad que se hayan generado para el perfil especificado. Puede utilizarlopara comprobar qué limita un perfil específico.

Número PIDEl Número PID es un número que identifica exclusivamente un procesoconcreto o un programa en ejecución (este número sólo será válido durantela duración del proceso).

Nivel de gravedadSeleccione el nivel de gravedad más bajo de los eventos de seguridad quese deban incluir en el informe. Se incluirán en los informes los eventos delnivel de gravedad seleccionado y los de gravedad mayor.

DetallesUn origen al que el perfil ha denegado el acceso, incluidas las capacidadesy los archivos. Se puede utilizar este campo para hacer un informe de losrecursos a los que los perfiles impiden el acceso.

Tipo de accesoEl tipo de acceso describe lo que está ocurriendo en realidad con el eventode seguridad. Las opciones son: permiso, rechazo o auditoría.

ModoElModo es el permiso que el perfil otorga al programa o al proceso al quese aplica. Las opciones son: r (lectura) w (escritura) l (enlace) x (ejecutar).

Gestión de aplicaciones con perfiles 81

Page 90: Apparmor Admin Guide Es

Tipo de exportaciónPermite exportar un archivo CSV (valores separados por comas) o HTML.El archivo CSV separa datos de las entradas de registro con comas utilizandoun formato estándar de datos para que se puedan importar en aplicacionesorientadas a tablas. Se puede introducir una vía para el informe exportadoescribiendo la vía completa en el campo al efecto.

Ubicación de almacenamiento del registroPermite cambiar la ubicación de almacenamiento del informe exportado. Laubicación por defecto es/var/log/apparmor/reports-exported.Si cambia esta ubicación, haga clic en Aceptar. Seleccione Examinar paradesplazarse por el sistema de archivos.

8 Para ver el informe, con los filtros oportunos, seleccione Siguiente. Se mostraráuno de los tres informes.

9 Consulte las secciones siguientes para obtener información detallada sobre cadatipo de informe.

• Para el informe de auditoría de aplicaciones, consulte “Informe de auditoríade aplicaciones” (p. 82).

• Para el informe de incidentes de seguridad, consulte “Informe de incidentesde seguridad” (p. 84).

• Para el informe de resumen ejecutivo, consulte “Resumen ejecutivo deseguridad” (p. 86).

Informe de auditoría de aplicacionesHerramienta de auditoría que informa de los servidores de aplicaciones que se estánejecutando y de si AppArmor está limitando las aplicaciones. Los servidores deaplicaciones son aplicaciones que aceptan conexiones de red entrantes. Este informeproporciona la dirección IP del equipo host, la fecha en la que se realizó el informe deauditoría de la aplicación, el nombre y la vía del programa sin limitación o del servidorde la aplicación, el perfil sugerido o un espacio reservado para un perfil para un programasin limitación, el número ID del proceso, el estado del programa (si está limitado o no)y el tipo de limitación que está efectuando el perfil (aplicación o queja).

82 Guía de administración de Novell AppArmor 2.0

Page 91: Apparmor Admin Guide Es

La siguiente pantalla representa un informe de auditoría de aplicación:

A continuación se definen los campos del informe de auditoría de aplicación:

HostEl equipo protegido por AppArmor sobre cuyos eventos de seguridad se estáinformando.

FechaLa fecha en la que se produjeron los eventos de seguridad.

ProgramaEl nombre del proceso en ejecución.

PerfilEl nombre completo del perfil de seguridad que se aplica al proceso.

PIDEl número PID del proceso es un número que identifica exclusivamente un procesoconcreto o un programa en ejecución (este número sólo será válido durante laduración del proceso).

Gestión de aplicaciones con perfiles 83

Page 92: Apparmor Admin Guide Es

EstadoEste campo indica si el programa presente en el campo de programa está limitado.Si no lo está, debería plantearse crear un perfil para él.

TipoEste campo indica el tipo de limitación que representa el evento de seguridad:aplicación o queja. Si la aplicación no está limitada (estado), no se informará deningún tipo de limitación.

Informe de incidentes de seguridadSe trata de un informe que muestra los eventos de seguridad de interés para losadministradores. El SIR informa sobre violaciones de directivas realizadas por aplica-ciones limitadas localmente durante un periodo concreto de tiempo. Estos informespresentan las excepciones de la directiva y los cambios de estado del motor de ladirectiva. Estos dos tipos de eventos de seguridad se definen de la siguiente forma:

Excepciones de la directivaCuando una aplicación solicita un recurso que no está definido dentro de su perfil,se activa un evento de seguridad. Se genera un informe que muestra los eventosde seguridad de interés para los administradores. El SIR informa sobre violacionesde directivas realizadas por aplicaciones limitadas localmente durante un periodoconcreto de tiempo. Estos informes presentan las excepciones de la directiva y loscambios de estado del motor de la directiva.

Cambios de estado del motor de la directivaAplica la directiva para las aplicaciones y mantiene su propio estado, incluido silos motores se inician o se detienen, si se vuelve a cargar una directiva y si lafunción de seguridad global está habilitada o no.

La siguiente pantalla representa un informe de incidentes de seguridad:

84 Guía de administración de Novell AppArmor 2.0

Page 93: Apparmor Admin Guide Es

A continuación se definen los campos del informe de incidentes de seguridad:

HostEl equipo protegido por AppArmor sobre cuyos eventos de seguridad se estáinformando.

FechaLa fecha en la que se produjeron los eventos de seguridad.

ProgramaEl nombre del proceso en ejecución.

PerfilEl nombre completo del perfil de seguridad que se aplica al proceso.

PIDEl número PID del proceso es un número que identifica exclusivamente un procesoconcreto o un programa en ejecución (este número sólo será válido durante laduración del proceso).

GravedadLos niveles de seguridad de los eventos se toman de la base de datos de gravedad.En esta base de datos se define la importancia de los eventos potenciales de

Gestión de aplicaciones con perfiles 85

Page 94: Apparmor Admin Guide Es

seguridad. La gravedad se mide en una escala del uno al diez, siendo el diez elincidente de seguridad más grave. Estos niveles vienen determinados por laimportancia o el grado de amenaza de los distintos eventos de seguridad, por ejemplosi se accede a ciertos recursos o se deniegan servicios.

ModoEl modo es el permiso que el perfil otorga al programa o al proceso al que se aplica.Las opciones son: r (lectura) w (escritura) l (enlace) y x (ejecutar).

DetallesUn origen al que el perfil ha denegado el acceso, incluidas las capacidades y losarchivos. Se puede utilizar este campo para hacer un informe de los recursos a losque los perfiles impiden el acceso.

Tipo de accesoEl tipo de acceso describe lo que está ocurriendo en realidad con el evento deseguridad. Las opciones son: permiso, rechazo o auditoría.

Resumen ejecutivo de seguridadEs un informe combinado que consta de uno o más informes de alto nivel provenientesde uno o más equipos. Este informe puede ofrecer una vista unificada de los eventosde seguridad de varias máquinas, si los datos de estos equipos se copian en el directoriode archivo de informes,/var/log/apparmor/reports-archived. Este informeproporciona la dirección IP del equipo host, las fechas de inicio y fin de los eventossondeados, el número total de rechazos, el número total de eventos, los niveles mediosde gravedad registrados y el nivel de seguridad más alto registrado. Una línea de esteinforme representa un rango de informes de incidentes de seguridad.

En la siguiente pantalla se muestra un resumen ejecutivo de seguridad.

86 Guía de administración de Novell AppArmor 2.0

Page 95: Apparmor Admin Guide Es

A continuación se definen los campos del resumen ejecutivo de seguridad:

HostEl equipo protegido por AppArmor sobre cuyos eventos de seguridad se estáinformando.

Fecha de inicioLa fecha de inicio del periodo para el que se está creando el informe de eventos deseguridad.

Fecha de finalizaciónLa fecha de finalización del periodo para el que se está creando el informe deeventos de seguridad.

Número de rechazosEn el periodo indicado, el número total de eventos de seguridad consistentes enintentos de acceso rechazados.

Número de eventosEn el periodo indicado, el número total de eventos de seguridad.

Gestión de aplicaciones con perfiles 87

Page 96: Apparmor Admin Guide Es

Gravedad mediaLa media de los niveles de gravedad registrados en el periodo indicado. Los eventosde gravedad desconocida no se tienen en cuenta en este cálculo.

Gravedad más altaLa gravedad del evento de gravedad más alta registrado en el periodo indicado.

4.3.2 Ejecutar ahora: ejecución de informesa petición

La función de informes Ejecutar ahora permite extraer de manera instantánea infor-mación de informes de los registros de eventos de Novell AppArmor sin tener queesperar a los eventos programados. Vuelva al principio de esta sección si necesita ayudapara volver a la pantalla principal de informes (consulte la Sección 4.3, “Informes”(p. 76)). Lleve a cabo estos pasos para ejecutar un informe de la lista:

1 Seleccione el informe que desee ejecutar de forma inmediata en la lista deinformes de la ventana Programar informes.

2 Seleccione Ejecutar ahora o Siguiente. La siguiente pantalla dependerá delinforme que haya seleccionado en el paso anterior. Para los informes Auditoríade aplicaciones y Resumen ejecutivo de seguridad, continúe en el Paso 6 (p. 90).

3 Se abrirá el Cuadro de diálogo de configuración de informes para los Informesde incidentes de seguridad.

88 Guía de administración de Novell AppArmor 2.0

Page 97: Apparmor Admin Guide Es

4 El Cuadro de diálogo de configuración de informes permite filtrar los informesseleccionados en la pantalla anterior. Escriba los detalles de filtro deseados. Estándisponibles las opciones siguientes de filtro:

Rango de fechasPara limitar los informes a un periodo de tiempo concreto, seleccioneFiltrarpor intervalo de fechas. Introduzca las fechas de inicio y final que determinenel alcance del informe.

Nombre de programaSi introduce un nombre de programa o un patrón que coincida con el nombredel archivo binario ejecutable del programa que le interesa, el informemostrará los eventos de seguridad que se hayan producido sólo para elprograma especificado.

Nombre de perfilSi se introduce el nombre del perfil, el informe mostrará los eventos deseguridad que se hayan generado para el perfil especificado. Puede utilizarlopara comprobar qué limita un perfil específico.

Gestión de aplicaciones con perfiles 89

Page 98: Apparmor Admin Guide Es

Número PIDEl número PID del proceso es un número que identifica exclusivamente unproceso concreto o un programa en ejecución (este número sólo será válidodurante la duración del proceso).

Nivel de gravedadSeleccione el nivel de gravedad más bajo de los eventos de seguridad quese deban incluir en el informe. Se incluirán en los informes los eventos delnivel de gravedad seleccionado y los de gravedad mayor.

DetallesUn origen al que el perfil ha denegado el acceso, incluidas las capacidadesy los archivos. Se puede utilizar este campo para hacer un informe de losrecursos a los que los perfiles impiden el acceso.

Tipo de accesoEl tipo de acceso describe lo que está ocurriendo en realidad con el eventode seguridad. Las opciones son: permiso, rechazo o auditoría.

ModoEl modo es el permiso que el perfil otorga al programa o al proceso al quese aplica. Las opciones son: r (lectura) w (escritura) l (enlace) y x (ejecutar).

Tipo de exportaciónPermite exportar un archivo CSV (valores separados por comas) o HTML.El archivo CSV separa datos de las entradas de registro con comas utilizandoun formato estándar de datos para que se puedan importar en aplicacionesorientadas a tablas. Se puede introducir una vía para el informe exportadoescribiendo la vía completa en el campo al efecto.

Ubicación de almacenamiento del registroPermite cambiar la ubicación de almacenamiento del informe exportado. Laubicación por defecto es/var/log/apparmor/reports-exported.Si cambia esta ubicación, haga clic en Aceptar. Seleccione Examinar paradesplazarse por el sistema de archivos.

5 Para ver el informe, con los filtros oportunos, seleccione Siguiente. Se mostraráuno de los tres informes.

6 Consulte las secciones siguientes para obtener información detallada sobre cadatipo de informe.

90 Guía de administración de Novell AppArmor 2.0

Page 99: Apparmor Admin Guide Es

• Para el informe de auditoría de aplicaciones, consulte “Informe de auditoríade aplicaciones” (p. 82).

• Para el informe de incidentes de seguridad, consulte “Informe de incidentesde seguridad” (p. 84).

• Para el informe de resumen ejecutivo, consulte “Resumen ejecutivo deseguridad” (p. 86).

4.3.3 Adición de informes nuevosLa adición de nuevos informes permite crear un informe de incidentes de seguridadprogramado quemuestre los eventos de seguridad de Novell AppArmor según los filtrosdefinidos previamente. Si los informes están configurados con la opción Programarinformes, se generará periódicamente un informe de los eventos de seguridad de NovellAppArmor que se hayan producido en el sistema.

Es posible configurar que se genere un informe diario, semanal, mensual o cada horadurante el periodo de tiempo especificado. Se puede establecer que los informesmuestrenlos rechazos de niveles de seguridad concretos o que realicen un filtro por nombre deprograma, nombre de perfil, nivel de seguridad o recursos denegados. Este informe sepuede exportar a un archivo HTML (lenguaje de marcas de hipertexto) o CSV (valoresseparados por comas).

NOTA

Vuelva al principio de esta sección si necesita ayuda para volver a la pantallaprincipal de informes (consulte la Sección 4.3, “Informes” (p. 76)).

Para añadir un nuevo informe de incidentes de seguridad programado, haga lo siguiente:

1 Haga clic en Añadir para crear un nuevo informe de incidentes de seguridad. Seabrirá la primera página de Añadir SIR programado.

Gestión de aplicaciones con perfiles 91

Page 100: Apparmor Admin Guide Es

2 Complete los campos con la siguiente información de filtro, según se precise:

Nombre de informeEspecifique el nombre del informe. Utilice nombres que permitan diferenciarclaramente los informes entre sí.

Día del mesSeleccione el día del mes en el que se efectuarán los informes mensuales. Siselecciona Todo, los filtros mensuales no se aplicarán.

Día de la semanaSeleccione el día de la semana en el que se efectuarán los informes semanales,si se desea. Si selecciona Todo, los filtros semanales no se aplicarán. Siestán activados los informes mensuales, este campo estará definido pordefecto en Todo.

Hora y MinutoPermite seleccionar la hora. De esta forma se indica la hora y el minuto enlos que desea que se efectúe el informe. Si no cambia la hora, los informesseleccionados se ejecutarán a media noche. Si no se han seleccionado nivalores de mes ni de semana, el informe se efectuará todos los días a la horaespecificada.

Correo electrónico de destinoPuede enviar el informe de incidentes de seguridad programado por correoelectrónico hasta a tres destinatarios. Sólo hay que introducir las direccioneselectrónicas de los usuarios que necesiten esta información.

92 Guía de administración de Novell AppArmor 2.0

Page 101: Apparmor Admin Guide Es

Tipo de exportaciónEsta opción permite exportar un archivo CSV (valores separados por comas)o HTML. El archivo CSV separa datos de las entradas de registro con comasutilizando un formato estándar de datos para que se puedan importar enaplicaciones orientadas a tablas. Se puede introducir una vía para el informeexportado escribiendo la vía completa en el campo al efecto.

Ubicación de almacenamiento del registroPermite cambiar la ubicación de almacenamiento del informe exportado. Laubicación por defecto es/var/log/apparmor/reports-exported.Si cambia esta ubicación, haga clic en Aceptar. Seleccione Examinar paradesplazarse por el sistema de archivos.

3 Haga clic en Siguiente para continuar a la segunda página del asistente AñadirSIR programado.

4 Complete los campos con la siguiente información de filtro, según se precise:

Nombre de programaEs posible indicar un nombre de programa o un patrón que coincida con elnombre del archivo binario ejecutable del programa que interese. Este informemuestra los eventos de seguridad que se hayan producido sólo para elprograma indicado.

Nombre de perfilEs posible indicar el nombre del perfil para el que se deban mostrar en elinforme los eventos de seguridad. Puede utilizarlo para comprobar qué limitaun perfil específico.

Gestión de aplicaciones con perfiles 93

Page 102: Apparmor Admin Guide Es

Número PIDEl número PID del proceso es un número que identifica exclusivamente unproceso concreto o un programa en ejecución (este número sólo será válidodurante la duración del proceso).

DetallesUn origen al que el perfil ha denegado el acceso, incluidas las capacidadesy los archivos. Se puede utilizar este campo para crear un informe de losrecursos a los que los perfiles impiden el acceso.

GravedadSeleccione el nivel de gravedad más bajo de los eventos de seguridad quese deban incluir en el informe. Se incluirán en los informes los eventos delnivel de gravedad seleccionado y los de gravedad mayor.

Tipo de accesoEl tipo de acceso describe lo que está ocurriendo en realidad con el eventode seguridad. Las opciones son: permiso, rechazo o auditoría.

ModoEl modo es el permiso que el perfil otorga al programa o al proceso al quese aplica. Las opciones son: r (lectura) w (escritura) l (enlace) y x (ejecutar).

5 Haga clic en Guardar para guardar este informe. Novell AppArmor volverá a laventana principal de Programar informes, donde aparecerá el informe reciénprogramado en la lista de informes.

4.3.4 Edición de informesEn la pantalla Informes de AppArmor es posible seleccionar y editar un informe. Losinformes bursátiles no se pueden editar ni suprimir.

NOTA

Vuelva al principio de esta sección si necesita ayuda para volver a la pantallaprincipal de informes (consulte la Sección 4.3, “Informes” (p. 76)).

Lleve a cabo estos pasos para ejecutar un informe de la lista:

94 Guía de administración de Novell AppArmor 2.0

Page 103: Apparmor Admin Guide Es

1 En la lista de informes de la ventana Programa informes, seleccione el informeque desee editar.

2 Haga clic en Editar para modificar el informe de incidentes de seguridad. Seabrirá la primera página de Editar SIR programado.

3 Introduzca la siguiente información de filtros, si es necesario:

Día del mesSeleccione el día del mes en el que se efectuarán los informes mensuales. Siselecciona Todo, los filtros mensuales no se aplicarán.

Día de la semanaSeleccione el día de la semana en el que se efectuarán los informes semanales.Si selecciona Todo, los filtros semanales no se aplicarán. Si están activadoslos informes mensuales, este campo estará definido por defecto en Todo.

Hora y MinutoPermite seleccionar la hora. De esta forma se indica la hora y el minuto enlos que desea que se efectúe el informe. Si no cambia la hora, el informeseleccionado se ejecutará a media noche. Si no se ha seleccionado ni el mesni el día de la semana, el informe se ejecutará todos los días a la hora indicada.

Correo electrónico de destinoPuede enviar el informe de incidentes de seguridad programado por correoelectrónico hasta a tres destinatarios. Sólo hay que introducir las direccioneselectrónicas de los usuarios que necesiten esta información.

Gestión de aplicaciones con perfiles 95

Page 104: Apparmor Admin Guide Es

Tipo de exportaciónEsta opción permite exportar un archivo CSV (valores separados por comas)o HTML. El archivo CSV separa datos de las entradas de registro con comasutilizando un formato estándar de datos para que se puedan importar enaplicaciones orientadas a tablas. Se puede introducir una vía para el informeexportado escribiendo la vía completa en el campo al efecto.

Ubicación de almacenamiento del registroPermite cambiar la ubicación de almacenamiento del informe exportado. Laubicación por defecto es/var/log/apparmor/reports-exported.Si cambia esta ubicación, haga clic en Aceptar. Seleccione Examinar paradesplazarse por el sistema de archivos.

4 Haga clic en Siguiente para continuar a la siguiente página del asistente EditarSIR programado. Se abrirá la segunda página de Editar SIR programado.

5 Complete los campos con la siguiente información de filtro, según se precise:

Nombre de programaEs posible indicar un nombre de programa o un patrón que coincida con elnombre del archivo binario ejecutable del programa que interese. Este informemuestra los eventos de seguridad que se hayan producido sólo para elprograma indicado.

Nombre de perfilEs posible indicar el nombre del perfil para el que se deban mostrar loseventos de seguridad. Puede utilizarlo para comprobar qué limita un perfilespecífico.

96 Guía de administración de Novell AppArmor 2.0

Page 105: Apparmor Admin Guide Es

Número PIDEl número PID del proceso es un número que identifica exclusivamente unproceso concreto o un programa en ejecución (este número sólo será válidodurante la duración del proceso).

DetallesUn origen al que el perfil ha denegado el acceso, incluidas las capacidadesy los archivos. Se puede utilizar este campo para crear un informe de losrecursos a los que los perfiles impiden el acceso.

GravedadSeleccione el nivel de gravedad más bajo de los eventos de seguridad quese deban incluir en el informe. Se incluirán en los informes los eventos delnivel de gravedad seleccionado y los de gravedad mayor.

Tipo de accesoEl tipo de acceso describe lo que está ocurriendo en realidad con el eventode seguridad. Las opciones son: permiso, rechazo o auditoría.

ModoEl modo es el permiso que el perfil otorga al programa o al proceso al quese aplica. Las opciones son: r (lectura) w (escritura) l (enlace) y x (ejecutar).

6 SeleccioneGuardar para guardar los cambios en este informe. Novell AppArmorvolverá a la ventana principal de Programar informes, donde aparecerá el informeprogramado en la lista de informes.

4.3.5 Supresión de informesLa opción Suprimir permite eliminar de forma permanente un informe de la lista deinformes programados de Novell AppArmor. Para suprimir un informe, siga estasinstrucciones:

1 Para eliminar un informe de la lista de informes, destáquelo y haga clic enSuprimir.

2 En el cuadro emergente de confirmación, haga clic en Cancelar si no deseasuprimir el informe seleccionado. Si está seguro de que desea eliminarlo de formapermanente, haga clic en Suprimir.

Gestión de aplicaciones con perfiles 97

Page 106: Apparmor Admin Guide Es

4.4 Reacción a los eventos deseguridad

Existen algunos problemas de mantenimiento comunes que se deben inspeccionarregularmente y solucionar según las reglas que haya establecido. A continuación sedescriben algunos problemas comunes de mantenimiento que puede encontrar:

• Sección 4.4.1, “Recepción de un rechazo de evento de seguridad” (p. 98).

• Sección 4.5.2, “Cambio de los perfiles de seguridad” (p. 100).

4.4.1 Recepción de un rechazo de eventode seguridad

Si recibe un rechazo, examine la violación de acceso y determine si el evento indica lapresencia de una amenaza o forma parte del comportamiento normal de la aplicación.Se requieren conocimientos específicos de la aplicación para determinarlo. Si el rechazoes parte del comportamiento normal, ejecutar logprof en la línea de comandos oAsistentepara actualizar perfiles en Novell AppArmor permitirá repetir el procedimiento entodos los mensajes de rechazo. Si se selecciona el que coincida con el rechazo concreto,se podrá actualizar automáticamente el perfil.

Si el rechazo no forma parte del comportamiento normal de la aplicación, este accesose considerará como un posible intento de intrusión (que se evitó) y esta notificaciónse enviará a la persona responsable de la seguridad de la organización.

4.4.2 Cambio de la seguridad de laaplicación

Los usuarios siempre pueden editar manualmente el perfil, utilizando el comando vimen la línea de comandos o la opción Editar perfil de YaST.

98 Guía de administración de Novell AppArmor 2.0

Page 107: Apparmor Admin Guide Es

4.5 Mantenimiento de los perfiles deseguridad

En un entorno de producción se debe programar el mantenimiento de los perfiles detodas las aplicaciones instaladas. Las directivas de seguridad son una parte integral dela instalación. Se debe programar y tomar medidas para realizar copias de seguridad yrestaurar los archivos de directivas de seguridad, programar los cambios del softwarey permitir cualquier modificación de las directivas de seguridad necesaria según dicteel entorno. Estos elementos se tratan en las secciones siguientes:

• Sección 4.5.1, “Copia de seguridad de los perfiles de seguridad” (p. 99).

• Sección 4.5.2, “Cambio de los perfiles de seguridad” (p. 100).

• Sección 4.5.3, “Introducción de nuevo software en el entorno” (p. 100).

4.5.1 Copia de seguridad de los perfiles deseguridad

Dado que crear perfiles lleva tiempo, es lógico realizar copias de seguridad de ellos.Esto puede evitar que tenga que crear de nuevo perfiles para todos los programas si seproduce un fallo del sistema. Asimismo, si los perfiles se cambian, se podrán restaurarfácilmente los valores anteriores utilizando los archivos de copia de seguridad.

Haga copias de seguridad de los perfiles copiando los archivos de perfil en un directorioespecífico.

1 Primero se deben archivar los archivos en un archivo de respaldo. Para ello, abrauna ventana de terminal e introduzca lo siguiente como usuario Root:tar zclpf profiles.tgz /etc/apparmor.d

El método más sencillo para asegurarse de que se realizan copias de seguridadregulares de los archivos de directivas de seguridad es incluir el directorio /etc/apparmor.d en la lista de directorios de los que el sistema efectúa copias deseguridad.

Gestión de aplicaciones con perfiles 99

Page 108: Apparmor Admin Guide Es

2 También puede utilizar el comando scp o un administrador de archivos comoKonqueror o Nautilus para almacenar los archivos en algún tipo de soporte dealmacenamiento, en la red o en otro equipo.

4.5.2 Cambio de los perfiles de seguridadEl mantenimiento de los perfiles de seguridad incluye cambiarlos si se decide que elsistema necesita más o menos seguridad en sus aplicaciones. Para cambiar los perfilesde Novell AppArmor, consulte la Sección 3.3.3, “Edición de perfiles” (p. 30).

4.5.3 Introducción de nuevo software en elentorno

Si se añade una versión nueva o un parche de una aplicación al sistema, siempre hayque actualizar el perfil para que se adapte convenientemente. Existen varias opcionesque dependen de la estrategia de instalación de software de la empresa. Los parches yactualizaciones se pueden instalar en un entorno de prueba o en un entorno deproducción. A continuación se explica cómo hacerlo con estos métodos.

Si pretende instalar un parche o actualizar en un entorno de prueba, el mejor métodopara actualizar los perfiles es uno de los siguientes:

• Ejecute el asistente de creación de perfiles seleccionando Asistente para añadirperfiles en YaST. De esta forma se actualiza el conjunto de perfiles de aplicacióncon la producción actual con el menor esfuerzo. Si desea obtener instruccionesdetalladas, consulte la Sección 3.3.1, “Adición de perfiles mediante el asistente”(p. 18).

• Ejecute genprof escribiendo genprof en una ventana de terminal tras iniciarsesión como usuario Root. Para obtener información detallada, consulte “genprof”(p. 51).

Si pretende instalar un parche o actualizar directamente en un entorno de producción,el mejor método para actualizar los perfiles es uno de los siguientes:

• Monitorice con frecuencia el sistema para determinar si se deben añadir nuevosrechazos al perfil y actualícelo según resulte conveniente mediante el comandologprof. Para obtener información detallada, consulte “logprof” (p. 57).

100 Guía de administración de Novell AppArmor 2.0

Page 109: Apparmor Admin Guide Es

• Ejecute las herramientas de creación de perfiles para determinar el nuevo compor-tamiento de la aplicación (existe un alto riesgo de seguridad, ya que se permiten yregistran todos los accesos, que no se rechazan). Si desea obtener instruccionesdetalladas, consulte la Sección 3.3.5, “Actualización de perfiles a partir de entradasdel registro del sistema” (p. 32).

Gestión de aplicaciones con perfiles 101

Page 110: Apparmor Admin Guide Es
Page 111: Apparmor Admin Guide Es

5Creación de perfiles para lasaplicaciones Web medianteChangeHat de ApacheUn perfil de Novell® AppArmor representa la directiva de seguridad para un programao un proceso concretos. Se aplica a un programa ejecutable, pero si una porción delprograma necesita permisos de acceso distintos que otras porciones, el programa puede“cambiar de sombrero” para utilizar un contexto de seguridad distinto, diferente delacceso del programa principal. Esto se conoce como un hat (sombrero en inglés) osubperfil.

ChangeHat permite a los programas cambiar de un hat de un perfil Novell AppArmora otro. Permite definir la seguridad a un nivel más preciso que los procesos.

Esta función requiere que todas las aplicaciones se hagan “compatibles con ChangeHat”,lo que significa que se modifican para realizar una petición al módulo de NovellAppArmor para cambiar los dominios de seguridad en momentos arbitrarios durantela ejecución de la aplicación.

Un perfil puede tener un número arbitrario de subperfiles, pero sólo hay dos niveles:un subperfil no admite más subperfiles subordinados. Los subperfiles se escriben comoperfiles distintos y reciben un nombre que contiene el nombre del perfil, seguido porel nombre del subperfil separados por el símbolo ^. Los subperfiles se deben almacenaren el mismo archivo que su perfil principal.

NOTA

Para obtener más información, consulte la página Man de change_hat.

Creación de perfiles para las aplicaciones Web mediante ChangeHat de Apache 103

Page 112: Apparmor Admin Guide Es

5.1 Apache ChangeHatNovell AppArmor incluye el módulo mod-apparmor para el programa Apache. Elmódulomod-apparmor funciona en el sistema SUSELinux para hacer que el servidorWeb Apache se haga “compatible con ChangeHat”. Se instala si Apache se encuentrapresente en el sistema.

Cuando Apache sea compatible con ChangeHat, buscará los siguientes perfiles deseguridad personalizados de Novell AppArmor en el orden otorgado para cada solicitudde URI que reciba.

• El hat específico para el URI (por ejemplo, ^phpsysinfo-dev/templates/classic/images/bar_left.gif)

• DEFAULT_URI

• HANDLING_UNTRUSTED_INPUT

Si dispone del servidor Apache 2 necesario instalado en el sistema, el módulomod-apparmor se instala automáticamente con Novell AppArmor y se añade a laconfiguración de Apache. Apache 1.3 no es compatible.

NOTA

Si instala mod-apparmor sin Novell AppArmor, tendrá que asegurarse de queel módulo de carga de Apache dispone de un comando en el archivo deconfiguración que cargue el módulo mod-apparmor añadiendo la siguientelínea al archivo de configuración de Apache:LoadModule change_hat_module modules/mod_change_hat.so

5.1.1 Herramientas para la gestión deaplicaciones compatibles con

ChangeHatAl igual que ocurre con la mayoría de las herramientas de Novell AppArmor, se puedenusar dos métodos para gestionar ChangeHat: YaST o la interfaz de línea de comandos.

104 Guía de administración de Novell AppArmor 2.0

Page 113: Apparmor Admin Guide Es

Es mucho más flexible gestionar las aplicaciones compatibles con ChangeHat desde lalínea de comandos, pero el proceso es también más complicado. Ambos métodospermiten gestionar los hats de las aplicaciones y llenarlos con entradas de perfil.

En los siguientes pasos se realiza una demostración en la que se añaden hats a un perfilde Apache mediante YaST. En el Asistente para añadir perfiles, las utilidades decreación de perfiles de Novell AppArmor solicitan que se creen nuevos hats parasolicitudes de URI distintas. Si se decide crear un hat nuevo, se podrán crear perfilesindividuales para cada URI. De esta forma podrá crear reglas muy estrictas para cadasolicitud.

Si el URI que se está procesando no representa un procesamiento significativo, o si nosupone un riesgo de seguridad importante, podrá seleccionar de forma segura la opciónUsar hat por defecto para procesar este URI en el hat por defecto, que es el perfil deseguridad por defecto.

En la demostración, se ha creado un hat nuevo para el URI phpsysinfo-dev y susaccesos posteriores.Mediante las herramientas de creación de perfiles, se ha determinadolo que se añade a este nuevo hat. El hat resultante se convierte en un contenedor de altaseguridad que comprende todo el procesamiento del servidor que se produce cuandoel URI phpsysinfo-dev se pasa al servidor Web Apache.

En esta demostración se ha generado un perfil para la aplicación phpsysinfo (consultehttp://phpsysinfo.sourceforge.net para obtener más información). Sepresupone que el paquete phpsysinfo-dev está instalado en /srv/www/htdocs/phpsysinfo-dev/ en una instalación limpia (nueva) de Novell AppArmor.

1 Una vez instalado phpsysinfo-dev, podrá añadir hats al perfil de Apache. En lainterfaz de Novell AppArmor, seleccione el Asistente para añadir perfiles.

Creación de perfiles para las aplicaciones Web mediante ChangeHat de Apache 105

Page 114: Apparmor Admin Guide Es

2 En Perfil que añadir, indique httpd2-prefork.

3 Haga clic en Crear perfil. Se abrirá la ventana del Asistente de perfiles de NovellAppArmor.

4 Reinicie Apache introduciendo el comando rcapache2 restart en unaventana de terminal.

106 Guía de administración de Novell AppArmor 2.0

Page 115: Apparmor Admin Guide Es

NOTA

Reinicie en este momento cualquier programa para el que esté creandoun perfil.

5 Abra http://localhost/phpsysinfo-dev/ en una ventana delnavegador Web. La ventana del navegador mostrará el uso de la red y la infor-mación del sistema.

NOTA

Para garantizar que el servidor procesa esta solicitud y que no se revisandatos de caché del navegador, deberá actualizar la página. Para ello, hagaclic en el botón Actualizar del navegador para asegurarse de que Apacheprocesa la solicitud para el URI phpsysinfo-dev.

6 Haga clic en Explorar registro del sistema en busca de entradas que añadir alos perfiles. Novell AppArmor abrirá la herramienta logprof, que explorará todala información adquirida en el paso anterior. Empezará a realizar preguntas sobreel perfil.

7 En nuestra demostración, logprof presenta primero las opcionesAñadir hat pedidoo Usar hat por defecto, ya que ha notado que phpsysinfo-dev ha accedidoa un URI. Seleccione Añadir hat pedido.

Creación de perfiles para las aplicaciones Web mediante ChangeHat de Apache 107

Page 116: Apparmor Admin Guide Es

8 Haga clic en Permitir

Al seleccionar Añadir hat pedido en el paso anterior, se crea un hat nuevo en elperfil e indica que las preguntas siguientes acerca de las acciones del guión seañadan al hat recién creado, en lugar de al hat por defecto para esta aplicación.

En la pantalla siguiente, Novell AppArmor muestra un programa externo que haejecutado el guión. Puede indicar que el programa se debe ejecutar con laslimitaciones indicadas por el hat phpsysinfo-dev (haga clic en Heredar), con laslimitaciones de un perfil distinto (haga clic en Perfil) o que se ejecute sinlimitaciones o sin ningún perfil de seguridad (haga clic en No limitado). Si seelige Perfil, se creará un perfil nuevo para el programa, si no existe ya uno.

NOTA

Si se selecciona No limitado se puede crear un agujero de seguridadimportante y se debe tener precaución a la hora de elegir esta opción.

108 Guía de administración de Novell AppArmor 2.0

Page 117: Apparmor Admin Guide Es

a Seleccione Heredar para la vía /bin/bash. De esta forma se añadirá/bin/bash/ (al que accede Apache) al perfil hat phpsysinfo-dev con lospermisos necesarios.

b Haga clic en Permitir.

9 Las siguientes preguntas le solicitarán que genere nuevos hats y que añadaentradas para el perfil y sus hats. El proceso de adición de entradas a perfiles setrata de forma detallada en la Sección 3.3.1, “Adición de perfiles mediante elasistente” (p. 18).

Cuando haya respondido a todas las preguntas, haga clic enFinalizar para guardarlos cambios y salir del asistente.

A continuación se muestra un ejemplo del aspecto que puede tener un hat phpsyinfo-dev.

Creación de perfiles para las aplicaciones Web mediante ChangeHat de Apache 109

Page 118: Apparmor Admin Guide Es

Ejemplo 5.1 Ejemplo de hat phpsysinfo-dev^phpsysinfo { #include <program-chunks/base-files> /bin/df ix, /bin/bash ix, /dev/tty rw, /etc/SuSE-release r, /etc/fstab r, /etc/hosts r, /etc/mtab r, /proc/** r, /sbin/lspci ix, /srv/www/htdocs/sysinfo/** r, /sys/bus/pci/devices r, /sys/devices/** r, /usr/bin/who ix, /usr/share/pci.ids r, /var/log/apache2/{access,error}_log w, /var/run/utmp r, }

NOTA

El perfil ^phpsysinfo-dev sólo será válido en el contexto de un procesoque se ejecute en el perfil principal httpd2-prefork.

5.1.2 Adición de hats y de entradas a hatsCuando se utiliza el cuadro de diálogo Editar perfil (para obtener más información,consulte la Sección 3.3.3, “Edición de perfiles” (p. 30)) o cuando se añade un perfilnuevo mediante Añadir manualmente perfil de Novell AppArmor (para obtener másinformación, consulte la Sección 3.3.2, “Adición manual de perfiles” (p. 24)), se da laopción de añadir hats (subperfiles) a los perfiles de Novell AppArmor.

Es posible añadir un subperfil de ChangeHat en la ventanaCuadro de diálogo de perfilesde Novell AppArmor.

110 Guía de administración de Novell AppArmor 2.0

Page 119: Apparmor Admin Guide Es

1 En la ventana Cuadro de diálogo de perfiles de Novell AppArmor, haga clic enAñadir entrada y seleccioneHat. Se abrirá el cuadro de diálogo Introducir nombrede hat:

2 Introduzca el nombre del hat que desea añadir al perfil de Novell AppArmor. Elnombre es el URI que, cuando se accede a él, recibe los permisos definidos enel hat.

3 Haga clic en Crear hat. Volverá a la ventana Cuadro de diálogo de perfiles deNovell AppArmor.

4 Cuando haya terminado de añadir el nuevo hat, haga clic en Terminado.

Creación de perfiles para las aplicaciones Web mediante ChangeHat de Apache 111

Page 120: Apparmor Admin Guide Es

NOTA

Para observar un ejemplo de un perfil de Novell AppArmor, consulte elEjemplo 5.1, “Ejemplo de hat phpsysinfo-dev” (p. 110).

5.2 Configuración de Apache paramod-apparmor

Apache se configura colocando directivas en archivos de configuración de sólo texto.El archivo de configuración principal suele ser httpd.conf. Cuando se compilaApache se puede indicar la ubicación de este archivo. Las directivas se pueden colocaren cualquiera de estos archivos de configuración para modificar el comportamiento deApache. Si se realizan cambios a los archivos de configuración principales, habrá queiniciar o reiniciar Apache para que estos cambios se reconozcan.

5.2.1 Directivas de host virtualLas directivas de host virtual controlan si las solicitudes que contienen información devías finales, que siguen a un nombre de archivo real (o un archivo que no exista en undirectorio que sí esté presente), se aceptarán o se rechazarán. Para consultar ladocumentación de Apache sobre las directivas de host virtual, diríjase a la http://httpd.apache.org/docs-2.0/mod/core.html#virtualhost

La palabra clave de configuración específica de change_hat esImmDefaultHatNamey se utiliza de lamisma forma queImmHatName, por ejemplo,ImmDefaultHatNameMi_hat_por_defecto.

La opción de configuración se basa en realidad en una directiva de servidor que permiteutilizar la palabra clave independientemente de otras opciones, por lo que se configurapara el servidor por defecto. En Apache, se considera que los hosts virtuales son como“servidores” independientes, por lo que se puede definir un nombre de hat por defecto,así como un nombre para cada host virtual, si se desea.

Cuando llega una solicitud, los siguientes pasos reflejan la secuencia que siguemod-apparmor para intentar aplicar los hats.

112 Guía de administración de Novell AppArmor 2.0

Page 121: Apparmor Admin Guide Es

1. Un hat de ubicación o de directorio indicado mediante la palabra claveImmHatName.

2. Un hat cuyo nombre indique la vía completa del URI.

3. Un hat de servidor por defecto indicado mediante la palabra claveImmDefaultHatName.

4. DEFAULT_URI (y si no existe ninguno, vuelve al hat “principal” de Apache).

5.2.2 Directivas de ubicación y directorioLas directivas de ubicación y directorio indican los nombres de los hats en el archivode configuración del programa, de modo que el programa pueda llamar al hat paraasuntos de seguridad. Para Apache, encontrará documentación sobre estas directivasen http://httpd.apache.org/docs-2.0/sections.html.

El ejemplo de directiva de ubicación siguiente indica que mod-apparmor deberíausar un hat concreto para una ubicación determinada:<Location /foo/> ImmHatName MI_NOMBRE_DE_HAT</Location>

En este ejemplo se intenta utilizar MI_NOMBRE_DE_HAT para cualquier URI queempiece por/foo/ (/foo/,/foo/bar,/foo/cgi/path/bla_bla/bla, etc.).

En el siguiente ejemplo, la directiva de directorio funciona de forma similar que la deubicación, excepto en que hace referencia a una vía del sistema de archivos:<Directory "/srv/www/www.immunix.com/docs"> # Fíjese en que no hay barra inclinada de cierre ImmHatName immunix.com</Directory>

Ejemplo: En el siguiente ejemplo se utiliza el programa phpsysinfo para ilustrar eluso de una directiva de ubicación. Se puede descargar el archivo Tarball de http://phpsysinfo.sourceforge.com.

1 Tras descargar el archivo Tarball, instálelo en/srv/www/htdocs/sysinfo/

2 Cree el archivo /etc/apache2/conf.d/sysinfo.conf y añádale elsiguiente texto:

Creación de perfiles para las aplicaciones Web mediante ChangeHat de Apache 113

Page 122: Apparmor Admin Guide Es

<Location "/sysinfo"> ImmHatName sysinfo</Location>

El siguiente hat deberá funcionar ahora para phpsyinfo:^sysinfo { #include <program-chunks/base-files> /bin/df ix, /bin/bash ix, /dev/tty rw, /etc/SuSE-release r, /etc/fstab r, /etc/hosts r, /etc/mtab r, /proc/** r, /sbin/lspci ix, /srv/www/htdocs/sysinfo/** r, /sys/bus/pci/devices r, /sys/devices/** r, /usr/bin/who ix, /usr/share/pci.ids r, /var/log/apache2/{access,error}_log w, /var/run/utmp r, }

3 Vuelva a cargar los perfiles de Novell AppArmor introduciendo el comandorcapparmor restart en una ventana de terminal como usuario Root.

4 Reinicie Apache introduciendo el comando rcapache2 restart en unaventana de terminal tras iniciar sesión como usuario Root.

5 Escriba la dirección http://hostname/sysinfo/ en un navegador paraobtener la información del sistema que ofrece phpsysinfo.

6 Realice un seguimiento de los errores de configuración. Para ello diríjase a/var/log/syslog o ejecute el comando dmesg y busque en el resultado cualquierrechazo que se haya producido.

114 Guía de administración de Novell AppArmor 2.0

Page 123: Apparmor Admin Guide Es

6Asistencia técnicaEn este capítulo se describen las tareas relacionadas con el mantenimiento. Aprenda aactualizar Novell® AppArmor y a obtener una lista de las páginas Man disponibles enlas que se ofrece ayuda sobre el uso de las herramientas de la línea de comandos incluidascon Novell AppArmor. En la sección de solución de problemas encontrará algunosproblemas habituales que se dan en Novell AppArmor y cómo solucionarlos. Por último,se incluye una descripción de las opciones de asistencia técnica incluidas con su copiade SUSE Linux.

6.1 Actualización en línea de NovellAppArmor

Las actualizaciones para los paquetes de Novell AppArmor se ofrecerán de la mismamanera que cualquier actualización de los productos basados en SUSE Linux. Sudescarga y aplicación es exactamente igual a la de cualquier otro paquete incluido enel producto SUSE Linux.

6.2 Uso de las páginas ManHay páginas de manual (Man) disponibles. En un terminal, escriba man apparmorpara abrir la página Man de AppArmor. Las páginas Man se distribuyen en seccionesnumeradas del 1 al 8. Cada sección es específica de una categoría de documentación:

Asistencia técnica 115

Page 124: Apparmor Admin Guide Es

Tabla 6.1 Páginas de manual (Man): secciones y categorías

CategoríaSección

Comandos del usuario1

Llamadas al sistema2

Funciones de biblioteca3

Información del controlador del dispositivo4

Formatos del archivo de configuración5

Juegos6

Conceptos de nivel avanzado7

Comandos del administrador8

Los números de secciones se utilizan para distinguir las páginas Man entre sí. Porejemplo, exit(2) describe la llamada de salida del sistema, mientras que exit(3)describe la función de salida C de la biblioteca.

Las páginas Man de Novell AppArmor son las siguientes:

• unconfined(8)

• autodep(1)

• complain(1)

• enforce(1)

• genprof(1)

• logprof(1)

• change_hat(2)

• logprof.conf(5)

116 Guía de administración de Novell AppArmor 2.0

Page 125: Apparmor Admin Guide Es

• apparmor.conf(5)

• apparmor.d(5)

• apparmor.vim(5)

• apparmor(7)

• apparmor_parser(8)

6.3 Información adicionalHaymás información acerca del producto AppArmor en la página de Novell AppArmorde Novell: http://www.novell.com/products/apparmor/.

La documentación de Novell AppArmor, incluido este documento, se puede encontraren http://www.novell.com/documentation/apparmor/ o en el sistemainstalado en /usr/share/doc/packages/apparmor-docs/.

Existen listas de correo específicas para AppArmor donde los usuarios pueden enviarpreguntas o suscribirse para comunicarse con los desarrolladores.

[email protected] es la lista de correo para los usuarios finales de AppArmor. Se trata de unbuen lugar para hacer preguntas sobre cómo usar AppArmor para proteger lasaplicaciones.

[email protected] es la lista de correo para desarrolladores de AppArmor y miembros de lacomunidad. Sirve para plantear cuestiones acerca de cómo desarrollar las funcionesdel núcleo de AppArmor: el módulo del núcleo y las herramientas de perfiles. Siestá interesado en revisar el código de AppArmor y contribuir con revisiones omejoras, ésta podría ser la lista más adecuada.

[email protected] lista con poco volumen de mensajes anuncia la disponibilidad de nuevasversiones o funciones.

Asistencia técnica 117

Page 126: Apparmor Admin Guide Es

6.4 Solución de problemasEn la siguiente sección se describen los problemas más habituales y los mensajes deerror que se pueden producir al utilizar Novell AppArmor.

SUSE Linux está instalado pero AppArmor no aparece en el menú de YaSTAppArmor se instala por defecto si se seleccionan los escritorios GNOME o KDEen el momento de la instalación. Si se selecciona Sistema gráfico mínimo o Modode texto, AppArmor no se instala por defecto. En estos casos, utilice YaST parainstalar los paquetes que falten. Para obtener más información acerca de esto,consulte la Novell AppArmor 2.0 Installation and Quick Start Guide (Guía deinstalación e inicio rápido de Novell AppArmor 2.0).

Comportamiento extraño de la aplicaciónSi nota algún comportamiento extraño de la aplicación o cualquier otro tipo deproblema, deberá comprobar primero los mensajes de rechazo en los archivos deregistro para determinar si AppArmor está poniendo demasiadas limitaciones a laaplicación.

Para comprobar los mensajes de rechazo, inicie YaST→Novell AppArmor y diríjasea Informes de AppArmor. Seleccione Ver archivo y Auditoría de aplicaciones paraver el informe de auditoría de las aplicaciones. Es posible aplicar filtros de fechasy horas para reducir los resultados al periodo concreto en el que comenzó elcomportamiento extraño de la aplicación.

Problemas con ApacheApache no se abre correctamente o no sirve páginas Web y acaba de instalar unmódulo nuevo o ha realizado un cambio de configuración.

Cuando se instalan módulos adicionales de Apache (como mod-apparmor) o serealizan cambios de configuración en Apache, debe volver a crear los perfiles deApache para que se incorporen las reglas adicionales que se deban añadir al perfil.

No se envían los informes por correo electrónicoSi la función de informes genera un archivo HTML o CSV que supera el tamañopor defecto, el archivo no se envía. Los servidores de correo tienen un tamañolímite estricto por defecto para los correos electrónicos. Este límite puede impedirque AppArmor envíe mensajes de correo electrónico generados como informes.Si no le llega el mensaje, puede deberse a esto.

118 Guía de administración de Novell AppArmor 2.0

Page 127: Apparmor Admin Guide Es

Los usuarios deben ser conscientes de los límites de tamaño del correo y debencomprobar sus archivos en caso de que no reciban correos electrónicos.

Se excluyen algunos perfiles de la lista de perfiles utilizadaAppArmor siempre carga y aplica todos los perfiles disponibles en el directorio deperfiles (/etc/apparmor.d/). Si decide no aplicar un perfil a una aplicaciónconcreta, deberá suprimir el perfil oportuno o moverlo a otra ubicación en la queAppArmor no pueda comprobarlo.

El funcionamiento de AppArmor puede producir varios errores. A continuación semuestra una lista de posibles problemas y cómo solucionarlos.

No se encuentra apparmor_parserSi ejecuta logprof como un usuario distinto al Root, por ejemplo como el usuariotux, es probable que se presente este error:tux@localhost:~> /usr/sbin/logprof No se encuentra apparmor_parser.

NOTA

Sólo se debe ejecutar logprof como usuario Root.

/usr/sbin/genprof debe ejecutarse como usuario RootSi se ejecuta genprof como usuario distinto al Root, se produce el mismo resultado:tux@localhost:~> /usr/sbin/genprof/usr/sbin/genprof debe ejecutarse como usuario Root.

Descargando perfiles de AppArmor... errorLos guiones de inicio y parada de AppArmor se deben ejecutar como usuario Root.Si se ejecutan como usuario distinto al Root, se produce este resultado:tux@localhost:~> /etc/init.d/apparmor stop/sbin/apparmor_parser: Lo sentimos. No dispone de privilegios suficientes para ejecutar este programa.Descargando perfiles de AppArmor... error

Error de análisis de AppArmorEn el siguiente ejemplo se muestra la sintaxis del error de análisis completo.

Si se editanmanualmente perfiles de Novell AppArmor se pueden introducir erroresde sintaxis. Si intenta iniciar o reiniciar AppArmor con errores de sintaxis en losperfiles, se producirá un error como este:

Asistencia técnica 119

Page 128: Apparmor Admin Guide Es

localhost:~ # /etc/init.d/apparmor startCargando perfiles de AppArmorError de análisis de AppArmor, línea 2: Se ha detectado un carácter inesperado: ’hError en el perfil /etc/apparmor.d/usr.sbin.squid error al cargarerror

6.5 Informe sobre errores deAppArmor

Los desarrolladores de AppArmor y SUSE Linux se enorgullecen de ofrecer productosde la mejor calidad. Sus comentarios e informes sobre errores nos ayudarán a seguirhaciendo un buen trabajo. Así que, si encuentra algún error en AppArmor, envíe uninforme sobre este producto:

1 Mediante el navegador, diríjase a https://bugzilla.novell.com/index.cgi.

2 Introduzca los datos de su cuenta Novell y haga clic en login (inicio de sesión).

O bien

Cree una cuenta Novell nueva de la siguiente forma:

a Haga clic en crear cuenta en la página Inicie sesión para continuar.

b Introduzca un nombre de usuario y una contraseña y los datos adicionalesde dirección y haga clic en create login (crear inicio de sesión) para procederde forma inmediata a la creación de los datos de inicio de sesión.

O bien

Introduzca los datos de otras cuentas Novell que posea para sincronizarlastodas en una sola cuenta.

3 Compruebe si existe ya algún informe sobre un problema similar al suyo haciendoclic en Search (buscar).

120 Guía de administración de Novell AppArmor 2.0

Page 129: Apparmor Admin Guide Es

Puede realizar una búsqueda rápida de un producto concreto o de una palabraclave, o bien utilizar la función Advanced Search (búsqueda avanzada).

4 Si ya hay un informe para su problema, revise el informe y añada informaciónadicional, si es necesario.

5 Si aún no hay un informe para su problema, seleccione New (nuevo) en la barrade navegación superior para acceder a la página Enter Bug (nuevo error).

6 Seleccione el producto sobre el que desee informar. En su caso, debe ser suversión de SUSE Linux. Haga clic en submit (enviar).

7 Selecciona la versión del producto, el componente (en este caso, AppArmor), laplataforma de hardware y la gravedad.

8 Escriba un breve titular en el que se describa al problema y una descripción máselaborada en la parte de abajo que incluya los archivos de registro.

Se pueden adjuntar archivos al informe de errores con capturas de pantalla,archivos de registro o pruebas.

9 Tras introducir todos los detalles, haga clic en Submit Report (enviar informe)para enviar el informe a los desarrolladores.

Asistencia técnica 121

Page 130: Apparmor Admin Guide Es
Page 131: Apparmor Admin Guide Es

GlosarioApache

Apache es un servidorWeb gratuito basado en UNIX. En la actualidad es el servidorWeb más utilizado en Internet. Encontrará más información sobre Apache en elsitio Web de Apache en http://www.apache.org.

clases de base de perfilBloques de creación de perfiles necesarios para las actividades de las aplicacionescomunes, como la búsqueda DNS o la autenticación de usuarios.

control de acceso obligatorioMétodo para restringir el acceso a los objetos basado en atributos de seguridad fijosasignados a los usuarios, a los archivos y a otros objetos. Los controles sonobligatorios en el sentido de que ni los usuarios ni sus programas los puedenmodificar.

control de acceso perfeccionadoNovell AppArmor ofrece control de acceso perfeccionado para servicios de red,indicando los archivos que cada programa tiene permitido leer, escribir y ejecutar.De esta forma se garantiza que cada programa haga lo que se supone que debehacer, y nada más.

cortafuegos mediante aplicaciónNovell AppArmor contiene aplicaciones y limita las acciones que éstas puedenllevar a cabo. Utiliza un sistema de limitación de privilegios para evitar que losatacantes puedan utilizar programas dañinos en el servidor protegido, o inclusoutilizar aplicaciones de confianza de formas no previstas.

firma de ataquePatrón de una actividad del sistema o de la red que indica la presencia de un posiblevirus o de un ataque de un pirata informático (hacker). Los sistemas de detecciónde intrusiones pueden utilizar firmas de ataque para diferenciar las actividadeslegítimas de las potencialmente dañinas.

Dado que no se basa en firmas de ataques, Novell AppArmor ofrece una defensapreventiva, en lugar de reactiva, ante los ataques. Este enfoque es mejor ya que nohay un intervalo de tiempo vulnerable durante el cual se ha de definir la firma de

Page 132: Apparmor Admin Guide Es

ataque para Novell AppArmor, como ocurre con los productos que utilizan estasfirmas para proteger sus redes.

GUIGraphical User Interface (Interfaz gráfica del usuario). Hace referencia a un softwarede presentación que ofrece una interfaz atractiva y fácil de utilizar entre el usuariodel equipo y la aplicación que utiliza. Algunos de sus elementos son las ventanas,los iconos, los botones, los cursores y las barras de desplazamiento.

HIPHost Intrusion Prevention (Prevención de intrusiones en el host). Funciona con elnúcleo del sistema operativo para bloquear comportamientos anormales de aplica-ciones, considerando que este comportamiento anormal representa un ataquedesconocido. Bloquea paquetes dañinos en el host en el nivel de la red antes deque puedan “dañar” a la aplicación a la que van dirigidos.

RPMGestor de paquetes RPM. Se trata de un sistema abierto de creación de paquetesdisponible para todo el mundo. Funciona con Red Hat Linux, SUSE Linux y otrossistemas Linux y UNIX. Es capaz de instalar, desinstalar, verificar, consultar yactualizar paquetes de software informático. Si desea obtener más información,consulte http://www.rpm.org/.

SSHShell segura. Un servicio que le permite acceder a su servidor desde un equiporemoto y emitir comandos de texto a través de una conexión segura.

URIUniversal Resource Identifier (Identificador universal de recursos). Términogenérico para cualquier tipo de nombre o dirección que haga referencia a objetosde la World Wide Web. Una URL es un tipo de URI.

URLUniform Resource Locator (Localizador uniforme de recursos). La dirección globalde los documentos y otros recursos en la World Wide Web.

La primera parte de la dirección indica qué protocolo se debe utilizar, la segundaindica la dirección IP o el nombre de dominio en el que se ubica el recurso.

Por ejemplo, enhttp://www.immuix.com/index.html, http es el protocoloque se va a utilizar.

124 Guía de administración de Novell AppArmor 2.0

Page 133: Apparmor Admin Guide Es

vulnerabilidadesUn aspecto de un sistema o una red que queda expuesto a los ataques. Característicasde los sistemas informáticos que permiten a algún individuo impedir que funcionecorrectamente o que permiten que usuarios sin autorización tomen el control delsistema. Puntos débiles o defectos de diseño, administración o implementación delhardware, el firmware o el software. Si se explota, una vulnerabilidad puede llegara tener un impacto inadmisible en forma de acceso sin autorización a la informacióno interrupción de los procesos críticos.

Glosario 125

Page 134: Apparmor Admin Guide Es