[CentOS-es] bloquear la carga de modulos en el kernel

Carlos Martinez camarti en gmail.com
Mie Ago 12 16:52:47 UTC 2009


Saludos.

lcap es el tipo de herramienta que busco. Si existen otras
herramientas/alternativas como esa, me interesa mucho saber de ellas.

Para mas informacion lo que deseo hacer es lo siguiente:

Tengo una serie de servidores tanto en maquinas fisicas como en VMs --
unos 20 o 30 -- con servicios muy especializados (unos de dns
recursivo, otros de dns no recursivo, otros de tiempo, radius, ftp,
monitoreo ...) y por lo tanto en estas maquinas las condiciones son
las siguientes:

1) el hardware (virtual o no) es siempre el mismo. Es decir, al
servidor no se le va a conectar una nueva camara, una tarjeta pcmcia,
dispositivos firewire, impresoras, etc.

2) No existe modo grafico

3) No necesito plug and play (salvo para descubrir los dispositivos al
arranque y manejar un teclado usb)

4) La cantidad de funcionalidades en el kernel y servicios requeridos
por maquina/VM es minima (no necesito IPv6, no necesito soporte para
puertos paralelos, seriales, 100 diferentes modelos de tarjetas de
red, portmap, dbus, sensores, fb ... etc.)

5) Una vez arranca el sistema y arrancan todos sus servicios, no
necesito ninguna nueva funcionalidad (carga del modulos adicionales),
en el kernel

Y por lo tanto deseo:

a) Bloquear la carga de modulos adicionales al kernel ya sea de forma
definitiva o gestionable a traves de una clave distinta a la de root

b) Limitar las capacidades del kernel al maximo de tal forma que sirva
solo para lo que se requiere y nada mas de acuerdo a la mision del
servidor

En ese sentido, el blacklist de modprobe no funciona, al igual que el
borrado de modulos ya que se pueden insertar modulos foraneos copiados
desde otra maquina con ismod.

Tampoco es viable crear kernels monoliticos ya que ello obligaria a
mantener por lo menos 5 ramas de kernels distintos (uno para cada
modelo de servidor y configuracion de hardware), mas la pesadilla de
la integracion con los modulos del vmware y el manejo del ipmi

El no permitir la cargar de nuevos modulos  no resuelve magicamente
los problemas de seguridad, pero previene y mitiga algunos de ellos
(como el hecho de que alguien ingrese al sistema y cargue modulos a
voluntad si logra obtener acceso a root) y aumenta la seguridad de
sistema.

Gracias a todos por sus respuestas.

Carlos Martinez

2009/8/12 Ernesto Celis <celisdelafuente en gmail.com>:
> El 12 de agosto de 2009 02:05, emmanuel segura <emi2fast en gmail.com>
> escribió:
>>
>> mira aver si en centos esiste lcap.yo lo usava en debian etch
>
> lcap aparece en yum. Pero siento que es demasiado solo para evitar que
> ciertos modulos se carguen en el kernel (al inicio del sistema).
>
> Sería bueno que, Carlos; nos explicaras que pretendes, así podríamos
> ayudarte mejor.
>
>>
>> 2009/8/12 Ernesto Celis <celisdelafuente en gmail.com>
>>>
>>> El 11 de agosto de 2009 18:04, Carlos Martinez <camarti en gmail.com>
>>> escribió:
>>>>
>>>> Saludos.
>>>>
>>>> Existe alguna forma de bloquear la carga de modulos en el kernel?
>>>
>>> ¿Ya leiste el man de modprobe.d?
>>>
>>> apropos modprobe, también funciona bien para darte una idea donde empezar
>>> a buscar si estás muy perdido.
>>>
>>>>
>>>> Es decir,  existe algun parametro que se pase via /proc o sysctl que
>>>> evite que se puedan cargar [nuevos] modulos a un kernel modular?
>>>
>>> En particular, te interesa blacklist.
>>>
>>>> Se que la solucion ideal es un kernel monolitico pero esta no escala muy
>>>> bien que digamos (demasiado trabajo estar recompilando un kernel distinto
>>>> para cada sistema).
>>>
>>> ¿Donde oiste que la solución ideal es un kernel monolítico? No importa,
>>> un kernel así tiene sus usos, pero no necesariamente es lo "ideal". ;)
>>>
>>>> Gracias a todos por sus respuestas.
>>>
>>> No hay de queso... :P
>>>
>>>> Carlos Martinez.
>>>
>>>
>>> Saludos
>>> Ernesto
>
> Saludos
> Ernesto
>


Más información sobre la lista de distribución CentOS-es