Está en la página 1de 22

Redes II

TECSUP

Servicio Firewall en Linux


Departamento de Informtica

Copyright noviembre de 2013 por TECSUP

Introduccin
Actualmente, muchas empresas disponen de un acceso a
Internet para buscar informacin y publicar datos
relacionados a su negocio. Adicional a la implementacin
de un servidor Proxy se requiere la instalacin de un
Firewall el cual complementa las funciones realizadas por
el servidor Proxy.
Durante esta exposicin se tratar los conceptos y modos
de utilizar el servidor Firewall.

Unidaid 12: Servicio Firewall en Linux

Redes II

TECSUP

Objetivos
Al completar este tema, el alumno estar en la capacidad
de realizar las siguientes tareas:
Identificar los componentes bsicos que conforman el servicio
Firewall.
Describir el funcionamiento del servicio Firewall.
Realizar la implementacin del servicio Firewall.

Contenido
En el presente texto se desarrollar los siguientes temas:
Definicin del servicio Firewall
Componentes del servicio Firewall
Instalacin y configuracin del servicio Firewall en GNU/Linux.

Unidaid 12: Servicio Firewall en Linux

Redes II

TECSUP

Conocimiento Previo
Componentes del servicio Firewall
Tipos de Firewall
Filtrado IP, NAT, Stateful Packet Inspection
Implementacin del Firewall
Computadora genrica
Computadora especializada: appliance
Conexiones
Dos NICs
Tres NiCs

Firewall en Linux

Copyright noviembre de 2013 por TECSUP

Unidaid 12: Servicio Firewall en Linux

Redes II

TECSUP

Equipo Firewall
Estructura

SOFTWARE

-Sistema
Operativo
-Aplicaciones
Control de
paquetes

INTERNET

HARDWARE

Tarjeta
RED

CPU
-Procesador
-Memoria
-Disco

Tarjeta
RED
7

Iptables
Software de Linux para implementar un Firewall de
Paquetes:
http://www.netfilter.org/

Caractersticas:
Iptables est integrado con el kernel y forma parte del sistema
operativo.
Software que permite generar las reglas de restricciones.
Soporte de NAT.
iptables firewall se incluye por defecto en Centos 6.4

Unidaid 12: Servicio Firewall en Linux

Redes II

TECSUP

Composicin de Iptables
Estructura de la composicin del Iptables. Cada circulo
representa un control.
Las flechas indican el camino por donde circulara un
paquete y que control pasara.
PREROUTING

FORWARD

POSTROUTING

ROUTING
DECISION

INPUT

OUTPUT

PROCESO LOCAL
9

Acciones al Firewall
Los sentidos INPUT, OUTPUT, FORWARD
relacionado principalmente con acciones al Firewall.

esta

EJEMPLO: Acciones de PING o acceso a los PUERTOS del


FIREWALL.
PREROUTING

FORWARD

POSTROUTING

ROUTING
DECISION

Voy a enviar una


conexin Telnet o
SSH

INPUT

OUTPUT

PROCESO LOCAL

10

Unidaid 12: Servicio Firewall en Linux

Redes II

TECSUP

Acceso a Servicios
Los
sentidos
PREROUTING,
FORWARD,
POSTROUTING, son usados para permitir o bloquear
acciones de ENTRADA o SALIDA de la RED.
EJEMPLO: Permitiendo salir a servicio Web (Puerto 80) o bloquear
el acceso a Messenger (Puerto 1863).
FORWARD

PREROUTING

POSTROUTING

ROUTING
DECISION

SERVIDORES
OUTPUT

INPUT

PROCESO LOCAL
11

Filtros: Control de Acceso


Existen 3 tablas de filtrado utilizados por Iptables:
filter: Tabla por defecto, para los paquetes que se refieran
a nuestra mquina.
INPUT
FORWARD
OUTPUT

nat: Tabla referida a los paquetes enrutados en un sistema


con Masquerading
PREROUTING
OUTPUT
POSTROUTING

mangle: Alteran el contenido del paquete.


12

Unidaid 12: Servicio Firewall en Linux

Redes II

TECSUP

Parmetros de IPtables
El comando iptables puede utilizar diversos parmetros:
iptables -t [tabla] -[AIRDLFZNXP] [regla] [criterio] -j [accin]

Entre ellos estn:

-P: Predetermina una poltica


- L: Lista el contenido de las tablas
- F: Elimina las polticas de las tablas
-A: Agregar Poltica
-p: Protocolo ( tcp, udp, icmp )
-s: Red origen del paquete.
-d: Red Destino del paquete.
-- sport: Rango de puerto del origen del paquete.
-- dport: Rango de puerto del destino del paquete.
13

Parmetros de IPTABLES
-t [tabla]

Especifica cual es la tabla en la que se aadir la regla. Existen 3 tipos de tablas


vlidas : nat, filter y mangle, siendo filter la tabla por defecto si se omite esta parte
del comando.

-[AIRDLFZNXP]
[regla]

Hay 4 opciones bsicas:


A es para aadir (Append) una regla.
L es para listar las reglas.
F es para borrar todas las reglas.
P establece la poltica por defecto del firewall. Por defecto es aceptar todas las
conexiones.

[criterio]

Aqu es donde se especificarn las caractersticas del tipo de paquete que casar con
esta regla. Para establecer reglas sencillas (reglas stateless), puede operar con las
siguientes opciones : -s (ip/red fuente), -d (ip/red destino), --sport (puerto fuente),
--dport (puerto destino), y -p (protocolo).
iptables -A FORWARD -p [protocolo] -s [ip/red fuente] --sport [puerto
fuente] -d [ip/red destino] --dport [puerto destino] -j DROP

-j [action]

Aqu se indica que es lo que hay que hacer con el paquete. Las posibles opciones
son : ACCEPT, REJECT, DROP, REDIRECT, LOG (existen ms, pero estas son las
bsicas).
ACCEPT aceptar el paquete.
REJECT o DROP lo desecharn, la diferencia entre ellos reside en que DROP
descartar el paquete silenciosamente y REJECT emitir un paquete ICMP Port
Unreachable, indicando que est cerrado.
REDIRECT redirigir el paquete a donde se indique en el criterio del comando.
LOG lo registrar (log) para su posterior anlisis.
14

Unidaid 12: Servicio Firewall en Linux

Redes II

TECSUP

Implementacin
Requisitos para la implementacin:

Interfaces de Red.
Asignacin de IP a las tarjetas de red.
Forwardeo.
Configuracin de Polticas

15

Tarjetas de Red
Para proteger a la Red de la Empresa, el Firewall constar
de 2 tarjetas:
ESQUEMA
DE RED

eth0

eth1

RED PUBLICA
(INTERNET)

MODULOS
TARJETA RED

RED PRIVADA
(EMPRESA)

Archivo (modules.con
o modprobe.conf)

alias eth0 3c59x


alias eth1 eepro100

3COM 10/100 PCI

INTEL ETHERTEXPRESS 10/100

Unidaid 12: Servicio Firewall en Linux

16

Redes II

TECSUP

Configuracin de parmetros de Red


Editar los archivos de configuracin de Red:

Por recomendacin
opte este mtodo de
configuracin de los
parmetros de Red

17

Esquema de red

La configuracin
de los parmetros,
se llevar a cabo
en el Firewall (FW)

18

Unidaid 12: Servicio Firewall en Linux

Redes II

TECSUP

Forwardeo
El FORWARDEO es la propiedad de los EQUIPOS de
comunicaciones de enviar los paquetes de una RED a otra
RED.
FORWARD

INPUT

OUTPUT

OUTPUT

eth1

eth0

INPUT

FORWARD
ARCHIVO DE
CONFIGURACION

19

Archivo de Polticas
El ingreso de comandos de Iptables es por consola.
Para generar un conjunto de polticas lo recomendable es
generar un SCRIPT con el contenido de las polticas a
usar:
GENERANDO
ARCHIVO DE
POLITICAS

REGISTRANDO EL
ARCHIVO DE POLITICAS
PARA CARGARSE AL
INICIO

20

Unidaid 12: Servicio Firewall en Linux

10

Redes II

TECSUP

Limpieza de polticas de las tablas


Los bloques (tablas) de control de acceso, realizar una
limpieza para evitar polticas registradas anteriormente.
Sintaxis:
iptables -t [tabla] -F [sentido]

21

Predeterminado Polticas
IPTABLES, segn la lista de polticas podr tomar dos
acciones que se tendr que especificar:
ACCEPT = Aceptar paquete
DROP = Rechazar paquete
iptables -P [accion]

Con la accin de
limpieza no borra la
accin
predeterminada.
Predeterminaremos la
accin de ACCEPT

22

Unidaid 12: Servicio Firewall en Linux

11

Redes II

TECSUP

Visualizando Polticas
Visualizando la informacin del contenido de las tablas
nos asegurar la informacin ingresada con Iptables.

23

Predeterminando Bloqueo al Firewall


OBJETIVO: Se bloquea todo acceso al FIREWALL.
impidiendo que atacantes realicen conexiones al Firewall.

SERVIDORES

ATACANTE

FIREWALL
ESTACIONES

24

Unidaid 12: Servicio Firewall en Linux

12

Redes II

TECSUP

Descartar ingreso al Telnet


OBJETIVO: Descartar el trfico entrante para el protocolo
TCP hacia Telnet:

SERVIDORES

ATACANTE

FIREWALL
ESTACIONES

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

25

Permiso a interface Localhost


Los Sistemas Operativos realizan diversas operaciones de
conexiones en forma interna. Haciendo uso de la interface
Localhost.
Para evitar bloquear estas operaciones habilitar el trfico a
la interface localhost:

iptables -A INPUT -i lo
i = Interface

-j

ACCEPT
lo = Alias de la
interface loopback

FIREWALL

26

Unidaid 12: Servicio Firewall en Linux

13

Redes II

TECSUP

Bloqueo de entrada y salida de trfico


Para generar polticas precisas. Es recomendable optar
por bloquear todo trfico de entrada y salida.
Luego evaluar que trfico se autorizar.

ATACANTE

ESTACIONES
FIREWALL

27

Enmascaramiento
El ENMASCARAMIENTO
realiza el proceso de
reemplazar la IP ORIGEN de los PAQUETES de la RED
LOCAL por la IP EXTERNA (192.168.90.113) que
pertenece al ENMASCARADOR (FIREWALL).
192.168.90.113

192.168.20.1

FIREWALL
iptables

-t nat -A

POSTROUTING -s

192.168.20.5
ESTACIONES

[RED_PRIV]/[mascara] -j

MASQUERADE

28

Unidaid 12: Servicio Firewall en Linux

14

Redes II

TECSUP

Permiso DNS
Autorizar salida de trfico DNS
SINTAXIS

iptables -t nat -A
--sport 1024:65535

PREROUTING -p udp -s [red_privada]/[mask]


-d any/0 --dport 53 -j ACCEPT

ESTACIONES

DNS
TRANSPORTE=UDP
PUERTO=53

FIREWALL

192.168.20.5

APLICACION

Es importante el
de informarnos
del protocolo de
transporte y
puerto que el
Servicio usa

29

Permiso WEB
Autorizar salida de protocolo HTTP
SINTAXIS

iptables -t nat -A
--sport 1024:65535

PREROUTING -p tcp -s [red_privada]/[mask]


-d any/0 --dport 80 -j ACCEPT

ESTACIONES

WEB
FIREWALL

TRANSPORTE=TCP
PUERTO=80

192.168.20.5

APLICACIN

30

Unidaid 12: Servicio Firewall en Linux

15

Redes II

TECSUP

NAT CON IPTABLES

31

NAT
Network Address Traslation: Traslacin de Direccin de
RED.
Realiza el traslado o cambio de direcciones IP o puertos.
Se usa en las redes privadas para cambiar sus direcciones IP
privadas por direcciones IP publicas.

El cliente
accede a la IP
publica que es
representado
por el Firewall

El proceso de NAT
permite que la IP origen
sea remplazada por la IP
publica del Firewall

El cliente
interno solicita
una conexin
con su IP
interna

El proceso de
NAT aplicado en el
Firewall, permite
que la conexin
recibida por el
Firewall sea
encaminada al
Servidor Interno
32

Unidaid 12: Servicio Firewall en Linux

16

Redes II

TECSUP

IPTABLES: NAT
Iptables soporta los tipos de NAT:
DNAT: Traslacin de IP y puerto destino a otra IP y puerto destino.
SNAT: Traslacin de IP y puerto origen a otra IP y puerto origen.
MASQUERADE: Traslacin de un grupo de IP origen por otra IP
origen.
REDIRECT: No realiza cambio al paquete, redirecciona el paquete
segn la IP o puerto destino, por ejemplo el de direccionar el
trfico Web a un Proxy Server.

MASQUERADE

DNAT
REDIRECT
33

SNAT

IP de Servidores
Los Firewall asumirn las IP pblicas de los Servidores
ubicados en la red interna.
Con funciones de NAT realizarn posteriormente el
traslado de la conexin que llega al Firewall enviando
hacia el Servidor Interno.
CASO:
La IP 192.168.90.116
representara al Servidor WEB

IP representa a la IP del FIREWALL.


Puede usarse tambin como la IP a
representar a los Servidores

FIREWALL
192.168.90.113
192.168.90.116

192.168.20.1

En caso que se disponga de IPs


agregar estas IPs al Firewall que se
asociara luego a los Servidores
internos

Unidaid 12: Servicio Firewall en Linux

SERVIDOR
WEB
192.168.20.5

34

17

Redes II

TECSUP

DNAT
Traslacin para el ingreso a un Servicio WEB:
OBJETIVO

POLITICA DE DNAT

35

SNAT
Asignar una IP Pblica fija al Servidor para el envi de
datos a la Red Pblica:
CASO:
Asignar una IP fija Pblica a los datos que
enven el Servidor de Correo a la Red Pblica.

FIREWALL
SERVIDOR
CORREO

192.168.90.113
192.168.90.116

eth0

192.168.20.1

192.168.20.5

POLITICA DE SNAT

36

Unidaid 12: Servicio Firewall en Linux

18

Redes II

TECSUP

REDIRECT
Redirecciona el trfico de WEB al Servicio de Proxy:
PROXY
SQUID

CASO:
Los requerimientos de conexiones WEB de los
Clientes ser redireccionado al Servicio
PROXY que esta instalado en el FIREWALL.

8080
TCP

CLIENTE
192.168.90.113
192.168.90.116

eth1
eth0

192.168.20.10

192.168.20.1

FIREWALL
POLITICA DE REDIRECT

37

Log
Los eventos permiten obtener estadsticas de eventos de
intentos de acciones no autorizadas.
En cada bloque (INPUT, OUTPUT, PREROUTING,
POSTOUTING) puede activarse los eventos.
APLICANDO SOPORTE DE EVENTOS

iptables -t nat -A PREROUTING -j LOG

VISUALIZANDO EVENTOS

# tail -f /var/log/messages
Jun 19 17:34:11 localhost kernel: IN=eth0 OUT= MAC=00:50:da:ea:ab:58:00:50:da:e9:df:09:08:00
SRC=200.100.10.120 DST=200.100.10.168 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=TCP SPT=80
DPT=1113 WINDOW=5792 RES=0x00 ACK SYN URGP=0

38

Unidaid 12: Servicio Firewall en Linux

19

Redes II

TECSUP

Ejemplo:
iptables F INPUT
iptables F OUTPUT
iptables F FORWARD
iptables t nat F PREROUTING
iptables t nat F POSTROUTING
iptables t nat F OUTPUT
//Todas las tablas estn en ACCEPT
iptables P INPUT DROP
iptables P OUTPUT DROP
iptables L
Iptables L nat
39

Ejemplo de un script:
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -t nat -F OUTPUT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables
iptables
iptables
iptables
iptables
iptables

-t nat -A POSTROUTING -s 10.0.0.0/8 -j MASQUERADE


-A INPUT -i lo -j ACCEPT
-P INPUT DROP
-t nat -P PREROUTING DROP
-t nat -A PREROUTING -p tcp -s 10.0.0.0/8 --sport 1024:65535 -d any/0 --dport 80 -j ACCEPT
-t nat -A PREROUTING -p tcp -d 200.30.25.14 -dport 80 -j DNAT --to 10.0.0.2:80

40

Unidaid 12: Servicio Firewall en Linux

20

Redes II

TECSUP

Diseo a usar en el laboratorio

41

Sntesis
Iptables est incorporado en el Kernel de Linux, lo trae
todas las distribuciones de Linux.
Para realizar las polticas el orden es bloquear todo y
luego generar las autorizaciones.
Iptables trae el soporte de NAT.

42

Unidaid 12: Servicio Firewall en Linux

21

Redes II

TECSUP

Cuestionario
En que capas trabaja el FIREWALL?
Qu sentido del FIREWALL (INPUT, OUTPUT,
FORWARD, POSTROUTING, PREROUTING) bloquea a
los usuarios acceder a los servidores Web ubicados en
Internet?
Qu es el servicio NAT?
Cules son las desventajas de un Firewall?

43

Enlaces
Tutoriales de IPTables
http://es.tldp.org/Manuales-LuCAS/doc-iptables-firewall/dociptables-firewall-html/
http://iptables-tutorial.frozentux.net/iptables-tutorial.html

Web site oficial


http://www.netfilter.org/projects/iptables/index.html
http://security.maruhn.com/

44

Unidaid 12: Servicio Firewall en Linux

22