Estoy interesado en cómo SELinux efectúa el procesamiento de paquetes a través de la pila de redes. He encontrado las siguientes preguntas y respuestas:
Políticas de red bajo AppArmor / SELinux
Filtrando el acceso a la red en base a un usuario / grupo / proceso
El primero parece implicar que SELinux puede etiquetar paquetes (como el etiquetado de VLAN), y el procesamiento puede diferir dependiendo de las etiquetas asociadas con los paquetes. Esto tiene sentido para mí. Sin embargo, la segunda pregunta es sobre el acceso a la red a través de grupos de usuarios y controles de acceso. No está claro según la respuesta y los comentarios si esto es cierto o cómo es posible.
Al leer el código fuente del Kernel de Linux (2.6.16, sé que su antiguo pero muchos dispositivos integrados todavía usan 2.6), se encuentra con el archivo /security/selinux/hooks.c
. Esto tiene funciones como selinux_parse_skb_ipv4, selinux_socket_create, selinux_socket_bind, etc
.
Mis preguntas son:
- ¿Puede alguien aclarar la segunda pregunta para mí? Ya sea respondiendo esa pregunta o respondiéndola aquí.
- ¿Afecta SELinux a la pila de la red de alguna otra manera?
- Con funciones como las enumeradas anteriormente, ¿se utiliza SELinux para crear el concepto abstracto de un "socket seguro"? Al igual que la la API de Windows proporciona llamadas de función a crear "sockets seguros".