usuario
clave
iniciar sesión
regístrate
Portada
Canales
  • Apple
  • Blackhats
  • Ciencia
  • Comunicación
  • Curiosidades
  • e-Administración
  • Empresas
  • Eventos
  • Hardware
  • Nombramientos
  • Seguridad
  • Software
  • Software Libre
  • Telefonía
  • Videojuegos
  • Wireless
El Periódico
  • Blogs
  • Editorial
  • Entrevistas
  • Gadgets
  • Perfiles
  • Tags
  • Top noticias
  • Videorreportajes
  • Webcómics
Servicios
  • Boletines
  • Contactos
  • Empleo
  • Formación
  • Minijuegos
  • Tienda
  • Viviendas
Comunidad
  • Encuestas
  • Foros
  • Emails de los lectores
Viviendas
Acción:
Propiedad:
Provincia:

Patrocinado por:
Tienda
Boletín semanal
Email:
Boletines publicados
  • Software Libre
  • Noticias
Otras noticias
  • Firefox pierde terreno en España y América Latina
  • El Parlamento insta al Gobierno a promover la investigación en software libre
  • La Asamblea extremeña rechaza las patentes de software y pide al Gobierno que apueste en UE por Código Libre
  • Novell lanza un nuevo programa de superinformática basado en Linux
  • La Junta de Extremadura acuerda migrar toda su administración a Software Libre
  • Ecma International aprueba el formato Office Open XML como estándar industrial mundial
  • Software gratuito para gestionar un negocio
  • Aparecen las nuevas versiones de FireFox y Thunderbird
  • Un estudio cuestiona que Linus sea el creador de Linux
  • Cantv y sus empresas filiales migrarán a software libre en 2008
Más noticias
En el foro
  • Programa para grabar CD y DVD
  • Instalar diccionarios en OpenOffice
  • Programa Para Llevar EL Control De Inventario
  • Software libre estadistico
  • ¿Qué pensais de Firefox?
Ir al foro de Software Libre
SE LINUX NETWORKING

Las redes SELinux en UMEET 2003

Hay muchos aspectos involucrados en el complicado tema de las Redes SELinux, por lo que en primer lugar se realizó una introducción a la charla comentando aspectos del propio conferenciante, James Morris, desarrollador del kernel durante mucho tiempo y actualmente trabajando para Red Hat en el desarrollo de SE Linux.

17 Dic 2003 | SARAH ROMERO, LA FLECHA
P

or su interés, La Flecha recogió dicha conferencia retransmitida a través de IRC en el canal #linux del nodo irc.uninet.edu que les ofrecemos a continuación, a cargo de James Morris de Red Hat, Estados Unidos:

James Morris: " Hola a todos. Esta introducción será sobre redes bajo SELinux, pero primero voy a ofrecer una pequeña introducción sobre SELinux
SELinux es un sistema de seguridad desarrollado por la agencia nacional de seguridad estadounidense provee un sistema linux con MAC security la mayor parte de las decisiones de seguridad son echas de manera transparente al usuario por ejemplo si un usuario quiere compartir un fichero, lo único que debe de hacer es un chmod 664 al fichero para que se pueda leer por los demás usuarios bajo un sistema de seguridad MAC, el kernel es el que realmente decide que fichero se puede o no compartir, en vez del usuario una política de seguridad será usada para especificar las reglas de seguridad del sistema SELinux usa un modelo generalizado de seguridad, donde los objetos del kernel (ej, procesos, ficheros) están cada uno identificados y etiquetados en un contexto de seguridad.

Un contexto de seguridad puede contener un numero de atributos de seguridad para el objeto ej.- el rol es un atributo, y puede ser sysadmin. Cuando una decisión de seguridad debe ser tomada, SELinux comprueba el contexto de seguridad de cada objeto y despues se hace una consulta a la política se seguridad para determinar los recursos disponibles. Por ejemplo, un proceso etiquetado con el rol sysadmin se le puede permitir el acceso en /etc/shadow
Afortunadamente, esto introduce dos ideas en SELinux: Control de acceso obligatorio (MAC) y contextos de seguridad esta es una visión simplificada

Más información sobre SELinux disponible en http://www.nsa.gov/selinux/docs.html http://sourceforge.net/docman/display_doc.php?docid=15285&group_id=21266

SELinux extiende seguridad MAC al coontexto de redes. Esto es importante y práctico ya que hoy en día un grán número de sistemas están conectados
por RED. SELinux permite a sistemas conectados en red ser endurecidos contra la mayor parte de las vulnerabilidades y errores de usuario primeramente, todas las socket system call son controladas por SELinux ej.- un proceso debe tener permisos para usar socket(), bind(), listen(), accept(), sendmsg(), rcvmsg(), etc..
Esto efectivamente permite a SELinux controlar que aplicaciones pueden hacer uso de recursoso de red
Si no puedes usar las socket system call, tendrás problemas intentado hacer cualquier aplicación que haga uso de recursos de red
Algunos de estos permisos estan aun mas atomicos, por protocolo: TCP, UDP y Raw IP

Asi que por ejemplo, SElinux es capaz de imponer una politica donde cierta aplicacion, como apache, solo puede realizar llamadas a sockets en TCP.
Si apache fuera comprometido, el kernel no dejaria que Apache trabajase con sockets en UDP. Aun mas permisos son proveidos para bind(), donde el numero de puerto es especificado (por ejemplo solo escuchar en puerto 80), asi como cuales direcciones de IP local puedan ser usadas.
(notemos que ningun cambio se debe de realizar en la aplicacion para llevar a cabo esto, todo esta controlado con politicas de seguridad hechas cumplir a nivel del kernel/nucleo).


Tambien se proveen permisos para que con las politicas especifiquemos que trafico de que interfaz de red puedan ser recibido o enviado. Esto tambien es aplicado a nivel de protocolo. Por ejemplo, se podria escribir una politica que dice que Apache solo puede enviar y recibir trafico de TCP en la interfaz eth1.
El tráfico de RED puede ser controlado también por direcciones IP para un proceso o protocolo. Combinando estos controles proveen un potente y flexible vía para contener aplicaciones que aceptan concexiones de red.

Poniendolo todo junto, un ejemplo simple seria especificar que sshd tiene permitido hacer llamadas de socket para TCP, utilizar el puerto 22, enviar y recibir trafico de TCP sobre una interfaz interna solo a direcciones de intranet.
Aplicaciones como ssh, sshd, bind, etc. pueden ser limitadas de igual forma.

Una pregunta que se estaran haciendo es, como es esto difirente a iptables?
Primeramente, el tráfico de red está asociado con un proceso específico (esto se puede hacer de forma limitada con iptables y está sólo presenta en la capa de red)
Los controles de SELinux son parte de un esquema más general donde las apliciones son reducidas a lo que pueden hacer, por ejemplo hacer uso del sistema de ficheros

Nurb: ¿puede un filtro basado en roles de SELinux funcionar con netfilter/iptables (añadido a las propias políticas de SELinux)

Si, puedes escribir una regla de iptables para el contexto de seguridad, pero sólo funcionará para los paquetes de salida generados localmente
para los paquetes entrantes, iptables se cuelga de de la capa de red y no puede saber como el paquete está eventualmente asociado con el espacio de usuario (en el caso de que exista)


Riell: hay planes para transferir el contexto de seguridad atravez de la red (con ipsec), para que tambien se puedan filtrar los paquetes basandose en el contexto de seguridad tambien?


si, miraremos eso dentro de poco

Lo que tenemos con SELinux en red actualmente, es una forma de hacer nuestros sistemas mas dificil de ser atacados (de manera interna y externa), en contra de errorers de configuracion, integrados con un sistema de MAC.

Muchas (si no todas) de esas vulnerabilidades vistas recientemente han sido contenidas por SELinux, aunque SELinux no puede proteger de los fallos (bugs) del propio kernel (ej.- el fallo con do_brk()) o una mala política de seguridad
Por tanto no es una bala mágica. SElinux está aún en desarrollo (trabajando en habilidades que puedan ser continuadas cuando después de que el kernel 2.6.0 sea lanzado)

aahlih pregunta: ¿ Cuál es el consumo de todas las comprobaciones de SELinux ?

Por mis propias medidas, entre un 5%-15% dependiendo de lo que estés probando. Cuantas más habilidades sean implementadas, la red irá más lenta, pero de todas formas el mayor trabajo en rendimiento y escalabilidad se harán en los próximos 6 meses.
Por ejemplo, parece haber una cerradura que se lleva la mitad del consumo, esto es algo que puede ser parcheado
pero siempre habrá algo de consumo por parte de SELinux

pregunta Hanna: Que lock es ese?


es el avc_lock en avc_has_perm(), el cual es llamado en todo chequeo de permisos de acceso. Este parece como un cadidato para RCU (read copy update / leer copiar actualizar)

pregunta feistel: diferencias entre systrace de openbsd y selinux?


yo no estoy muy familiarizado con systrace, aunque parece que proporciona un control sobre como utilizan las syscall
SELinuux puede controlar el uso de syscall, como parte de una politica integrada de seguridad. Algunas caracteristicas de red planeadas por SELinux incluyen
-add control para enviar/recibir trafico por un puerto ( yo estoy trabajando en eso hoy)
- mejorar los sockets locales de Unix para que las aplicaciones se puedan autenticar utilizando credenciales de SELinux. (esto esta implementado y bajo revision de otros desarrolladores)

- El mejoramiento del socket UNIX sera util para integrar al X, y a los procesos locales IPC tal como el DBUS pero eso son topicos ya mas profundos
- Hacer los controles de red, mas expresivos (son poderosos) pero no de tan facil uso como iptables las reglas de iptables

- Modelo de red etiquetado (esto extiende el modelo de seguridad a traves de la red)
-Mejor soporte para NFS

- Integracion con IPSEC (ej , la politica de seguridad puede espeficar requerimientos de proteccion para el trafico de la red)

- Esto se implemento usando opciones IP, en una version previa de SELinux


Una version mas actual se ha implementado antes de SELinux, usando la arquitectura predecesora Flask
Pero en lugar de etiquetar cada paquete, se etiquetan las conexiones IPSec
entonces, cada paquete fluyendo en una conexion IPSec dada (mas tecnicamente, cada asociacion de seguridad) tiene una etiqueta implicita
El etiquetado de seguridad fue negociado via una extension a ISAKMP (el protocolo de manejo de llave/key).
Futuros etiquetados de paquetes pueden revertirse al metodo basado en IPSec.
El Metodo de Etiquetado de Red puede ser util probablemente solo en ambientes muy seguros donde los sistemas estan bajo estrictos controles de administracion (ej: telcos)


pregunta sysbd: ¿ Porqué las cerraduras LSM no son incluidas en la línea principal de desarrollo del kernel (o han sido silenciosamente rechazados) Tiene el método IPSEC muchas desventajas ?


Las cerraduras LSM para el modelo de red etiquetado han sido rechazadas por el mantenedor ya que se introducen demasiado. Han sido puestas básicamente dentro de los protocolos de red, hemos tenido que implementar básicamente casi todo usando otros medios (Por ejemplo, via Netfilter), así que la decisión para ruidosa.
El método IPSec tiene dos desventajas (desde mi punto de vista)
1) Hace que IPSec sea más complicado, lo que es malo para la seguridad.
2) Combina el etiquetado con la protección dentro del mismo mecanismo.
Esto siginifica que si tu quieres etiquetado, debes de tener IPSec, pienso que esto es probablemente lo que la mayoría de la gente quiere (pero algunos entornos deben tener métodos de encriptación en el cable, por ejemplo)
Aparte de todo eso, después de ver los dos esquemas, el sistema IPSec tiene algunas interesantes simplicidades de tal forma que sólo tengas que mirar en el SA (Security Association) al cual el paquete pertenece, en vez de identificar las opciones IP.


Y las opciones IP, probablemente, no funcionen en la internet real ya que la mayoría de los firewall/router lo bloquearán.
pregunta cdub: en paquetes de entrada (digamos tcp accept) es posible que más de un proceso (o ninguno) esté esperando para sincronizar. Ya que el proceasamiento ocurre en contexto de interrupciones, ¿ Has tenido problemas tomando el contexto correcto a identificar ?
si, hay algunos casos que necesitamos revisar, debido a que no hay ganchos en el codigo de TCP
esto talvez podria ser resuelto haciendo un lookup (operacion de busqueda), pero necesita mas investigacion
bueno, he terminado con el material que planee para la presentacion, hay mas preguntas?


pregunta cdub: he tenido problemas con procesos que pueden cambiar de contexto de seguridad, y accesando informacion que no deberian de tener acceso a
en SELinux o solo con LSM?


para SELinux, se puede cambiar el contexto de seguridad en ejecucion, asi que talvez estas heredando el socket?
pregunta riel: como van ipsec & selinux beneficiar administradores de sistemas normales, quienes no pueden poner reglas complejas de seguridad ellos mismos?
Buena pregunta. Primero que nada, para ipsec, deberia de ser posible simplificar la configuracion para usos comunes, por ejemplo VPN's creo que es manejable, ya que IPSec es bastante usado hoy en dia para SELinux, sera mas dificil creo. Esperemos que las distribuciones provean buenas politicas para las aplicaciones, para que no sean cambiadas regularment y actualizaciones a las politicas como agregar usuarios, etc. seran implementadas en aplicaciones faciles para el usuario, pero creo que esta es la gran incognita para SELinux, y un gran desafio para Red Hat, Debian, Gentoo etc. ¿alguna otra pregunta?

pregunta nurbs: que quieres decir por mejor soporte para NFS?


Esto podria ser simplemente manteniendo el contexto de seguridad de los archivos sobre NFS, o mas complicado, que el server de NFS imponga las politicas de seguridad en el sistema de archivos remoto como si fuera local esto necesita ser implementado usando extensiones para NFSv2/3
NFSv4 tiene una vision mas grande respecto a esto ( se necesitan que los atributos extendidos sean enviados por el canal: asi es como el contexto de seguridad de SELinux esta implementado para archivos) pero igual se necesita hacer trabajo en NFS y SELinux para que esto funcione bien

El soporte actual para NFS es minimo: un sistema de archivos montado via nfs aparece con todos los archivos y directorios teniendo el mismo contexto de seguridad, y ningun contexto de seguridad es alamacenado remotamente.


Ok, parece que terminamos :-)"

Boletín

Si quieres recibir cada semana las noticias más interesantes suscríbete a nuestro boletín.

Comentarios
LaFlecha.net no se hace responsable del contenido de los comentarios publicados.
Editar | Borrar | #1 | 05 Ago 2004, 12:24
Ma. Alejandra Castillo M.

Hola, he leido el articulo y es muy bueno.

En este momento me encuentro recopilando informacion ya que mi proyecto de tesis lo realizare sobre la creacion de alguna politica de seguridadSELinux.

Ud, me podrian decir la forma de contactarme con estas personas, para relacionarme y complementar mas el tema!?

esperando una buena acogida, me despido atte.,

__

Ma. Alejandra Castillo M.

acastillo@condorweb.net

Entérate de cuándo hay nuevos comentarios

No se permitirán los comentarios que :
- puedan resultar ofensivos o injuriosos
- incluyan insultos, alusiones sexuales innecesarias y palabras soeces o vulgares
- apoyen la pedofilia, el terrorismo o la xenofobia

Autor
Comentario
BBCode (Ayuda): [b], [i], [quote], [code]
Publicidad
Ahora en LaFlecha puedes encontrar cursos y másters



  • Acerca de LaFlecha
  • Contactar
  • Política de privacidad
  • RSS/RDF
  • Registro de Dominios
    Alojamiento Web
    Servidores Dedicados
    Buscador de Empresas
  • Pixmania
  • Alojamiento web
  • Eventos Barcelona
  • Alojamiento Web
  • Alquiler Limusinas
  • Fotografos Bodas
  • Casino Online
  • ¿Quieres saberlo todo sobre Hacking?