"La Gaceta de Linux...haciendo de Linux algo un poco más divertido!"


La Seguridad y el Proyecto de Enrutador Linux

Por Mark Fevola

Traducción al español por Ricardo A.Frydman
el día 15 de Septiembre 2002, para La Gaceta de Linux


Los exploits son casi tan prolíficos como las actualizaciones del núcleo. Bueno, es cierto, quizás no tan comunes. Pero, las vulnerabilidades son abundantes para cualquier SO sin importar su plataforma, y Linux no es la excepción. El Proyecto de Enrutador Linux (y los enrutadores basados en Linux en general) tienen algunos tópicos de seguridad únicos que Cisco y otros enrutadores proppietarios no tiene, por la naturaleza del hardware de PC y el núcleo de Linux. Por ejemplo, el exceso de buffer es común en Linux, mientras que los enrutadores de hardware son casi inmunes a ellos. El administrador de LRP debe tener cuidado de reconocer y direccionar esas vulnerabilidades.

Entonces, por un lado tenemos diferentes enrutadores para todo: ISDN, Ethernet, control de frame T1, xDSL, PPP, ... , incluos un cablemódem/portmapping router/Ethernet hub con interface HTML, cada dispositivo con su aplicación de enrutamiento específica. Y el código fuente y hardware es confidencial y propietario.

Por el otro lado, tenemos un porcesador de propósito general x86 que puede hacer cualquier cosa con el programa adecuado, y el Proyecto de Enrutador Linux es la aplicación perfecta. Es crear una alternativa abierta a los enrutadores propietarios de la misma manera que los esfuerzos iniciales hicieron a Linux una alternativa a los Unix propietarios. El LRP es en relidad un núcleo Linux, delineado para facilitar el enrutamiento en todas sus formas, y adaptable a casi cualquier situación de red:

Tradicionalmente, los cortafuegos y enrutadores son entidades discretas con una caja como enrutador y otra como filtro cortafuegos, otra un servidor proxy o lo que tengas. Cada servicio tiene si hardware propio único, especialmente diseñado para la función que realiza. En tiempos recientes el hardware para éstos dispositivos comenzó a unificarse, de la misma manera que ATA IDE viene dentro de la placa madre y es ya parte de ella, aunque años atrás era una placa ISA adicional.

Eventualmente éstos enrutadores multipropósito introducirá una nueva disciplina de seguridad, y seguridad puede significar millones de cosas diferentes. Está la seguridad física, la seguridad del corazón (núcleo, interno), seguridad (enrutamiento) de la red. Si la industria evita el hardware propietario, puede repensar su seguridad. Esto es parte del plan:

I. Seguridad Física

  1. Política. Primero, escribe una Política de Seguridad y Auditoría. No puedes conquistar el mundo, a menos que tengas un plan. Oblígate. Comienza con un mapa de la red, y lista: ...incluso detalla cuan seguido se presta el disco rojo brillante de contraseñas. Cuando ves éste listado al frente tuyo, el resto del plan fluye, cuando sabes qué y dónde corren los servicios, es fácil hacer reglas de filtrado.

  2. Copias de Respaldo. Respalda el disco de LRP. No desperdicies el tiempo respaldando los archivos conf, sólo graba una imagen (a la 'dd') del disco entero. Es la mejor y más veloz manera de copiarlo. Sé cuidadoso ya que algunos sabores de LRP miden más de 1,44M entonces necesitarás copiarlos como /dev/fd0u1680 o similar. Crea el dispositivo con 'mknod' si no lo vieras. No existe manera de respaldar demasiado.

  3. Locación Física y Seguridad. Dado que el facsímil de LRP para una RAM no volátil es un disco flexible, necesitamos cerrar la máquina sin cabeza en un cuarto sin teclado, de manera que nadie pueda modificar el disco real por una copia. O que puedan sacarlo y destruirlo: un ataque DoS de baja tecnología. Este plan funciona para Ciscos también, aunque allí no hay falsos arrancados rápidos. Si secuestrar la máquina no es una opción, romper la carcasa y correr la unidad de discos flexibles un par de centímetros. Inserta el disco LRP y cubre la unidad con una pequeña protección. Esto se llama 'seguridad por oscuridad'.

  4. Arriba. Los cuartos reales de máquinas tienen (además de acceso restringido, gases, sistema de emergencia eléctrico, aire acondicionado y conductos de cableado) dispositivos en racks. Cosméticamente los racks y pisos elevados son para el manejo de cables; prácticamente los racks sirven para el flujo de aire, invasión de extraños, fuego, derrames, barridos, café derramados. Coloca el enrutador LRP sobre una mesa. Incluso un colchón viejo sirve.

  5. Contraseña de BIOS. Recuerda que ésta máquina es también un PC. Usa contraseña de BIOS. No estoy seguro sin las BIOS en las placas 486 tienen contraseñas universales así que ten cuidado.

II. Seguridad del corazón del núcleo

Las vulnerabilidades entre el núcleo Linux y los enrutadores, difieren. CERT data reporta que los ataques más comunes son las denegaciones de servicios (DoS) y exploración. Los ataques de DoS son fáciles de hacer y dificultoso de derrotar. Los excesos de buffer (poco comunes) y ataques de DoS (comunes) son posibles en ambos mundos de igual manera. La exploración de puertos puede venir de afuera o adentro. La exploración, aunque no es un ataque per se, pudo fácilmente ser interpretado en la corte como actividad de inteligencia de redes o incluso un DoS, dependiendo de la intensidad. Según mi entender, aún tenemos que ver los precedentes.

Solucionamos ambos problemas en el núcleo con parches de seguridad y nmap. De las distribuciones LRP principales, Los núcleos Oxygen incluyen el parche Openwall, de hecho Oxygen se actualiza continuamente. Si ves una vulnerabilidad, casi seguro está en el último Oxygen. De acuerdo a David Douthitt, el cerebro detrás de Oxygen, el núcleo en sí, protege "contra IP spoofing, paquetes de dirección inusuales (marcianos), y [rebotes] ICMP redirigidos y requerimientos de eco ICMP." Incluso así, el filtrado tradicional (seguridad de redes, debajo) debería incluir éstas reglas también.

nmap: Yo lo llamo, el sucesor de SATAN. Es el hito de las herramientas de seguridad. nmap explora cualquier conjunto de puertos TCP o UDP en cualquier conjunto de direcciones IP para verificar y encontrar vulnerabilidades en tu red. nmap revela los servicios innecesarios corriendo en la máquina LRP. Existen servicios innecesarios corriendo en algunas distribuciones fuera de la máquina (p.ej., discard, daytime, time). Una visita rápida a SecurityFocus.com o Rootshell.com te dirá como hacerles exploit.

CERT no trata acerca de otras vulnerabilidades comunes desde los propios usuarios en tu red tales como seguridades de sistema de archivo o sniffing. Lo relacionado al sistema de archivos, como fdisk, mke2fs o fstab no entra en discusión aquí (aunque sugiero que los desarrolladores de LRP incluyan el comando chattr en futuras versiones, que permitan ingresos a no-root) y sniffing no nos importa si sólo nos conectamos por la consola. --Oh! está sin cabeza! Debemos preocuparnos por el sniffing!

El sniffing de Ethernet es peligroso. En muchos casos es posible husmear otras redes lógicas en segmentos Ethernet de cable módem compartido. Incluso la conexión PPP dinámica de tu vecino desde otra conexión. Los virus y exploradores y todos los 11000 "bichos UNICODE" están tan descontrolados que podemos esperar que el husmeado se convierta en algo más común y difundido, quizá una categoría para el CERT si ya no lo es. Es interesante como la falta de direcciones IP periféricas facilita los ataques...

Encriptación y autenticación (ssh, ssl, smime, PGP) eluden el husmeado. Pero cualquier encriptación puede ser descubierta, lo mejor que podemos esperar es que nuestros datos se vuelvan obsoletos antes que el método de encriptado. Protejamos los datos de la mejor manera posible, tal como sesiones de telnet. Qué importa si alguien lo decodifica de aquí a un año? Muchos enrutadores descansan en la autenticación de contraseñas, la que puede ser sujeto de brutales ataques forzados o peor, dependiendo de la interfase. Aquí gana LPR. Soporta ssh.

III. Seguridad de la Red y Enrutado Externo

La seguridad física y del núcleo, aunque es específica de LRP puede y debe ser usada en toda situación. A continuación, una lista de reglas de límites de seguridad universales. La he incluido para completar el asunto de los tipos de seguridad y no entraré en mayores detalles.

Esquema de un enrutador delimitador para una infraestructura de negocios típica:

La respuesta corta es: "Bloquear todo". Permite acceso sólo a los puertos donde corran servicios, como el 80 para el servidor Web, 22 para ssh. Hacer wrap y chroot siempre que sea posible (p.ej. BIND). Correr X en máquinas accesibles por Internet tiene un gran no-no.

De vuelta al enrutado. El enrutado no es una tarea fácil para el novato, aunque tengamos interfases HTML para enrutadores Circuit City y tal. También tenemos Windows(tm). Para los otros tenemos LRP. El menú basado en texto del LRP presenta familiares /etc/conf.files, simple para usuarios Linux (UNIX, Freenix) pero intimidante como una línea de comandos críptica para cualquier otro. Otros enrutadores de un sólo disco, se aproximan a tener las mismas desventajas de aprendizaje.Sin embargo, LRP otorga el Tao del enrutado misterioso mas cerca a los excéntricos que otros enrutadores: Los comandos son familiares. A diferencia de la línea de comandos Cisco 'conf term', las configuraciones y comandos LRP no envejecen y permanecen intactas después de un año. Para los no excéntricos, el cambio entre un enrutador de mil dólares y LRP es plata versus tiempo.

Así que puedes comprar un enrutador especializado, o puedes estrujar tu hardware de tubos al vacío y agregarle características excepcionales y compilar módulos dentro del núcleo del LRP y personalizarlo. El cambio es flexibilidad versus seguridad. El LRP reemplaza la RAM no volátil por un disco flexible y hardware embebido con un núcleo: Sólo conserva desafíos especiales de seguridad en mente.

Mark Fevola

Mark obtuvo un BA en Escriture Técnica y uno menor en Ciencias de la computación, Magna cum Laude en la Universidad de Maine. En 1994 llevó el Internet comercial al Estado de Maine fundando la antigua ISP Maine. Deletrea 'grey' con una 'e', nos usa reloj, odia los hongos, lee libros y colecciona minerales.


Copyright © 2001, Mark Fevola.
Licencia de Copias http://www.linuxgazette.com/copying.html
Publicado en Edición Número 67 de Gaceta de Linux, Junio de 2001