Mostrando entradas con la etiqueta iptables. Mostrar todas las entradas
Mostrando entradas con la etiqueta iptables. Mostrar todas las entradas

viernes, 10 de mayo de 2013

Ejercicios de Iptables 4.d

d.- Explorar las extensiones de "marcado" como –mark.

Al igual que en el caso anterior modificábamos los bits de TOS  ahora podemos emplear números enteros positivos (hasta el 4.294.967.296) para clasificar y diferenciar a unos paquetes de otros en función de dicho valor.
El modo de empleo es para la comparación:
-t mark --mark {número} -j OBJETIVO
pero también podemos modificar las marcas para asignarle un valor determinado:
-j MARK --set-mark {número}
Las marcas se suelen emplear en combinación con iproute2 o colas para definir las rutas por dónde ha de ir determinado tráfico o incluso para realizar balanceos de carga entre varios interfaces de red.
Por ejemplo vamos a hacer que todo el tráfico que llegue por la interfaz eth1 y el generado por el propio equipo destinados a los puertos 80 (tráfico http) los marque con el número "1".
iptables -t mangle -A PREROUTING -i eth1  -p tcp --dport 80 -j MARK --set-mark 1
iptables -t mangle -A OUTPUT -p tcp --dport 80 -j MARK --set-mark 1

lunes, 6 de mayo de 2013

Ejercicios de Iptables. 4c

c.- Estudiar las opciones del tipo “mangle” y, en concreto las relacionadas con el tipo de servicio, TOS. La orientación de esta extensión es la alteración de paquetes de acuerdo con el servicio a prestar, priorizando el trafico proveniente de distintas partes. Por ejemplo, para minimizar los tiempos de espera: Minimize Delay. Es usada con las cadenas PREROUTING y POSTROUTING. Tratar, por ejemplo, de probar el correspondiente comando de iptables para minimizar la demora en el servicio telnet
La tabla mangle se puede usar para modificar paquetes, básicamente los objetivos con los que se puede usar son para modificar
  • TOS ( Type Of Service) y darle prioridad a unos paquetes frente a otros (dependemos de que los enrutadores externos a nuestra organización reconozcan estas marcas, que no suele ser lo habitual).
  • TTL podemos modificar el ttl para asignarles uno nosotros, con esto podemos ser más invisibles frente a utilidades como traceroute.
  • Mark: se suele usar para marcar los paquetes con valores específicos, estas marcas las podemos emplear después para realizar enrutamientos por determinados interfaces (empleando por ejemplo iproute) dependiendo de la marca, también podemos limitar anchos de banda y crear sistemas de balanceo de cargas mediante colas, basándonos en dichas marcas.

jueves, 25 de abril de 2013

Ejercicios de Iptables 4.b


b.- Utilizar la opción de log con cualquiera de las reglas probadas y comprobar que los mensajes son realmente registrados a través del syslog del sistema. Analizar la entrada que aparece en el log del sistema e identificar cada parte del mensaje.

La opción LOG proporciona un registro de paquetes coincidentes mediante el núcleo. Dispone de estas opciones adicionales:
                     log-level : seguido de un número (o nombre) de nivel. Los nombres válidos son (distingue mayúsculas/minúsculas) «debug», «info». «notice», «warning», «err», «crit», «alert». «emerg», que corresponden a los números 7 a 0.
                     log-prefix: seguido de una cadena de hasta 30 caracteres, que corresponden a un texto que se escribe al comienzo de cada «log» (registro), para permitir que sean identificados unívocamente.
                     Opciones adicionales: --log-tcp-options, --log-tcp-sequence, --log-ip-options
Este módulo es más útil junto a un objetivo «limit», de manera que no se inunden los archivos de registro.

jueves, 20 de octubre de 2011

Ejercicios iptables 3.- Guardar las reglas y contadores de iptables

3- Probar los comandos de almacenamiento de reglas iptables-save y de restauración de reglas iptables-restore (el procedimiento será algo diferente dependiendo de la distribución de LINUX que se esté usando).

La manera básica, una vez que hemos insertado y probado las reglas de iptables en nuestro equipo, consiste en ejecutar el comando “iptables-save” seguido del nombre del fichero dónde guardaremos nuestras reglas, por ejemplo:

iptables-save > /etc/reglas.iptables

si además queremos guardar también los contadores (número de paquetes que se han ajustado a cada regla) podemos emplearlo junto con la opción -c.
una vez que hemos guardado el fichero podremos restaurarlo con el comando iptables-restore del siguiente modo:

iptables-restore < /etc/reglas.iptables

el contenido del fichero /etc/reglas.iptables podría ser algo similar a la siguiente imagen:image

sábado, 8 de octubre de 2011

Ejercicios iptables 2.- Iptables como NAT

2- Explorar las posibilidades del tipo nat de IPTables. En concreto, probar a hacer NAT con comandos del tipo: # iptables -t nat -A POSTROUTING... y comprobar que se ha realizado el NAT con éxito, analizando los mensajes salientes.

A pesar de que ya he empleado NAT en el apartado 1.e emplearé un esquema nuevo que simula una red “real” para este ejercicio. En la misma tenemos nuestro cortafuegos con tres tarjetas de red separando las distintas zonas: Internet, la LAN y un DMZ en el que hemos puesto un servidor de DNS y un servidor FTP (simulado con netcat) de acuerdo con el siguiente esquema:

image
Las condiciones en cuanto a tráfico que ha de cumplir son las siguientes:

sábado, 1 de octubre de 2011

Ejercicios de Iptables 1.e


e.- Si dispone de dos interfases en el equipo, pruebe a denegar todo el trafico desde la eth0 a la eth1. Si no, al menos plantee cómo sería el comando.

Para comprobar el funcionamiento, en primer lugar debemos habilitar el enrutamiento en iptables, ya que en caso contrario no lo haría:
echo 1 > /proc/sys/net/ipv4/ip_forward
a continuación, lo único que tendríamos que hacer es:
iptables -A FORWARD -i eth0 -o eth1 -j DROP

Para comprobar su funcionamiento emplearé este equipo como enrutador para otra máquina virtual. 

A continuación abriré simplemente el navegador e intentaré conectarme a internet, veremos como las 
peticiones salen hacia fuera pero las respuestas procedentes de los servidores se rechazan.

miércoles, 28 de septiembre de 2011

Ejercicios de iptables 1.d.

d.- Rechazar la conexion al puerto 65000, protocolo udp, de la interfaz eth2, desde los ordenadores de la LAN (red local).

Dado que mi interfaz conectada a la LAN es eth2 voy a rechazar el tráfico destinado a esta conexión en lugar de a eth0

En primer lugar ponemos a escuchar nuevamente netcat, en este caso el protocolo udp de la interfaz eth2 y a través del puerto 65000 con el objeto de realizar las pruebas:
# con la opción “u” le indicamos que el tráfico será udp, con “n” que no resuelva los nombres de los # equipos, con “v” que nos detalle las conexiones
netcat -lunv -p 65000

image

martes, 27 de septiembre de 2011

Ejercicios de iptables. 1c

c.- Denegar la conexion al puerto 25, protocolo tcp, de la interfaz eth1

Para el resto de ejercicios emplearé una máquina virtual con tres interfaces:
  • eth0: 10.0.2.15 – NAT con la tarjeta física para salida a Internet
  • eth1: 192.168.56.10 – red sólo anfitrión para comunicarse con otras máquinas virtuales
  • eth2: 192.168.0.195 – modo puente para comunicarme vía inalámbrica con equipos de la red.
image



Para la realización de este ejercicio debemos poner la política por defecto a ACCEPT, ya que sino lo rechazaría sin que insertáramos ninguna nueva regla:

lunes, 26 de septiembre de 2011

Ejercicios iptables 1.b

b.- Permitir que la interfaz eth0 pueda enviar paquetes ICMP a cualquier red.

Por defecto con las reglas que hemos insertado no podríamos enviar ninguna solicitud de eco, tan sólo recibirlas ya que sólo estamos aceptando tráfico icmp entrante y su saliente relacionado:image
Para habilitarlo (podemos especificar explícitamente a cualquier red poniendo -d 0/0 o no especificando la dirección de destino que equivaldría a cualquiera):

martes, 20 de septiembre de 2011

Ejercicios Iptables 1.a

Introducción

Antes de comenzar con la actividad he instalado algunos programas para poder comprobar el funcionamiento de los comandos y el resultado de los mismos (el demonio contrackd es necesario instalarlo en algunas versiones de ubuntu):
apt-get install conntrack contrackdimage
apt-get install wireshark

sábado, 17 de septiembre de 2011

Ejercicios Iptables. Enunciados

A continuación se proponen una serie de ejercicios a realizar mediante iptables. Las soluciones en próximas entregas...


1- Escribir, probar (y comprobar) los siguientes ejemplos:
  • a Permitir el trafico ICMP de entrada al sistema desde cualquier red. 
  • b Permitir que la interfaz eth0 pueda enviar paquetes ICMP a cualquier red. 
  • c Denegar la conexión al puerto 25, protocolo tcp, de la interfaz eth1 
  • d Rechazar la conexión al puerto 65000, protocolo udp, de la interfaz eth0, desde los ordenadores de la LAN (red local). 
  • e Si dispone de dos interfases en el equipo, pruebe a denegar todo el tráfico desde la eth0 a la eth1. Si no, al menos plantee cómo sería el comando. 
  • f Idem, pero denegando el tráfico desde la eth0 a la eth1 de mensajes de protocolo tcp

lunes, 28 de abril de 2008

Cortafuegos basado en linux: smoothwall

Smoothwall, actualmente en la versión 3.0, es un cortafuegos basado en iptables de linux que, como véis en la imagen, añade un interfaz web que os permite configurar las diferentes opciones que incluye el mismo, entre las más interesantes: filtro de tráfico entrante/saliente,por qos,...,soporte VPN, Proxy (web, im y pop3), IDS (basado en snort), cliente y servidor ssh, servidor DNS, cliente para los principales servidores DNS dinámicos, registro de logs, y multitud de herramientas más.
Es decir con smootwall y un pequeño equipo (desde pentium en la versión express, que es la gratuita) podrás montar un cortafuegos de manera rápida, sencilla, y con un interfaz de configuración muy práctico.