Post on 18-Jan-2016
description
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 1
Copyright noviembre de 2013 por TECSUP
Servicio Firewall en Linux
Departamento de Informtica
1
Actualmente, muchas empresas disponen de un acceso aInternet para buscar informacin y publicar datosrelacionados a su negocio. Adicional a la implementacinde un servidor Proxy se requiere la instalacin de unFirewall el cual complementa las funciones realizadas porel servidor Proxy.
Durante esta exposicin se tratar los conceptos y modosde utilizar el servidor Firewall.
Introduccin
2
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 2
Al completar este tema, el alumno estar en la capacidadde 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.
Objetivos
3
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.
Contenido
4
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 3
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
Conocimiento Previo
5
Copyright noviembre de 2013 por TECSUP
Firewall en Linux
6
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 4
Equipo FirewallEstructura
HARDWARE
Tarjeta RED
CPU-Procesador
-Memoria-Disco
Tarjeta RED
SOFTWARE
-Sistema Operativo
-Aplicaciones Control de paquetes
7
INTERNET
Software de Linux para implementar un Firewall dePaquetes:
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
Iptables
http://www.netfilter.org/
8
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 5
Estructura de la composicin del Iptables. Cada circulorepresenta un control.
Las flechas indican el camino por donde circulara unpaquete y que control pasara.
Composicin de Iptables
ROUTINGDECISION
PROCESO LOCAL
PREROUTING
INPUT
FORWARD POSTROUTING
OUTPUT
9
Los sentidos INPUT, OUTPUT, FORWARD estarelacionado principalmente con acciones al Firewall. EJEMPLO: Acciones de PING o acceso a los PUERTOS del
FIREWALL.
Acciones al Firewall
ROUTINGDECISION
PROCESO LOCAL
PREROUTING
INPUT
FORWARD POSTROUTING
OUTPUTVoy a enviar una conexin Telnet o SSH
10
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 6
Los sentidos PREROUTING, FORWARD,POSTROUTING, son usados para permitir o bloquearacciones de ENTRADA o SALIDA de la RED. EJEMPLO: Permitiendo salir a servicio Web (Puerto 80) o bloquear
el acceso a Messenger (Puerto 1863).
Acceso a Servicios
ROUTINGDECISION
PROCESO LOCAL
PREROUTING
INPUT
FORWARD POSTROUTING
OUTPUT
SERVIDORES
11
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 sistemacon Masquerading PREROUTING
OUTPUT
POSTROUTING
mangle: Alteran el contenido del paquete.
Filtros: Control de Acceso
12
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 7
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.
Parmetros de IPtables
13
Parmetros de IPTABLES
14
-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.
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 8
Requisitos para la implementacin: Interfaces de Red.
Asignacin de IP a las tarjetas de red.
Forwardeo.
Configuracin de Polticas
Implementacin
15
Para proteger a la Red de la Empresa, el Firewall constarde 2 tarjetas:
Tarjetas de Red
eth0 eth1RED PUBLICA
(INTERNET)RED PRIVADA
(EMPRESA)
alias eth0 3c59xalias eth1 eepro100
3COM 10/100 PCI
INTEL ETHERTEXPRESS 10/100
ESQUEMA DE RED
MODULOS TARJETA RED
Archivo (modules.con o modprobe.conf)
16
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 9
Editar los archivos de configuracin de Red:
Configuracin de parmetros de Red
Por recomendacin opte este mtodo de configuracin de los parmetros de Red
17
Esquema de red
18
La configuracin de los parmetros, se llevar a cabo
en el Firewall (FW)
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 10
El FORWARDEO es la propiedad de los EQUIPOS decomunicaciones de enviar los paquetes de una RED a otraRED.
Forwardeo
INPUT
OUTPUT INPUT
OUTPUT
FORWARD
FORWARD
eth0 eth1
ARCHIVO DE CONFIGURACION
19
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 ausar:
Archivo de Polticas
GENERANDO ARCHIVO DE POLITICAS
REGISTRANDO EL ARCHIVO DE POLITICAS PARA CARGARSE AL INICIO
20
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 11
Los bloques (tablas) de control de acceso, realizar unalimpieza para evitar polticas registradas anteriormente.
Sintaxis:
Limpieza de polticas de las tablas
iptables -t [tabla] -F [sentido]
21
IPTABLES, segn la lista de polticas podr tomar dosacciones que se tendr que especificar: ACCEPT = Aceptar paquete
DROP = Rechazar paquete
Predeterminado Polticas
iptables -P [accion]
Con la accin de
limpieza no borra la
accin
predeterminada.
Predeterminaremos la
accin de ACCEPT
22
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 12
Visualizando la informacin del contenido de las tablasnos asegurar la informacin ingresada con Iptables.
Visualizando Polticas
23
ATACANTE
OBJETIVO: Se bloquea todo acceso al FIREWALL.impidiendo que atacantes realicen conexiones al Firewall.
Predeterminando Bloqueo al Firewall
FIREWALL
SERVIDORES
ESTACIONES
24
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 13
ATACANTE
OBJETIVO: Descartar el trfico entrante para el protocoloTCP hacia Telnet:
Descartar ingreso al Telnet
FIREWALL
SERVIDORES
ESTACIONES
25
iptables -A INPUT -p tcp --dport 23 -j DROP
iptables -A INPUT -i lo -j ACCEPT
FIREWALL
lo = Alias de la interface loopback
i = Interface
Los Sistemas Operativos realizan diversas operaciones deconexiones en forma interna. Haciendo uso de la interfaceLocalhost.
Para evitar bloquear estas operaciones habilitar el trfico ala interface localhost:
Permiso a interface Localhost
26
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 14
ATACANTE FIREWALLESTACIONES
Para generar polticas precisas. Es recomendable optarpor bloquear todo trfico de entrada y salida.
Luego evaluar que trfico se autorizar.
Bloqueo de entrada y salida de trfico
27
FIREWALL ESTACIONES
iptables -t nat -A POSTROUTING -s [RED_PRIV]/[mascara] -j MASQUERADE
192.168.20.5
192.168.20.1192.168.90.113
El ENMASCARAMIENTO realiza el proceso dereemplazar la IP ORIGEN de los PAQUETES de la REDLOCAL por la IP EXTERNA (192.168.90.113) quepertenece al ENMASCARADOR (FIREWALL).
Enmascaramiento
28
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 15
FIREWALL
ESTACIONES
192.168.20.5
DNSTRANSPORTE=UDPPUERTO=53
iptables -t nat -A PREROUTING -p udp -s [red_privada]/[mask] --sport 1024:65535 -d any/0 --dport 53 -j ACCEPT
Autorizar salida de trfico DNS
Permiso DNS
Es importante el de informarnos del protocolo de transporte y puerto que el Servicio usa
SINTAXIS
APLICACION
29
Autorizar salida de protocolo HTTP
FIREWALL
ESTACIONES
192.168.20.5WEB
TRANSPORTE=TCPPUERTO=80
iptables -t nat -A PREROUTING -p tcp -s [red_privada]/[mask] --sport 1024:65535 -d any/0 --dport 80 -j ACCEPT
Permiso WEB
SINTAXIS
APLICACIN
30
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 16
NAT CON IPTABLES
31
Network Address Traslation: Traslacin de Direccin deRED. Realiza el traslado o cambio de direcciones IP o puertos.
Se usa en las redes privadas para cambiar sus direcciones IPprivadas por direcciones IP publicas.
NAT
El cliente accede a la IP publica que es representado por el Firewall
El proceso de NAT aplicado en el Firewall, permite que la conexin recibida por el Firewall sea encaminada al Servidor Interno
El cliente interno solicita una conexin con su IP interna
El proceso de NAT permite que la IP origen sea remplazada por la IP publica del Firewall
32
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 17
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 IPorigen.
REDIRECT: No realiza cambio al paquete, redirecciona el paquetesegn la IP o puerto destino, por ejemplo el de direccionar eltrfico Web a un Proxy Server.
IPTABLES: NAT
DNAT
SNAT
MASQUERADE
REDIRECT
33
Los Firewall asumirn las IP pblicas de los Servidoresubicados en la red interna.
Con funciones de NAT realizarn posteriormente eltraslado de la conexin que llega al Firewall enviandohacia el Servidor Interno.
IP de Servidores
SERVIDOR WEB
FIREWALL192.168.90.113
192.168.90.116
IP representa a la IP del FIREWALL. Puede usarse tambin como la IP a representar a los Servidores
En caso que se disponga de IPs agregar estas IPs al Firewall que se asociara luego a los Servidores internos
CASO:La IP 192.168.90.116representara al Servidor WEB
CASO:La IP 192.168.90.116representara al Servidor WEB
192.168.20.1 192.168.20.5
34
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 18
Traslacin para el ingreso a un Servicio WEB:
DNAT
OBJETIVO
POLITICA DE DNAT
35
Asignar una IP Pblica fija al Servidor para el envi dedatos a la Red Pblica:
SNAT
SERVIDOR CORREO
FIREWALL
192.168.90.113
192.168.90.116
CASO:Asignar una IP fija Pblica a los datos que enven el Servidor de Correo a la Red Pblica.
CASO:Asignar una IP fija Pblica a los datos que enven el Servidor de Correo a la Red Pblica.
192.168.20.1192.168.20.5
POLITICA DE SNAT
eth0
36
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 19
Redirecciona el trfico de WEB al Servicio de Proxy:
REDIRECT
CLIENTE
FIREWALL
192.168.90.113
192.168.90.116192.168.20.1
192.168.20.10eth0
TCP
PROXYSQUID
8080
CASO:Los requerimientos de conexiones WEB de los Clientes ser redireccionado al Servicio PROXY que esta instalado en el FIREWALL.
CASO:Los requerimientos de conexiones WEB de los Clientes ser redireccionado al Servicio PROXY que esta instalado en el FIREWALL.
eth1
POLITICA DE REDIRECT
37
Los eventos permiten obtener estadsticas de eventos deintentos de acciones no autorizadas.
En cada bloque (INPUT, OUTPUT, PREROUTING,POSTOUTING) puede activarse los eventos.
Log
iptables -t nat -A PREROUTING -j LOG
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=80DPT=1113 WINDOW=5792 RES=0x00 ACK SYN URGP=0
# tail -f /var/log/messages
APLICANDO SOPORTE DE EVENTOS
VISUALIZANDO EVENTOS
38
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 20
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
Ejemplo:
39
iptables -F INPUTiptables -F OUTPUTiptables -F FORWARDiptables -t nat -F PREROUTINGiptables -t nat -F POSTROUTINGiptables -t nat -F OUTPUT
iptables -P INPUT ACCEPTiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPTiptables -t nat -P PREROUTING ACCEPTiptables -t nat -P POSTROUTING ACCEPTiptables -t nat -P OUTPUT ACCEPT
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -j MASQUERADEiptables -A INPUT -i lo -j ACCEPTiptables -P INPUT DROPiptables -t nat -P PREROUTING DROPiptables -t nat -A PREROUTING -p tcp -s 10.0.0.0/8 --sport 1024:65535 -d any/0 --dport 80 -j ACCEPTiptables -t nat -A PREROUTING -p tcp -d 200.30.25.14 -dport 80 -j DNAT --to 10.0.0.2:80
Ejemplo de un script:
40
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 21
Diseo a usar en el laboratorio
41
Iptables est incorporado en el Kernel de Linux, lo traetodas las distribuciones de Linux.
Para realizar las polticas el orden es bloquear todo yluego generar las autorizaciones.
Iptables trae el soporte de NAT.
Sntesis
42
Redes II TECSUP
Unidaid 12: Servicio Firewall en Linux 22
En que capas trabaja el FIREWALL?
Qu sentido del FIREWALL (INPUT, OUTPUT,FORWARD, POSTROUTING, PREROUTING) bloquea alos usuarios acceder a los servidores Web ubicados enInternet?
Qu es el servicio NAT?
Cules son las desventajas de un Firewall?
Cuestionario
43
Tutoriales de IPTables http://es.tldp.org/Manuales-LuCAS/doc-iptables-firewall/doc-
iptables-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/
Enlaces
44