![]() |
Administración de Sistemas Operativos en Red
|
| Práctica 11 | |
| Redes de Comunicaciones | |
| 31 /05/2004 | Configuración de filtros de paquetes con knoppix e iptables. |
ObjetivoCuando se conecta un sistema a una red, una de las tareas que debe realizar el administrador del sistema es garantizar un mínimo de seguridad en su sistema. Una de las tareas que en esta práctica se pretende desarrollar, es que el alumno implemente filtros de paquetes para controlar el tráfico de su sistema. Al finalizar la sesión dispondremos de un PC conectado a una red que tiene implemantado una política de filtros que lo harán más seguro dentro de la red de área local en la que está conectado. |
|
Conocimientos previosAunque en clase de teoría ya se han impartido los puntos más importantes para poder efectuar esta práctica, como referencia, se puede usar la múltiple información que sobre cortafuegos en general, y sobre iptables, en particular, aparece en Internet. Algunos documentos interesantes son:
|
|
Conocimientos previosIntroducción Conectar un sistema a una red supone exponerlo al peligro de ser atacado por los distintos sistemas que cohabitan con el nuestro y por todos aquellos que pueden alcanzar dicha red. Es por ello que un administrador de un sistema debe, como una de sus principales tareas, diseñar, implementar y configurar una política de seguridad que le dé unos niveles de fiabilidad aceptables. Los mecanimos mínimos que todo administrador debe introducir en su sistema son los llamados preventivos y que, básicamente, consistirán en configurar adecuadamente tanto el núcleo y el sistema operativo que ejecuta nuestro equipo como los servicios y programas que están ejecutándose en él. Otra característica que todo administrador debe introducir, y que es en la que nos centraremos en esta práctica, es la de filtrar los paquetes que llegan y salen de nuestro sistema. Para ello, en los últimas versiones de los núcleos de Linux, y también en knoppix, se dispone de la utilidad iptables que nos permite configurar reglas de filtrado de paquetes. El filtrado de IP es simplemente un mecanismo que decide qué tipos de datagramas de IP serán procesados normalmente y cuáles serán descartados. Se pueden aplicar muchos criterios , y en diferentes ordenamientos, para determinar qué datagramas se desean filtrar; como por ejemplo:
Net filter o iptables En la figura se puede observar los diferentes pasos para procesar un paquete en Linux.
Las diferentes etapas por las que pasa el procesamiento de un paquete son:
En Linux, el flujo 1->3->5 es el reenvío de paquetes entre nuestro sistema y un equipo alcanzable; el flujo 1->2 es el flujo de entrada de datos; 4->5 es el de salida y el 4->3->2 es el de loopblack. En Linux, el filtro de paquetes se puede realizar en varias etapas del procesamiento de datagramas. Para iptables, la versión más reciente de cortafuegos para Linux, el filtro para Input, se aplica a la etapa 1 de la figura, la de reenvío se aplica a la 3 y la de salida a la 5. Uso de las iptables Para poder hacer uso del cortafuegos, primero debemos configurar el núcleo de Linux, que, para usar la versión de NetFilter, la versión del núcleo de Linux debe ser igual o superior a 2.4.0. Las opciones que tenemos que seleccionar en el núcleo, tras ejecutar la orden make menuconfig en el directorio /usr/src/linux-version, son: Networking options ---> Sintaxis de iptables Una vez que se tiene listo el núcleo, para configurar el filtro de paquetes basta con incluir una serie de reglas con el comando iptables. La sintaxis de este comando es:
Para más detalles, consultar la ayuda del comando (iptables -h o man iptables) o la bibliografía mencionada. Ejemplo Vamos a suponer que queremos denegar todo el tráfico de reenvío (si nuestro equipo no es un router, no debería tener permitido esta opción) y que sólo va admitir que se use el servico de telnet desde la dirección 192.168.16.225. El resto estará denegado. La dirección local será 192.168.16.226. Además, mostraremos todos los paquetes rechazados. # iptables -F FORWARD
#iptables -A INPUT -m tcp -p tcp -j LOG #iptables -A OUTPUT -m tcp -p tcp -j LOG |
|
EnunciadoLa práctica consistirá en configurar un filtro de datagramas IP para controlar el flujo de paquetes que entra y sale de nuestro sistema. Así, la política a implementar es:
|
|