SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
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.

Weitere ähnliche Inhalte

Was ist angesagt?

III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.
III LLAMPAGEEK 2013: Base de Datos Distribuidas con PostgreSQL.EtiCAGNU
 
Leonardo Nve - Explotando cambios en servidores DNS [RootedSatellite Valencia]
Leonardo Nve - Explotando cambios en servidores DNS [RootedSatellite Valencia]Leonardo Nve - Explotando cambios en servidores DNS [RootedSatellite Valencia]
Leonardo Nve - Explotando cambios en servidores DNS [RootedSatellite Valencia]RootedCON
 
Alta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerAlta disponibilidad con Pacemaker
Alta disponibilidad con PacemakerNelson Calero
 
Alta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en LinuxAlta disponibilidad y balanceo de carga en Linux
Alta disponibilidad y balanceo de carga en LinuxJavier Turégano Molina
 
Manual my sql Utu atlantida 2015
Manual my sql Utu atlantida 2015Manual my sql Utu atlantida 2015
Manual my sql Utu atlantida 2015Bruno Regusci
 
Presetacion Nagios Centreon
Presetacion Nagios CentreonPresetacion Nagios Centreon
Presetacion Nagios Centreonxoroz
 
Herramientas de Monitorizacion y Administracion Web
Herramientas de Monitorizacion y Administracion WebHerramientas de Monitorizacion y Administracion Web
Herramientas de Monitorizacion y Administracion Webmaesefernando
 
Cluster MySQL en Windows
Cluster MySQL en WindowsCluster MySQL en Windows
Cluster MySQL en WindowsErick Cruz
 

Was ist angesagt? (18)

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

Ähnlich wie Manejo Roles Linux

45 trabajar con se linux
45  trabajar con  se linux45  trabajar con  se linux
45 trabajar con se linuxAprende Viendo
 
28 el directorio sysconfig
28  el directorio sysconfig28  el directorio sysconfig
28 el directorio sysconfigAprende Viendo
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slonyJohanna Mendez
 
Actividad No. 5.5: Aseguramiento de servidores GNU/Linux
Actividad No. 5.5: Aseguramiento de servidores GNU/LinuxActividad No. 5.5: Aseguramiento de servidores GNU/Linux
Actividad No. 5.5: Aseguramiento de servidores GNU/LinuxFrancisco Medina
 
Manual de configuracion de un cluster en Debian
Manual de configuracion de un cluster en DebianManual de configuracion de un cluster en Debian
Manual de configuracion de un cluster en Debianlavp28
 
Instalacion y configuracion de squid 2.6 estable
Instalacion y configuracion de squid 2.6 estableInstalacion y configuracion de squid 2.6 estable
Instalacion y configuracion de squid 2.6 estableBartOc3
 
Manual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUIDManual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUIDAndres Ldño
 
Actividad No. 1.14: Protección del servidor MySQL mediante filtrado de paquetes
Actividad No. 1.14: Protección del servidor MySQL mediante filtrado de paquetes Actividad No. 1.14: Protección del servidor MySQL mediante filtrado de paquetes
Actividad No. 1.14: Protección del servidor MySQL mediante filtrado de paquetes Francisco Medina
 
Configuracion basica de centos 6.3 linux v1
Configuracion basica de centos 6.3 linux v1Configuracion basica de centos 6.3 linux v1
Configuracion basica de centos 6.3 linux v1Ecatel SRL
 
EvaluacióN Del Hardware Del Servidor De Base De Datos
EvaluacióN Del Hardware Del Servidor De Base De DatosEvaluacióN Del Hardware Del Servidor De Base De Datos
EvaluacióN Del Hardware Del Servidor De Base De DatosFreddy Banguero
 

Ähnlich wie Manejo Roles Linux (20)

45 trabajar con se linux
45  trabajar con  se linux45  trabajar con  se linux
45 trabajar con se linux
 
Nagios
NagiosNagios
Nagios
 
28 el directorio sysconfig
28  el directorio sysconfig28  el directorio sysconfig
28 el directorio sysconfig
 
Replicacion con postgresql y slony
Replicacion con  postgresql y slonyReplicacion con  postgresql y slony
Replicacion con postgresql y slony
 
Pg pool cluster postgresql
Pg pool cluster postgresqlPg pool cluster postgresql
Pg pool cluster postgresql
 
Actividad No. 5.5: Aseguramiento de servidores GNU/Linux
Actividad No. 5.5: Aseguramiento de servidores GNU/LinuxActividad No. 5.5: Aseguramiento de servidores GNU/Linux
Actividad No. 5.5: Aseguramiento de servidores GNU/Linux
 
Manual de configuracion de un cluster en Debian
Manual de configuracion de un cluster en DebianManual de configuracion de un cluster en Debian
Manual de configuracion de un cluster en Debian
 
Workshop Técnicas Replicacion I
Workshop Técnicas Replicacion IWorkshop Técnicas Replicacion I
Workshop Técnicas Replicacion I
 
Instalacion y configuracion de squid 2.6 estable
Instalacion y configuracion de squid 2.6 estableInstalacion y configuracion de squid 2.6 estable
Instalacion y configuracion de squid 2.6 estable
 
Admin Manual
Admin ManualAdmin Manual
Admin Manual
 
Autenticacion ldap
Autenticacion ldapAutenticacion ldap
Autenticacion ldap
 
Nagios
NagiosNagios
Nagios
 
Manual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUIDManual de configuracion de proxy SQUID
Manual de configuracion de proxy SQUID
 
Linux
LinuxLinux
Linux
 
Homework
HomeworkHomework
Homework
 
Actividad No. 1.14: Protección del servidor MySQL mediante filtrado de paquetes
Actividad No. 1.14: Protección del servidor MySQL mediante filtrado de paquetes Actividad No. 1.14: Protección del servidor MySQL mediante filtrado de paquetes
Actividad No. 1.14: Protección del servidor MySQL mediante filtrado de paquetes
 
Manual Bàsic PS Tools
Manual Bàsic PS ToolsManual Bàsic PS Tools
Manual Bàsic PS Tools
 
Configuracion basica de centos 6.3 linux v1
Configuracion basica de centos 6.3 linux v1Configuracion basica de centos 6.3 linux v1
Configuracion basica de centos 6.3 linux v1
 
06 airc firewalls
06 airc   firewalls06 airc   firewalls
06 airc firewalls
 
EvaluacióN Del Hardware Del Servidor De Base De Datos
EvaluacióN Del Hardware Del Servidor De Base De DatosEvaluacióN Del Hardware Del Servidor De Base De Datos
EvaluacióN Del Hardware Del Servidor De Base De Datos
 

Mehr von Daniel Cruz

Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDaniel Cruz
 
Programación Lógica con PROLOG
Programación Lógica con PROLOGProgramación Lógica con PROLOG
Programación Lógica con PROLOGDaniel Cruz
 
Aprendiendo SQL 2
Aprendiendo SQL 2 Aprendiendo SQL 2
Aprendiendo SQL 2 Daniel Cruz
 
Proyecto ipython - Oracle - Excel
Proyecto ipython -  Oracle - ExcelProyecto ipython -  Oracle - Excel
Proyecto ipython - Oracle - ExcelDaniel Cruz
 
Chipkit comunicacion puerto serie
Chipkit comunicacion puerto serieChipkit comunicacion puerto serie
Chipkit comunicacion puerto serieDaniel Cruz
 
Arduino entorno desarrollo
Arduino entorno desarrolloArduino entorno desarrollo
Arduino entorno desarrolloDaniel Cruz
 
Curso básico de introducción
Curso básico de introducciónCurso básico de introducción
Curso básico de introducciónDaniel Cruz
 

Mehr von Daniel Cruz (9)

Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nube
 
Programación Lógica con PROLOG
Programación Lógica con PROLOGProgramación Lógica con PROLOG
Programación Lógica con PROLOG
 
Aprendiendo SQL 2
Aprendiendo SQL 2 Aprendiendo SQL 2
Aprendiendo SQL 2
 
Proyecto ipython - Oracle - Excel
Proyecto ipython -  Oracle - ExcelProyecto ipython -  Oracle - Excel
Proyecto ipython - Oracle - Excel
 
Chipkit comunicacion puerto serie
Chipkit comunicacion puerto serieChipkit comunicacion puerto serie
Chipkit comunicacion puerto serie
 
Arduino entorno desarrollo
Arduino entorno desarrolloArduino entorno desarrollo
Arduino entorno desarrollo
 
Curso básico de introducción
Curso básico de introducciónCurso básico de introducción
Curso básico de introducción
 
Redes Rpc
Redes RpcRedes Rpc
Redes Rpc
 
Sq Lv1a
Sq Lv1aSq Lv1a
Sq Lv1a
 

Kürzlich hochgeladen

LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 

Kürzlich hochgeladen (20)

LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 

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.