Hoy es Monday, 21 de May de 2012

Tags Tags: Firewalls en Linux (II) | Firewalls en Linux (II)
Estás en: www.eurosoftware-2000.com | Unix - Linux | Seguridad | Firewalls en Linux (I)

| Más

Firewalls en Linux (I)


Firewalls en Linux

SeguridadDesde que las redes se popularizaron, de la mano del Departamento de Defensa de los Estados Unidos, la noción de "vulnerabilidad informática" se estableció como una realidad que era necesario tomar en cuenta a la hora de pensar en insertar una computadora en dicho escenario. Detalles como "hacer público sólo aquello que debe serlo" se volvieron importantes, y con el aumento de los recursos disponibles vía la incipiente Internet, el control del tráfico desde y hacia las distintas subredes se comenzó a ver como una necesidad más que como un lujo. Es así que entran en escena los llamados firewalls, programas o dispositivos diseñados para limitar el tráfico entre dos o más redes. Ahora bien, centrándonos en los programas ideados para funcionar como firewalls, comenzaremos por ver un par de conceptos básicos… Todo el tráfico que atraviesa una red es enviado en forma de paquetes. Por ejemplo, si descargamos una página web de 50k, estos nos serán enviados en más o menos 36 paquetes de 1460 bytes cada uno. El principio de cada paquete dice a dónde va, de dónde viene, el tipo de paquete, y otros detalles administrativos. Este principio se denomina encabezado. El resto del paquete, que contiene la información que se transmite, se denomina cuerpo. Algunos protocolos, como el TCP, que se utiliza para tráfico web, correo, y logins remotos, usan el concepto de "conexión". Una conexión se realiza cuando, antes de que cualquier paquete de datos sea enviado, varios paquetes especiales se intercambian diciendo "Quiero conectarme", "OK", y "Gracias", después de lo cual se establece el flujo de datos relevantes.


Entonces, ¿qué es un filtro de paquetes?

Un filtro de paquetes es un programa (o conjunto de programas) que mira el encabezado de los paquetes mientras estos lo atraviesan, y decide el destino de cada paquete. Puede decidir descartar el paquete (DROP en inglés), aceptar el paquete (ACCEPT), o realizar alguna acción más complicada con él. Bajo Linux, el filtrado de paquetes está incluido en el Kernel ya sea como un módulo cargable, o compilado en él. Ahora bien, uno puede preguntarse, ¿por qué filtrar paquetes? Bueno, existen varias razones… Control. Seguridad. Observación. Esas son las más relevantes…

- Control: Cuando se utiliza una máquina Linux para conectar la red interna con el mundo exterior, como por ejemplo, Internet, se puede de-sear permitir un cierto tipo de tráfico, y prohibir otros. Por ejemplo, ya que el encabezado de un paquete contiene su destino, se puede evitar que algunos vayan a un cierto destino, como por ejemplo, servidores de chat, mensajeros instantáneos, servidores de popups, etc.

- Seguridad: Cuando nuestra máquina Linux es el único bastión entre el caos de virus, hackers y spyware de Internet y nuestra hermosa y ordenada red interna, es bueno saber que uno puede evitar que mucho de lo de afuera irrumpa… Por ejemplo, podríamos querer evitar el famoso "ping de la muerte", o cerrar el acceso vía telnet a nuestra máquina con Linux. O, como la mayoría de nosotros, quizás simplemente desee ser un observador en la Internet, y no un servidor de ninguna clase de archivos, aún de clientes Peer-To-Peer que puedan llegar a "vivir" en nuestra red interna. Simplemente deberemos denegar todo el tráfico saliente de nuestra red a través de nuestra Linux box, y santo remedio…

- Observación: A veces, una máquina mal configurada en la red local puede decidir escupir paquetes al mundo exterior. Es bueno en este caso que el filtro de paquetes nos pueda avisar si ocurre alguna cosa extraña, sea vía los mecanismos de log tradicionales de Linux, o de alguna forma más elaborada, como un mensaje de correo electrónico, etc., para que podamos decidir cómo afrontar éste inconveniente.