SlideShare una empresa de Scribd logo
ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA




          UNIDAD PROFESIONAL CULHUACAN




 SECCION DE ESTUDIOS DE POSTGRADO E INVESTIGACION




        SEGURIDAD EN SISTEMAS OPERATIVOS




         MAESTRO MOISES SALINAS ROSALES




                DANIEL CRUZ CHAVEZ


             MANEJO DE ROLES EN LINUX


  IMPLEMENTACION DE LA HERRAMIENTA “GRSECURITY”




                                            AGOSTO 2008
GRSECURITY


El proyecto “grsecurity” ofrece varios parches al núcleo de Linux que mejoran la seguridad
global del sistema, entre sus principales características destacan:


   •   Protección del espacio de direcciones, a través de la herramienta PAX se previene el
       abuso de los desbordamientos de buffer, además de proveer aleatoriedad a la
       administración de procesos en memoria.
   •   Protección del sistema de archivos, sobre este aspecto existen restricciones en el
       /proc, que hacen que un usuario pueda ver únicamente sus procesos, además
       protecciones de ejecución en /tmp.
   •   Registro de actividad en el “kernel”, configuración de varias opciones de auditoria.
   •   Protección de ejecutables con la configuración de opciones que intervienen en la
       creación de procesos y a que binarios del sistema se puede acceder.
   •   Protecciones de red con restricciones sobre que tipos de “sockets” podrán utilizar los
       usuarios y opciones de configuración relacionadas con la selección aleatoria de la pila
       TCP/IP.
   •   Opciones de registros de eventos que permiten especificar el tiempo entre mensajes
       de notificación y el número máximo de estos mensajes.
   •   Opciones de control de acceso basado en roles RBAC.


                                        INSTALACION


El proceso de instalación se realizó sobre una versión de Linux con las siguientes
características:


   •   Distribución Ubuntu 8.04 Desktop i386
   •   Kernel 2.6.24


En general, el proceso consiste en obtener los fuentes del kernel, obtener los parches de
“grsecurity”, aplicar los parches al Kernel, recompilarlo e instalarlo.
Para compilar el kernel se necesitan instalar los siguientes paquetes:


   •   apt-get install build-essential bin86 kernel-package
   •   apt-get install libqt3-headers libqt3-mt-dev


Cambiamos de directorio


   •   cd /usr/src


Bajamos los fuentes del kernel y los fuentes de “grsecurity“


   •   wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2
   •   wget http://www.grsecurity.net/grsecurity-2.1.11-2.6.24.5-200804211829.patch.gz


Para el kernel 2.6.24 es necesario bajar la versión mas reciente de “grsecurity” que señala
claramente en su nombre de archivo la versión del “kernel” a parchar.
Se descomprimen los archivos


   •   tar –xjvf linux-2.6.24.tar.bz2
   •   gunzip grsecurity-2.1.11-2.6.24.5-200804211829.patch.gz


Cambiamos de nombre al directorio donde se descomprimieron los fuentes y hacemos una
liga con un nombre mas corto


   •   mv linux-2.6.24 linux-2.6.24-grsec
   •   ln -s linux-2.6.24-grsec linux


Cambiamos al directorio de los fuentes y copiamos a este directorio, el parche
descompactado de “grsecurity”.


   •   cd linux

   •   cp /usr/src/grsecurity-2.1.11-2.6.24.5-200804211829.patch     .
Aplicamos el parche


   •   cat grsecurity-2.1.11-2.6.24.5-200804211829.patch | patch –Np1


Con lo anterior ya tenemos listos los fuentes para configurar y compilar
Copiamos el archivo de configuración inicial que tenemos actualmente


   •   cp /boot/config-2.6.24-19-generic .config


Configuramos lo que será el nuevo kernel


   •   make xconfig


Aparece la siguiente ventana de configuración
De la pantalla anterior, seleccionamos las opciones de “grsecurity” requeridas y salvamos el
archivo con el botón de guardar.


Ubicados en el directorio /usr/src/linux construimos el paquete .deb


   •   make-kpkg clean
   •   make-kpkg -initrd --revision=ck2 kernel_image


Si no hubo errores se genero el paquete /usr/src/linux-image-2.6.24-grsec_ck2_i386.deb


Para instalarlo


   •   dpkg -i linux-image-2.6.24-grsec_ck2_i386.deb


Por ultimo descargamos de un mirror de Ubuntu el paquete “gradm2_2.1.11-1_i386.deb” y lo
instalamos con “dpkg”.


Reiniciamos el sistema operativo
CONTROL DE ACCESO BASADO EN ROLES (RBAC)


Existen dos tipos de mecanismos de control de acceso usados para prevenir el acceso no
autorizado a archivos o información en general: DAC (control de acceso discrecional) y MAC
(control de acceso obligatorio). Linux usa por defecto el mecanismo DAC, en el cual el
creador del archivo puede definir quien tiene acceso a este.


En DAC un usuario tiene un completo control sobre los objetos que le pertenecen y los
programas que ejecuta. Así mismo, el programa ejecutado por un usuario tendrá los mismos
permisos de ese usuario que lo esta ejecutando.


Lo anterior implica que la seguridad del sistema depende de las aplicaciones que se están
ejecutando y por lo tanto, cuando se produce una vulnerabilidad de seguridad en una
aplicación, ésta afecta a todos los objetos a los que el usuario tiene acceso. Así, si la
aplicación es ejecutada por “root”, el atacante puede obtener los máximos privilegios en el
sistema, comprometiendo la seguridad global.


Un sistema MAC fuerza a que todos sigan las reglas establecidas por el administrador. En
este modelo existe una política de seguridad definida por el administrador y que los usuarios
no pueden modificar. Esta política va más allá de establecer propietarios de archivos, define
contextos, en donde se indica cuando un objeto puede acceder a otro objeto.


La implementación MAC de “grsecurity” es llamada RBAC. Esta herramienta asocia roles a
cada usuario, cada rol define que operaciones pueden ser llevadas a cabo sobre ciertos
objetos. Dada una colección bien escrita de roles y operaciones, los usuarios estarán
restringidos a hacer solamente aquellas tareas que el administrador le dice que pueden
hacer.
TRABAJANDO CON RBAC


“gradm2” es el programa que permite administrar y mantener políticas para el sistema. Con
el se puede activar o desactivar el sistema RBAC, cambiar su rol y configurar una
contraseña para el modo de administrador.


Para introducir una contraseña para el administrador:


    gradm2 -P admin              (ingresar contraseña del rol administrador)


hecho lo anterior podemos activar el sistema RBAC con:


    gradm2 -E


La política predeterminada esta definida en “/etc/grsec2/policy” y es bastante restrictiva ya
que siendo usuario “root” no podemos ver el directorio “/etc/grsec2/”, la siguiente instrucción:


 cd /etc/grsec2/


dará por resultado que no se encuentra el archivo o directorio.


O bien, una instrucción como “ifconfig” no será capaz de modificar las características de las
interfaces con el modo RBAC habilitado.




                       usuario “root” no puede modificar la interfaz eth0
Para desactivar el sistema RBAC


      gradm2 -D     (ingresar la contraseña definida para el administrador)


Para conocer en que estado se encuentra RBAC


    gradm2 -S


                         LISTAS DE CONTROL DE ACCESO


El sistema de control de acceso MAC de “grsecurity” esta implementado con listas de control
de acceso ACL's, el administrador define restriciones sobre sujetos (recursos, procesos,
archivos, etc.). Para cualquier evento, el “kernel” verifica las ACL's de MAC y las definidas en
el estandar de Linux que manejan objetos.


ACL estandar de Linux (sentencia “getfacl”)




                Objeto archivo “home/daniel”, objeto usuario y grupo “daniel”
Estructura de una ACL de “grsecurity”:


      <path of subject process> <optional subject modes> {
             <file object> <optional object modes>
                            [+|-]<capability>
             <resource name> <soft limit> <hard limit>
             connect {
                      <ip>/<netmask>:<low port>–<high port> <type> <proto>
             }
             bind {
                      <ip>/<netmask>:<low port>–<high port> <type> <proto>
             }
      }


      ARCHIVO DE POLITICAS PREDETERMINADO “/etc/grsec2/policy”
Como se menciono anteriormente, la politica definida en el archivo predeterminado es
bastante restrictiva. Si RBAC esta activo ningun usuario podrá acceder al programa “dmesg”
y auditar el sistema.




                                 “dmesg” operacion no permitida


                           ACTUALIZANDO LAS POLITICAS


La manera mas sencilla de actualizar las politicas para la ejecución de un determinado
programa es a través del modo de aprendizaje de “grsecurity” en lugar de hacerlo
manualmente.


Para el modo de aprendizaje, será necesario desactivar RBAC temporalmente desde la
consola utilizando:


   ●   gradm2 -a admin
   ●   gradm2 -D


Como ya podemos ver el directorio y los archivos de “grsecurity”, añadimos al final del
archivo “/etc/grsec2/policy” una entrada como la siguiente


       subject        /bin/dmesg l       (L minuscula)
                      /
                      /etc/grsec2 h
                      -CAP_ALL
Lo anterior oculta el directorio raiz a el proceso “dmesg” y elimina cualquier privilegio que
pueda necesitar. La “l” junto al nombre del programa significa que se usará el modo de
aprendizaje


Activamos RBAC en modo de aprendizaje


   ●   gradm2 -L /etc/grsec/learn_config -E


Ejecutamos el comando “dmesg”


   ●   dmesg


Si la orden tiene exito, “grsecurity” crea las entradas correpondientes en el registro de
aprendizaje. Entonces utilizaremos “gradm2” para generar las ACL's para el programa
“dmesg”, a partir de los datos obtenidos.


Desactivamos RBAC y el modo de aprendizaje


   ●   gradm2 -a admin
   ●   gradm2 -L /etc/grsec2/learn_config -O /etc/grsec2/learning.dmesg




               se creo el archivo “learning.dmesg” con las politicas para “dmesg”
Sustituimos en “/etc/grsec2/policy” la directiva de aprendizaje que inlcuimos para “dmesg”
por el contenido de “learning.dmesg” y volvemos a inicar RBAC.


Ahora para “root”, es posible ejecutar el comando “dmesg” con RBAC activo.


Por ultimo definimos dentro de nuestras politicas que también el usuario “daniel” tenga
derecho a auditar el sistema con “dmesg”.




                               Agregando al usuario “daniel”


Esta secuencia se puede seguir para cada programa que necesite permisos especiales para
operar.


Mientras “grsecurity” este en modo de aprendizaje debemos asegurarnos de probar todas las
operaciones que se vayan a necesitar para que se detecte que llamadas utilizan los
procesos o que archivos del sistema se requieren.
CONCLUSION


“Grsegurity” brinda la posibilidad de crear un sistema que proporciona a cada proceso
unicamente los permisos que necesita para hacer su trabajo: ni más, ni menos. “Grsegurity”
brinda un control muy preciso sobre todo lo que se puede hacer en un sistema.

Más contenido relacionado

PDF
Guia instalacion y configuracion nagios
PDF
Instalación de un servicio de proxy, Squid
PPTX
Funcionamiento con my sql
PPT
Ch14
DOC
Replicacion con postgresql y slony
PDF
Temario Curso Linux - UTS
PPT
Sistemas operativos
Guia instalacion y configuracion nagios
Instalación de un servicio de proxy, Squid
Funcionamiento con my sql
Ch14
Replicacion con postgresql y slony
Temario Curso Linux - UTS
Sistemas operativos

La actualidad más candente (18)

PDF
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
PPTX
Leonardo Nve - Explotando cambios en servidores DNS [RootedSatellite Valencia]
PDF
Instalación y configuración de Nagios
PDF
Alta disponibilidad con Pacemaker
ODP
Alta disponibilidad y balanceo de carga en Linux
PDF
Taller Plataformas Tecnológicas MSDOS y UNIX
PDF
Clústers Alta Disponibilidad
PDF
MYSQL
PDF
Manual my sql Utu atlantida 2015
PPSX
Pecha kucha
PDF
Cluster de alta disponibilidad con corosync, pacemaker & apache2
PPT
Presetacion Nagios Centreon
PPTX
Clúster de alta Disponibilidad
PDF
Postgres
PPT
Herramientas de Monitorizacion y Administracion Web
PDF
Cluster MySQL en Windows
PDF
Seguridad en Open Solaris
PPTX
Resumen Servidor Proxy
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
Leonardo Nve - Explotando cambios en servidores DNS [RootedSatellite Valencia]
Instalación y configuración de Nagios
Alta disponibilidad con Pacemaker
Alta disponibilidad y balanceo de carga en Linux
Taller Plataformas Tecnológicas MSDOS y UNIX
Clústers Alta Disponibilidad
MYSQL
Manual my sql Utu atlantida 2015
Pecha kucha
Cluster de alta disponibilidad con corosync, pacemaker & apache2
Presetacion Nagios Centreon
Clúster de alta Disponibilidad
Postgres
Herramientas de Monitorizacion y Administracion Web
Cluster MySQL en Windows
Seguridad en Open Solaris
Resumen Servidor Proxy
Publicidad

Similar a Manejo Roles Linux (20)

PDF
Linux seguridad proteccion
PDF
Taller de seguridad para servidores GNU/Linux (GSICKMinds)
PDF
Actividad No. 5.5: Aseguramiento de servidores GNU/Linux
ODP
Nociones basicas de seguridad en l inux
DOCX
seguridad unix
PDF
Libro seguridad-gnu-linux-antonio-perpinan-2011
PDF
Libro seguridad-gnu-linux-antonio-perpinan-2011
PDF
Usuarios grupospermisos
PPSX
DOCX
Proyecto 5 SEGURIDAD ACTIVA: SO Y APPS
PPT
Seguridad en linux
PDF
Se linux
PDF
Seguridad Computacional y Administración de Sistemas
PDF
44 seguridad y se linux
PPTX
Proteccion y seguridad de los Sistemas Operativos
DOCX
Elementary 2
PDF
43 aseguramiento de su red
DOCX
Seguridad cap 2
PPTX
Proteccion y seguridad de los sistemas operativos
PDF
Sg t1 practicas_linux
Linux seguridad proteccion
Taller de seguridad para servidores GNU/Linux (GSICKMinds)
Actividad No. 5.5: Aseguramiento de servidores GNU/Linux
Nociones basicas de seguridad en l inux
seguridad unix
Libro seguridad-gnu-linux-antonio-perpinan-2011
Libro seguridad-gnu-linux-antonio-perpinan-2011
Usuarios grupospermisos
Proyecto 5 SEGURIDAD ACTIVA: SO Y APPS
Seguridad en linux
Se linux
Seguridad Computacional y Administración de Sistemas
44 seguridad y se linux
Proteccion y seguridad de los Sistemas Operativos
Elementary 2
43 aseguramiento de su red
Seguridad cap 2
Proteccion y seguridad de los sistemas operativos
Sg t1 practicas_linux
Publicidad

Más de Daniel Cruz (9)

PPTX
Desarrollo de aplicaciones en la nube
PDF
Programación Lógica con PROLOG
PPTX
Aprendiendo SQL 2
PDF
Proyecto ipython - Oracle - Excel
PPTX
Chipkit comunicacion puerto serie
PPTX
Arduino entorno desarrollo
PDF
Curso básico de introducción
PPT
Redes Rpc
PPT
Sq Lv1a
Desarrollo de aplicaciones en la nube
Programación Lógica con PROLOG
Aprendiendo SQL 2
Proyecto ipython - Oracle - Excel
Chipkit comunicacion puerto serie
Arduino entorno desarrollo
Curso básico de introducción
Redes Rpc
Sq Lv1a

Último (20)

PPTX
REDES INFORMATICAS REDES INFORMATICAS.pptx
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPT
Que son las redes de computadores y sus partes
PDF
clase auditoria informatica 2025.........
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PDF
Calidad desde el Docente y la mejora continua .pdf
PDF
Estrategia de apoyo tecnología grado 9-3
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PDF
taller de informática - LEY DE OHM
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PDF
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
PPTX
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
PDF
Plantilla para Diseño de Narrativas Transmedia.pdf
REDES INFORMATICAS REDES INFORMATICAS.pptx
Zarate Quispe Alex aldayir aplicaciones de internet .docx
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
introduccion a las_web en el 2025_mejoras.ppt
Estrategia de apoyo tecnología miguel angel solis
Power Point Nicolás Carrasco (disertación Roblox).pptx
Que son las redes de computadores y sus partes
clase auditoria informatica 2025.........
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Calidad desde el Docente y la mejora continua .pdf
Estrategia de apoyo tecnología grado 9-3
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
taller de informática - LEY DE OHM
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
Instrucciones simples, respuestas poderosas. La fórmula del prompt perfecto.
ANCASH-CRITERIOS DE EVALUACIÓN-FORMA-10-10 (2).pptx
Plantilla para Diseño de Narrativas Transmedia.pdf

Manejo Roles Linux

  • 1. ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA UNIDAD PROFESIONAL CULHUACAN SECCION DE ESTUDIOS DE POSTGRADO E INVESTIGACION SEGURIDAD EN SISTEMAS OPERATIVOS MAESTRO MOISES SALINAS ROSALES DANIEL CRUZ CHAVEZ MANEJO DE ROLES EN LINUX IMPLEMENTACION DE LA HERRAMIENTA “GRSECURITY” AGOSTO 2008
  • 2. GRSECURITY El proyecto “grsecurity” ofrece varios parches al núcleo de Linux que mejoran la seguridad global del sistema, entre sus principales características destacan: • Protección del espacio de direcciones, a través de la herramienta PAX se previene el abuso de los desbordamientos de buffer, además de proveer aleatoriedad a la administración de procesos en memoria. • Protección del sistema de archivos, sobre este aspecto existen restricciones en el /proc, que hacen que un usuario pueda ver únicamente sus procesos, además protecciones de ejecución en /tmp. • Registro de actividad en el “kernel”, configuración de varias opciones de auditoria. • Protección de ejecutables con la configuración de opciones que intervienen en la creación de procesos y a que binarios del sistema se puede acceder. • Protecciones de red con restricciones sobre que tipos de “sockets” podrán utilizar los usuarios y opciones de configuración relacionadas con la selección aleatoria de la pila TCP/IP. • Opciones de registros de eventos que permiten especificar el tiempo entre mensajes de notificación y el número máximo de estos mensajes. • Opciones de control de acceso basado en roles RBAC. INSTALACION El proceso de instalación se realizó sobre una versión de Linux con las siguientes características: • Distribución Ubuntu 8.04 Desktop i386 • Kernel 2.6.24 En general, el proceso consiste en obtener los fuentes del kernel, obtener los parches de “grsecurity”, aplicar los parches al Kernel, recompilarlo e instalarlo.
  • 3. Para compilar el kernel se necesitan instalar los siguientes paquetes: • apt-get install build-essential bin86 kernel-package • apt-get install libqt3-headers libqt3-mt-dev Cambiamos de directorio • cd /usr/src Bajamos los fuentes del kernel y los fuentes de “grsecurity“ • wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 • wget http://www.grsecurity.net/grsecurity-2.1.11-2.6.24.5-200804211829.patch.gz Para el kernel 2.6.24 es necesario bajar la versión mas reciente de “grsecurity” que señala claramente en su nombre de archivo la versión del “kernel” a parchar. Se descomprimen los archivos • tar –xjvf linux-2.6.24.tar.bz2 • gunzip grsecurity-2.1.11-2.6.24.5-200804211829.patch.gz Cambiamos de nombre al directorio donde se descomprimieron los fuentes y hacemos una liga con un nombre mas corto • mv linux-2.6.24 linux-2.6.24-grsec • ln -s linux-2.6.24-grsec linux Cambiamos al directorio de los fuentes y copiamos a este directorio, el parche descompactado de “grsecurity”. • cd linux • cp /usr/src/grsecurity-2.1.11-2.6.24.5-200804211829.patch .
  • 4. Aplicamos el parche • cat grsecurity-2.1.11-2.6.24.5-200804211829.patch | patch –Np1 Con lo anterior ya tenemos listos los fuentes para configurar y compilar Copiamos el archivo de configuración inicial que tenemos actualmente • cp /boot/config-2.6.24-19-generic .config Configuramos lo que será el nuevo kernel • make xconfig Aparece la siguiente ventana de configuración
  • 5. De la pantalla anterior, seleccionamos las opciones de “grsecurity” requeridas y salvamos el archivo con el botón de guardar. Ubicados en el directorio /usr/src/linux construimos el paquete .deb • make-kpkg clean • make-kpkg -initrd --revision=ck2 kernel_image Si no hubo errores se genero el paquete /usr/src/linux-image-2.6.24-grsec_ck2_i386.deb Para instalarlo • dpkg -i linux-image-2.6.24-grsec_ck2_i386.deb Por ultimo descargamos de un mirror de Ubuntu el paquete “gradm2_2.1.11-1_i386.deb” y lo instalamos con “dpkg”. Reiniciamos el sistema operativo
  • 6. CONTROL DE ACCESO BASADO EN ROLES (RBAC) Existen dos tipos de mecanismos de control de acceso usados para prevenir el acceso no autorizado a archivos o información en general: DAC (control de acceso discrecional) y MAC (control de acceso obligatorio). Linux usa por defecto el mecanismo DAC, en el cual el creador del archivo puede definir quien tiene acceso a este. En DAC un usuario tiene un completo control sobre los objetos que le pertenecen y los programas que ejecuta. Así mismo, el programa ejecutado por un usuario tendrá los mismos permisos de ese usuario que lo esta ejecutando. Lo anterior implica que la seguridad del sistema depende de las aplicaciones que se están ejecutando y por lo tanto, cuando se produce una vulnerabilidad de seguridad en una aplicación, ésta afecta a todos los objetos a los que el usuario tiene acceso. Así, si la aplicación es ejecutada por “root”, el atacante puede obtener los máximos privilegios en el sistema, comprometiendo la seguridad global. Un sistema MAC fuerza a que todos sigan las reglas establecidas por el administrador. En este modelo existe una política de seguridad definida por el administrador y que los usuarios no pueden modificar. Esta política va más allá de establecer propietarios de archivos, define contextos, en donde se indica cuando un objeto puede acceder a otro objeto. La implementación MAC de “grsecurity” es llamada RBAC. Esta herramienta asocia roles a cada usuario, cada rol define que operaciones pueden ser llevadas a cabo sobre ciertos objetos. Dada una colección bien escrita de roles y operaciones, los usuarios estarán restringidos a hacer solamente aquellas tareas que el administrador le dice que pueden hacer.
  • 7. TRABAJANDO CON RBAC “gradm2” es el programa que permite administrar y mantener políticas para el sistema. Con el se puede activar o desactivar el sistema RBAC, cambiar su rol y configurar una contraseña para el modo de administrador. Para introducir una contraseña para el administrador:  gradm2 -P admin (ingresar contraseña del rol administrador) hecho lo anterior podemos activar el sistema RBAC con:  gradm2 -E La política predeterminada esta definida en “/etc/grsec2/policy” y es bastante restrictiva ya que siendo usuario “root” no podemos ver el directorio “/etc/grsec2/”, la siguiente instrucción:  cd /etc/grsec2/ dará por resultado que no se encuentra el archivo o directorio. O bien, una instrucción como “ifconfig” no será capaz de modificar las características de las interfaces con el modo RBAC habilitado. usuario “root” no puede modificar la interfaz eth0
  • 8. Para desactivar el sistema RBAC  gradm2 -D (ingresar la contraseña definida para el administrador) Para conocer en que estado se encuentra RBAC  gradm2 -S LISTAS DE CONTROL DE ACCESO El sistema de control de acceso MAC de “grsecurity” esta implementado con listas de control de acceso ACL's, el administrador define restriciones sobre sujetos (recursos, procesos, archivos, etc.). Para cualquier evento, el “kernel” verifica las ACL's de MAC y las definidas en el estandar de Linux que manejan objetos. ACL estandar de Linux (sentencia “getfacl”) Objeto archivo “home/daniel”, objeto usuario y grupo “daniel”
  • 9. Estructura de una ACL de “grsecurity”: <path of subject process> <optional subject modes> { <file object> <optional object modes> [+|-]<capability> <resource name> <soft limit> <hard limit> connect { <ip>/<netmask>:<low port>–<high port> <type> <proto> } bind { <ip>/<netmask>:<low port>–<high port> <type> <proto> } } ARCHIVO DE POLITICAS PREDETERMINADO “/etc/grsec2/policy”
  • 10. Como se menciono anteriormente, la politica definida en el archivo predeterminado es bastante restrictiva. Si RBAC esta activo ningun usuario podrá acceder al programa “dmesg” y auditar el sistema. “dmesg” operacion no permitida ACTUALIZANDO LAS POLITICAS La manera mas sencilla de actualizar las politicas para la ejecución de un determinado programa es a través del modo de aprendizaje de “grsecurity” en lugar de hacerlo manualmente. Para el modo de aprendizaje, será necesario desactivar RBAC temporalmente desde la consola utilizando: ● gradm2 -a admin ● gradm2 -D Como ya podemos ver el directorio y los archivos de “grsecurity”, añadimos al final del archivo “/etc/grsec2/policy” una entrada como la siguiente subject /bin/dmesg l (L minuscula) / /etc/grsec2 h -CAP_ALL
  • 11. Lo anterior oculta el directorio raiz a el proceso “dmesg” y elimina cualquier privilegio que pueda necesitar. La “l” junto al nombre del programa significa que se usará el modo de aprendizaje Activamos RBAC en modo de aprendizaje ● gradm2 -L /etc/grsec/learn_config -E Ejecutamos el comando “dmesg” ● dmesg Si la orden tiene exito, “grsecurity” crea las entradas correpondientes en el registro de aprendizaje. Entonces utilizaremos “gradm2” para generar las ACL's para el programa “dmesg”, a partir de los datos obtenidos. Desactivamos RBAC y el modo de aprendizaje ● gradm2 -a admin ● gradm2 -L /etc/grsec2/learn_config -O /etc/grsec2/learning.dmesg se creo el archivo “learning.dmesg” con las politicas para “dmesg”
  • 12. Sustituimos en “/etc/grsec2/policy” la directiva de aprendizaje que inlcuimos para “dmesg” por el contenido de “learning.dmesg” y volvemos a inicar RBAC. Ahora para “root”, es posible ejecutar el comando “dmesg” con RBAC activo. Por ultimo definimos dentro de nuestras politicas que también el usuario “daniel” tenga derecho a auditar el sistema con “dmesg”. Agregando al usuario “daniel” Esta secuencia se puede seguir para cada programa que necesite permisos especiales para operar. Mientras “grsecurity” este en modo de aprendizaje debemos asegurarnos de probar todas las operaciones que se vayan a necesitar para que se detecte que llamadas utilizan los procesos o que archivos del sistema se requieren.
  • 13. CONCLUSION “Grsegurity” brinda la posibilidad de crear un sistema que proporciona a cada proceso unicamente los permisos que necesita para hacer su trabajo: ni más, ni menos. “Grsegurity” brinda un control muy preciso sobre todo lo que se puede hacer en un sistema.