38
FIREWALL IPTABLES Centro Asociado de Melilla

FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

Embed Size (px)

Citation preview

Page 1: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

FIREWALL

IPTABLES

Centro Asociado de Melilla

Page 2: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

1. Seguridad de alto nivel

2

Hay dos elementos imprescindibles

que han de combinarse, que son los

cortafuegos y los proxys.

Una estructura típica que mantienen

un gran número de empresas es la

que se muestra en la primera

Figura, donde se reflejan estos dos

mecanismos, que sirven como

barrera ante posibles intrusos.

La configuración de una red doméstica,

como la que habitualmente tenemos en

casa, es mucho más simple, como se

muestra en la segunda Figura, donde

el router ejerce de cortafuegos.

Page 3: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

2. Cortafuegos: qué son y para qué sirven

3

Un cortafuegos es un sistema que audita y evita los intentos de conexión no

deseados tanto desde los equipos hacia la red como desde la red hacia los

equipos.

Un cortafuegos puede ser tanto un dispositivo hardware como software, es

decir, podemos tener una máquina diseñada específicamente para esta función o

utilizar una aplicación que se instala en uno de los equipos conectados a la red.

La siguiente figura muestra la estructura de una red básica donde se ha

instalado un equipo que actúa como cortafuegos, ocupándose de filtrar todo

aquello que sale y entra a la red de área local.

Para que un Firewall entre redes funcione como tal debe tener al menos dos

tarjetas de red.

Page 4: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

2. Cortafuegos: qué son y para qué sirven

4

Además del filtrado de paquetes, el uso del cortafuegos nos ofrece

una serie de servicios adicionales muy útiles par proteger el buen uso de

nuestra red y nuestros servidores, como muestra la siguiente Tabla.

Page 5: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

3. Tipos de cortafuegos

5

3.1. Según su ubicación

Existen dos criterios de clasificación principales de los cortafuegos, uno basado en

la tecnología implementada y otro en su ubicación dentro del sistema.

La ubicación de los cortafuegos va intrínsecamente relacionada con el sistema

que se quiere proteger. Podemos distinguir entre dos tipos de cortafuegos en

función de donde se localicen:

Los cortafuegos de sistema o personales restringen la comunicación no autorizada

con un equipo, actuando como un sistema de defensa perimetral, mientras que los

cortafuegos de subredes protegen toda una subred en conjunto (actuando como

único punto de entrada).

Cortafuegos de sistema o

personales.

Cortafuegos de subredes

Page 6: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

3. Tipos de cortafuegos

6

3.1. Según su ubicación

Cortafuegos personales

Los cortafuegos personales surgen como respuesta a la necesidad de proteger

los equipos pertenecientes a redes privadas particulares, por ejemplo, las que

se instalan en nuestros domicilios para permitirnos conectarnos a Internet.

Este tipo de cortafuegos se instala en el equipo del usuario y proporciona cinco

funciones principales:

1. Permite supervisar todas las conexiones con el exterior, incluyendo los accesos a

servicios de Internet.

2. Permiten monitorizar los programas locales que tratan de acceder a Internet para

que el usuario pueda decidir si permite que lo hagan o no.

3. Proporciona mecanismos para bloquear los posibles intentos de intrusión al

equipo u otros ataques realizados desde Internet.

4. Realiza un registro de todas las conexiones realizadas desde el equipo.

5. Algunos de ellos incorporan filtros antispam, así como detección de virus u otros

códigos que pueden ser perjudiciales para el equipo.

Page 7: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

3. Tipos de cortafuegos

7

3.1. Según su ubicación

Cortafuegos de subredes

Los cortafuegos de subredes tienen como objetivo aplicar una política de

seguridad a un grupo de sistemas desde un único punto. Para ello lo primero que

debe hacerse es agrupar los sistemas en zonas de seguridad, de modo que se

aplique las mismas reglas a los equipos que forman parte de cada zona, y puedan

aplicarse distintas reglas a distintas zonas.

En el caso de los cortafuegos de subredes sus principales funciones son:

1. Autorización de servicios (entrantes y salientes).

2. Control de acceso a los servicios basándose en la identidad del usuario o equipo.

3. Registro y monitorización de accesos a la red.

El uso de los cortafuegos de subred permite establecer una protección global,

lo que nos permite relajarnos en la protección individual de cada equipo,

estableciendo un único punto de implantación de la política de seguridad. Esto

facilita su administración y, dado que los ataques se producen sobre un único

sitio, hace más sencilla su vigilancia.

Page 8: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

3. Tipos de cortafuegos

8

3.2. Según su tecnología

Según la tecnología que utilizan se distinguen cuatro tipos de cortafuegos:

Cortafuegos a nivel de paquete de datos:

Este tipo de cortafuegos trabaja a nivel de red de la pila de protocolos OSI y

para determinar que paquetes IP debe dejar pasar mira tanto las direcciones

origen y destino de los mismo como los puertos que se utilizan.

Cortafuegos a nivel de circuito:

Actúa en el nivel de sesión, además de tener en cuenta las direcciones IP y los

puertos, también mira la información relativa a la sesión y los números de

secuencia de los paquetes enviados.

Cortafuegos a nivel de aplicación:

Estos cortafuegos analizan todos los paquetes de datos de un determinado

servicio en su conjunto, no como paquetes independientes, por lo que son

exclusivos para un servicio.

Cortafuegos transparentes:

Actúan a nivel de enlace, determinando que paquetes pasan o no en función del

resultado de evaluar una serie de reglas. Son indetectables para los atacantes ya

que no tienen una dirección IP.

Page 9: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

4. Filtrado de Paquetes

9

4.1. Parámetros utilizados para filtrar paquetes

Un router que permita el filtrado de paquetes podrá ser configurado de una

de las tres siguientes maneras para manejar los paquetes que salen y

entran a través de sus interfaces:

1. Bloquear todas las conexiones externas, excepto las conexiones

SMTP para permitir que el equipo reciba correo electrónico.

2. Bloquear las conexiones de sistemas considerados no seguros.

3. Permitir conexiones de correo electrónico, FTP, etc, pero bloquear

otros servicios (como TFTP) que se consideren peligrosos.

Para poder llevar a cabo cualquiera de estas tres acciones es necesario

tener configuradas una serie de reglas, que se irán consultando, en

orden, para determinar qué paquetes pasan o no.

Page 10: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

4. Filtrado de Paquetes

10

4.1. Parámetros utilizados para filtrar paquetes

Page 11: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

4. Filtrado de Paquetes

11

4.2. Reglas de filtrado

Las reglas de filtrado nos permitirán establecer políticas de seguridad para nuestro

sistema, evitando los accesos no autorizados sin crear inconvenientes a los accesos

que sí queramos permitir.

Estas reglas se suelen expresar como una tabla de condiciones y acciones que se

consulta hasta que se encuentra con la regla que permita tomar una decisión, lo

cuál hace especialmente importante que las reglas se establezcan en orden de

prioridad de actuación y que los administradores las revisen periódicamente.

Un ejemplo de una tabla teórica es el que puedes ver en la siguiente Tabla, donde

se muestra una serie de reglas definidas en función de las direcciones IP origen y

destino y de los puertos origen y destino, donde se indica si se permitirán los

paquetes provenientes de esas direcciones.

Page 12: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

4. Filtrado de Paquetes

12

4.2. Reglas de filtrado

Las reglas pueden agruparse en tres tipos:

1. Autoprotección del cortafuegos: no se permitirá ningún datagrama

dirigido directamente al firewall.

2. Reglas de salida: pueden ser permisivas o restrictivas.

• Si son permisivas se prohíben las excepciones y el resto se autoriza

• Si son restrictivas se prohíbe todo excepto las excepciones permitidas.

3. Reglas de entrada: está todo prohibido excepto aquellas excepciones

que específicamente hayan sido autorizadas.

Page 13: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

4. Filtrado de Paquetes

13

El ejemplo más claro de reglas de filtrado podemos verlo en el sistema de redes

Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables,

la cual se maneja desde el terminal. La estructura básica de este comando es la

siguiente:

# iptables –table [COMMAND] chain rule-specification [options]

table es una de las siguientes opiones:

• filter (para filtrar paquetes)

• nat (para implementar NAT)

• mangle (para enmascarar direcciones IP)

COMMAND indica qué accción se va a realizar:

• -A para añadir una orden

• -D para borrar

• Etcétera

chain indica una regla ya definida en alguna de las tablas

rule-specification hace referencia a la regla que vayamos a definir

options permite depurar la regla

Page 14: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

4. Filtrado de Paquetes

4.2. Reglas de filtrado

Page 15: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

4. Filtrado de Paquetes

15

4.3. Reglas de filtrado (iptables)

El filtrado de paquetes en GNU/Linux se hace desde el propio núcleo y utiliza las

siguientes tablas o listas de reglas:

Filtrador de paquetes (filter): la tabla por defecto más básica, utilizada para

efectuar el filtrado de paquetes de: entrada, reenvío y salida.

Traducción de direcciones de red (nat): la tabla que utiliza el

enmascaramiento para que otras máquinas se conecten a una serie de

servicios a través de la IP del cortafuegos. Para ello modifica la cabecera de

los paquetes.

lteración de paquetes (mangle): manipula el estado de un paquete.

Para cada paquete, en función del procesamiento que vaya a sufrir, se consultala cadena que corresponda a su situación dentro de iptables.

Dentro de cada cadena las reglas se inspeccionan secuencialmente [orden dereglas importante]

Si el paquete encaja con las condiciones de una regla, se ejecuta la accióncorrespondiente y se abandona la cadena.

Si el paquete no encaja con ninguna regla, se le aplica la política por defecto quese haya asignado a esa cadena. Es decir,

Page 16: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

4. Filtrado de Paquetes

16

4.3. Reglas de filtrado (iptables)

Los paquetes recibidos o enviados siempre deben cumplir

las reglas de una tabla.

Cuando un paquete cumple una regla particular en una de

las tablas se le asigna un objetivo.

Los objetivos de iptables son los siguientes:

Page 17: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

Iptables-tablas

• TABLAS. Se corresponden con los distintos tipos de procesamiento quese pueden aplicar sobre los paquetes.

Tablas disponibles:

FILTERControla decisiones de filtrado de

paquetes (aceptar/denegar)

Cadenas: INPUT, OUTPUT, FORWARD.

NAT

Controla traducción de direcciones (NAT:network address translation)

Cadenas: PREROUTING, OUTPUT, POSTROUTING

MANGLEControla los procesos de modificación del contenido y las opciones de los paquetes.

Cadenas: PREROUTING, OUTPUT .INPUT, FORWARD, POSTROUTING

Page 18: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

Iptables-cadenas

• CADENAS: Contienen las listas de reglas a aplicar sobre lospaquetes

Cadenas predeterminadas:

INPUT

Reglas a aplicar sobre los paquetes destinados a la propia máquina, (justo antes de pasarlos a las aplicaciones) Usada para

controlar las entradas al propio equipo/cortafuegos

OUTPUT

Reglas a aplicar sobre los paquetes originados en la propia máquina, (justo

después de recibirlas desde las aplicaciones) Usada para controlar las salidas del propio equipo/cortafuegos

FORWARD

Reglas a aplicar sobre los paquetes que atraviesan la máquina con destino a otras (paquetes en tránsito reenviados). Usadas en Cortafuegos de borde (protección red

interna)

Page 19: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

Iptables-opciones de comandos

-A Añade la regla iptables al final de la cadena especificada. Este es elcomando utilizado para simplemente añadir una regla cuando el ordende las reglas en la cadena no importa.

-C Verifica una regla en particular antes de añadirla en la cadenaespecificada por el usuario. Este comando puede ser de ayuda paraconstruir reglas iptables complejas pidiéndole que introduzca parámetrosy opciones adicionales.

-D Borra una regla de una cadena en particular por número (como el 5para la quinta regla de una cadena). Puede también teclear la reglaentera e iptables borrará la regla en la cadena que corresponda.

-E Renombra una cadena definida por el usuario. Esto no afecta laestructura de la tabla.

-F Libera la cadena seleccionada, que borra cada regla de la cadena. Sino se especifica ninguna cadena, este comando libera cada regla decada cadena.

Page 20: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

Iptables-opciones de comandos

-h Proporciona una lista de estructuras de comandos, así como tambiénun resumen rápido de parámetros de comandos y opciones.

-I Inserta una regla en una cadena en un punto especificado por un valorentero definido por el usuario. Si no se especifica ningún número,iptables colocará el comando en el tope de la cadena.

-L Lista todas las reglas de la cadena especificada tras el comando. Paraver una lista de todas las reglas en todas las cadenas en la tabla pordefecto filter, no especifique ninguna cadena o tabla.

-N Crea una nueva cadena con un nombre especificado por el usuario.

-P Configura la política por defecto para una cadena en particular, de talforma que, cuando los paquetes atraviesen la cadena completa sincumplir ninguna regla, serán enviados a un objetivo en particular, comopuedan ser ACCEPT o DROP.

Page 21: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

Parámetros principales

-p protocolo del paquete. Puede tomar los valores tcp, udp, icmp o all (ip).

-s origen del paquete. Puede ser un nombre de máquina, una IP, una redcompleta especificada como dirección/máscara, etc.

-d destino del paquete. Puede ser un nombre de máquina, una IP, una redcompleta especificada como dirección/máscara, etc.

--sport puerto origen, se puede especificar el puerto de origen delpaquete, o un rango de puertos puertoinicio-puertofinal siendo los valorespor defecto para estos 0 y 65535 (=2e16 -1)

--dport análogo a sport para el puerto destino.

-i interfaz por el que el paquete es recibido, para paquetes en la cadenade entrada

-o interfaz de salida del paquete en el caso de las cadena de salida o deredireccionamiento (forward).

Page 22: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

4. Filtrado de Paquetes

22

4.3. Reglas de filtrado (Ejemplo iptables)

#Regla que acepta conexiones al puerto 80

iptables -A INPUT -i eth0 -s 0.0.0.0/0 -p tcp --dport www -j ACCEPT

iptables: commando iptables (no hay que olvidar que las reglas son un shell script)

-A : append, opción para añadir la regla

INPUT : estado del paquete (al entrar es input).

-i eth0 : interfaz de red eth0

-s 0.0.0.0/0 : dirección de acceso (cualquiera en este caso)

-p tcp : tipo de protocolo

--dport : puerto de destino (nombre o número)

-j ACCEPT : destino del paquete

Ordenes básicas:

iptables –F : flush de reglas (Borrado de todas las reglas anteriores)

iptables –L : listado de reglas que se están aplicando

Page 23: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

4. Filtrado de Paquetes

23

4.3. Reglas de filtrado (Ejemplo iptables)

Guía rápida de flags:

-s : source address. (dir. Origen) Ej: -s 192.168.1.0/24

-d : destino. Ej: -d 84.56.73.3

-p : tipo de protocolo(tcp,udp,icmp). Ej: -p tcp

--sport : puerto de origen Ej: --sport :80

--dport : puerto de destino Ej: --dfport :80

-i = –in-interface : el interfaz por el que se entra (eth0,eth1, ppp0,…)

-o = --out-interface: el interfaz por el que se sale (eth0,eth1, ppp0,…)

Notas:

-i se usa con reglas INPUT y FORWARD

-o se usa con reglas FORWARD y OUTPUT

--sport y –dport en algunas versiones se han de usar sólo con

protoco tcp o udp

Page 24: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

4. Filtrado de Paquetes

24

4.3. Reglas de filtrado (Ejemplo iptables)

Todo lo que viene de la red 203.175.34.0/24 por el interfaz eth0 se deja pasar:

Iptables -A INPUT –i eth0 -s 203.175.34.0/24 -d 0.0.0.0/0 -j ACCEPT

Permitir el puerto 80:

iptables -A INPUT -i eth0 -p tcp --sport 80 -j ACCEPT

iptables -A OUTPUT -o eth0 -p tcp --dport 80 -j ACCEPT

iptables -A INPUT –i eth0 -s 0.0.0.0/0 -d 0.0.0.0/0 -p tcp --dport 19720 -j DROP

Denegar las entradas al puerto 19720

Page 25: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

1. Queremos que sólo la máquina B pueda

“hablar” con C y sólo usando el protocolo TCP.

2. Los paquetes que no cumplan esas

condiciones serán rechazados

iptables -F

iptables -P FORWARD DROP

iptables -t filter -A FORWARD -p tcp -s 192.168.1.2 -d 192.168.2.1 -j ACCEPT

iptables -t filter -A FORWARD -p tcp -s 192.168.2.1 -d 192.168.1.2 -j ACCEPT

4. Filtrado de Paquetes

4.3. Reglas de filtrado (Ejemplo iptables)

¿Cómo se lee la tercera línea ?

Page 26: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

Ejemplo1 de script: En vez de escribir los comandos uno tras otro, podríamos

crear un script de shell

#!/bin/sh

# sólo la máquina B 192.168.1.2 pueda hablar con C 192.168.2.1

# Primero borramos todas las reglas previas que puedan existir

iptables -F

iptables -X

iptables -Z

iptables -t nat –F

# Se establecen políticas duras por defecto. solo pasa lo que se autoriza

iptables -P FORWARD DROP

iptables -t filter -A FORWARD -p tcp -s 192.168.1.2 -d 192.168.2.1 -j ACCEPT

iptables -t filter -A FORWARD -p tcp -s 192.168.2.1 -d 192.168.1.2 -j ACCEPT

echo " OK . Verifique que lo que se aplica con: iptables -L –n”

Page 27: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

Resultado Ejemplo1

Page 28: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

Impide hacer ping a la máquina

C desde las máquinas A y B

iptables -t filter -A FORWARD -p icmp -s 0.0.0.0/0 -d 192.168.2.1 -j DROP

4. Filtrado de Paquetes

4.3. Reglas de filtrado (Ejemplo iptables)

Page 29: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

Ejemplo2: LAN con equipo A:192.168.1.1, B:192.168.1.2, C:192.168.2.1.

Impedir hacer ping a la máquina A

#!/bin/sh

# Impedir hacer ping a la máquina A:192.168.1.1

# Primero borramos todas las reglas previas que puedan existir

iptables -F

iptables -X

iptables -Z

iptables -t nat -F

# Se establecen políticas duras por defecto.

iptables -P FORWARD DROP

iptables -t filter -A FORWARD -p icmp -s 0.0.0.0/0 -d 192.168.1.1 -j DROP

echo " OK . Verifique que lo que se aplica con: iptables -L -n

Page 30: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

Resultado Ejemplo 2

ping

Page 31: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

#!/bin/sh

# LAN 192.168.3.0/24 (eth0 es la interfaz de Internet y eth1 la de la LAN)

# Primero borramos todas las reglas previas que puedan existir

iptables -F

iptables -X

iptables -Z

iptables -t nat –F

# 1. Se permite todo el tráfico al localhost (loopback)

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

# 2. Cerramos los puertos bien conocidos para los protocolos tcp y udp

iptables -A INPUT -p tcp --dport 1:1024 -j DROP

iptables -A INPUT -p udp --dport 1:1024 -j DROP

# 3. Cerramos el puerto del gestión de webmin

iptables -A INPUT -p tcp --dport 10000 -j DROP

Ejercicio 1

Page 32: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

# 4. Permitimos el acceso al firewall desde la red local

iptables -A INPUT -s 192.168.3.0/24 -i eth1 -j ACCEPT

iptables -A OUTPUT -d 192.168.3.0/24 -o eth1 -j ACCEPT

# 5. Todo lo que venga del exterior (eth0) y vaya al puerto 80, lo redirigimos a

la máquina 192.168.3.12

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to

192.168.3.12

# 6. Todo lo que venga del exterior y vaya al puerto 22, lo redirigimos a la

máquina 192.168.3.27

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 22 -j DNAT --to

192.168.3.27

echo " OK . Verifique que lo que se aplica con: iptables -L -n"

….Ejercicio 1

Page 33: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

Resultado Ejercicio 1

Page 34: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

#!/bin/sh

# LAN 192.168.10.0/24 (eth0 es la interfaz de Internet y eth1 la de la LAN, eth2 otro.)

#Las reglas deben aplicarse en el servidor

# Primero borramos todas las reglas previas que puedan existir

iptables -F

iptables -X

iptables -Z

iptables -t nat –F

# 1. Autorizamos el acceso al firewall desde la red local.

iptables -A INPUT -s 192.168.10.0/24 -i eth1 -j ACCEPT

Ejercicio 2

Page 35: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

# 2. Abrimos los puertos necesarios para el correo electrónico

iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 25 -j ACCEPT

iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 110 -j ACCEPT

# 3. Abrimos los puertos que se dirigen al servidor web (80 y 443).

iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 80 -j ACCEPT

iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 443 -j ACCEPT

# 4. Aceptamos los puertos que desde la red local se dirigen a DMZ para consultar el DNS

iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p tcp --dport 53 -j ACCEPT

iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -p udp --dport 53 -j ACCEPT

# 5. Se deniega el tránsito hacia los demás puertos desde la red local a todo

iptables -A FORWARD -s 192.168.10.0/24 -i eth1 -j DROP

echo " OK . Verifique que lo que se aplica con: iptables -L -n"

…Ejercicio 2

Page 36: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

Resultado Ejercicio 2

Page 37: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

Ejercicio 3 iptables

Dispones de un servidor linux con dos tarjetas de red (eth0 y eth1).

La tarjeta eth0 está conectada a un router que tiene acceso a Internet. La tarjeta

eth1 está conectada a una red local.

Se pretende que dicho servidor haga de cortafuegos entre Internet y la red de

área local.

Se va a suponer que se utiliza como política por defecto aceptar todas las

conexiones.

Realiza las siguientes tareas:

1.- Limpia las posibles reglas anteriores:

# iptables -F

2.- Acepta todos los paquetes de entrada, salida y reenvío

# iptables -P INPUT ACCEPT

# ___________ ___ __________ _____________

# ___________ ___ __________ _____________

Page 38: FIREWALL IPTABLES - informaticamiguelservet.updog.co · Netfilter de Linux, que se gestiona a través de una utilidad que se denomina iptables, la cual se maneja desde el terminal

3.- Acepta todos los paquetes de entrada y salida de la interfaz de loopback:

# iptables -A INPUT -i lo -j ACCEPT

# iptables -A OUTPUT -o lo -j ACCEPT

4.- Permite TODO a la interfaz de red interna (192.168.27.0/24)

# iptables -A INPUT -s 192.168.27.0/255.255.255.0 -j ACCEPT

5.- Acepta paquetes desde todas las conexiones establecidas.

# iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

6.- Deja a la máquina de la red local con dirección IP 192.168.27.199 conectar

vía SSH (puerto 22):

# iptables -A ________ -s ____________ -p tcp --dport _____ -j ___________

7.- Si tenemos un servidor web funcionando, dejamos abierto el puerto 80:

# iptables -A ___________ -p _______ ___________ ______ -j ___________

8.- Impide el acceso a Webmin (puerto 10000) a toda la red:

# iptables -A INPUT -p ______ _________ __________ -j ________

9 Cierra el resto de puertos por debajo de 1024:

# iptables -A INPUT -i eth0 -p tcp --dport 1:1024 ____ _________