SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Presentación de una novedad

       Iptables: un cortafuegos TCP/IP




                                Jesús Moreno León
                              Alberto Molina Coballes
                                Redes de Área Local

                                 Noviembre 2009
Estas diapositivas son una obra derivada de la
documentación de Juan Céspedes, profesor del
Grupo de Sistemas y Comunicaciones de la
Universidad Rey Juan Carlos, para la asignatura
Diseño y Administración de Sistemas y Redes
1. Introducción

●   El kernel de Linux incorpora varias funciones integradas
    que le permiten trabajar como un firewall TCP/IP
    ●   Incluye código (el framework Netfilter) que permite
        interceptar y manipular paquetes de red
    ●   Presenta una herramienta en el espacio de usuario
        (iptables) que el administrador puede usar para
        establecer las reglas del firewall
2. iptables

●   iptables se usa para crear, mantener y revisar las tablas
    de filtrado de paquetes en el kernel de Linux
    ●   Existen diferentes tablas (tables) dentro de las cuales
        puede haber varias cadenas (chains)
    ●   Dentro de cada tabla, existen varias cadenas
        predefinidas y puede haber otras definidas por el
        usuario
    ●   Cada cadena consiste en una lista de reglas con las
        que se comparan los paquetes. Las reglas especifican
        qué se hace con los paquetes que se ajustan a ellas
        (target)
2.1. targets

●   Cuando un paquete no se ajusta a una regla, se continúa
    examinando la siguiente hasta que se ajusta con alguna.
    En ese momento se examina el target:
    ●   DROP: el paquete se descarta, no puede pasar
    ●   ACCEPT: el paquete continúa su camino normal
    ●   ...


●   Si se llega al final de una chain predefinida se ejecuta un
    target por defecto, llamado chain policy
2.2. Tablas

●   Existen tres tablas (filter, nat y mangle)
    ●   filter: es la tabla por defecto y se utiliza para especificar
        filtros de paquetes. Contiene 3 chains predefinidas
         –   INPUT: Se consulta para los paquetes cuyo destino
             es la propia máquina
         –   FORWARD: La atraviesan los paquetes rutados a
             través de esta máquina (tanto origen como destino
             son externos)
         –   OUTPUT: Para paquetes generados localmente
2.2. Tablas

   ●   nat: esta tabla se consulta cada vez que se ve un
       paquete que inicia una nueva conexión, con el objetivo
       de alterar algún parámetro de esa conexión. Tiene 3
       chains predefinidas:
       –   PREROUTING: se consulta con los paquetes que
           entran en la máquina, tan pronto como llegan, antes
           de decidir qué hacer con ellos
       –   OUTPUT: se utiliza para alterar paquetes generados
           localmente, antes de rutarlos
       –   POSTROUTING: para alterar los paquetes que
           están a punto de salir de la máquina
2.2. Tablas

   ●   mangle: tabla especial, destinada a alterar
       determinados parámetros de los paquetes (TOS,
       TTL ...)
       –   PREROUTING
       –   INPUT
       –   FORWARD
       –   OUTPUT
       –   POSTROUTING
2.3. Flujo de paquetes
2.4. Listado de reglas


#iptables [-t tabla] [opciones] -L [chain]


●   Muestra un listado de todas las reglas de una chain, o de
    todas ellas
●   Opciones disponibles:
       –   -v: información detallada
       –   -n: salida numérica
       –   -x: valor exacto de cada número
2.5. Borrado de contadores


    #iptables [-t tabla] -Z [chain]


●   Borra los contadores de una determinada chain, o de
    todas ellas
●   Se puede combinar con la opción -L para mostrar la
    información justo antes de borrarla
2.6. Borrado de reglas


    #iptables [-t tabla] -F [chain]


●   Borra las reglas de una determinada chain, o de todas ellas
2.7. Creado y borrado de reglas

    #iptables   [-t   table]   -A   chain   rule-spec
    #iptables   [-t   table]   -I   chain   [rulenum] rule-spec
    #iptables   [-t   table]   -R   chain   rulenum rule-spec
    #iptables   [-t   table]   -D   chain   rule-spec
    #iptables   [-t   table]   -D   chain   rulenum


●   -A: añade una regla al final de la lista
●   -I: inserta una regla al comienzo de la lista o en el punto
    especificado
●   -R: reemplaza una regla (especificada por su número de
    regla) por otra
●   -D: borra una regla determinada
2.8. Especificación de reglas

●   Con las opciones -A, -I, -R, y -D de iptables se tiene que
    especificar una regla:
        –   -p [!] protocolo: el protocolo del paquete a
            comprobar. Puede ser 'tcp', 'udp', 'icmp' o 'all'
        –   -[sd] [!] dirección[/máscara]: dirección ip
            origen (s) o destino (d) del paquete
        –   -[io] [!] iface: nombre de la interfaz de
            entrada (i) o de salida (o) del paquete
        –   -j target: especifica el target de dicha regla.
            Puede ser una acción predefinida (ACCEPT,
            DROP), una extensión o el nombre de una chain
2.9. Establecer política por defecto


#iptables [-t table] -P chain target


●   Establece el taget que se ejecutará para los paquetes que
    no cumplan con ninguna regla de la chain especificada
2.10. Obtener ayuda


 #iptables -h
 #man iptables
2.11. Un ejemplo sencillo


  ●   Queremos que sólo la
      máquina B pueda hablar
      con C, y sólo usando el     A:192.168.1.1             B:192.168.1.2
      protocolo TCP
  ●   Los paquetes que no
      cumplan estas condiciones                    Router
      serán descartados
                                  C: 192.168.2.1
2.11. Un ejemplo sencillo

 #iptables -F FORWARD
 #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

Ejemplo. ¿Cómo se lee la tercera línea ?
2.11. Un ejemplo sencillo
 ●    En vez de escribir los comandos uno tras otro, podríamos
      crear un script de shell

     #!/bin/bash
     ##Script de iptables – Un ejemplo sencillo

     ##Borramos las reglas de la chain FORWARD de la tabla
     filter
     iptables -F FORWARD

     ##Establecemos la política por defecto -> DROP
     iptables -P FORWARD DROP

     ##Aceptamos   los paquetes TCP entre B y C
     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
2.12. Extensiones de las reglas

●   Con las opciones vistas podemos controlar los parámetros
    más básicos de la cabecera IP del paquete
●   Puede ser necesario un control más estricto, por ello
    existen una serie de extensiones que permiten utilizar
    opciones nuevas
●   -m extensión: activa una extensión para poder
    especificar los parámetros del paquete
2.12. Extensiones de las reglas

●   tcp: añade las siguientes opciones
       –   --sport [!] port[:port]: especifica el puerto
           o rango de puertos origen
       –   --dport [!] port[:port]: especifica el puerto
           o rango de puertos destino
       –   [!] --syn: la regla concordará sólo con los
           paquetes cuyo bit SYN=1 y los flags ACK y FIN
           valgan 0. Los datagramas con estos valores se
           utilizan para abrir las conexiones TCP
2.12. Extensiones de las reglas

●   udp: añade las siguientes opciones
       –   --sport [!] port[:port]: especifica el puerto o
           rango de puertos origen
       –   --dport [!] port[:port]: especifica el puerto o
           rango de puertos destino
2.12. Extensiones de las reglas

●   icmp: añade la opción –-icmp-type tipo, que indica
    qué tipo ICMP debe tener el paquete (echo-request, echo-
    reply, network-unreachable...)
●   mac: añade la opción –-mac-source [!] dir_mac,
    que especifica la dirección MAC que debe tener el
    paquete
2.12. Extensiones de las reglas

●   state: Añade la opcion --state valor, que indica el
    estado en el que debe estar la conexion correspondiente a
    dicho paquete. Los tipos de estado principales son:
    ●   NEW: el paquete corresponde a una conexión nueva
    ●   ESTABLISHED: el paquete está asociado a una
        conexión ya establecida
    ●   RELATED: el paquete corresponde a una conexión
        nueva, pero relacionada con una que ya está
        establecida (como un canal de datos FTP o un error de
        ICMP)
2.13. Extensiones de target

●    Aparte de las target predefinidas se pueden usar otras.
     Por ejemplo, las siguientes sólo pueden usarse en la tabla
     nat:
      ●   MASQUERADE: sólo es válida en la chain
          POSTROUTING. Indica que la dirección origen del
          paquete (y de todos los de esa conexión) será
          cambiada por la IP local de esta máquina. Muy útil para
          IP dinámica (es lo que se conoce como NAT)
    //Ejemplo de Masquerade (NAT)

# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
2.13. Extensiones de target

●    SNAT: sólo es válida en la chain POSTROUTING. Indica
     que la dirección y puerto origen del paquete (y de todos
     los de esa conexión) sea modificada según se especifica
     con la opción –-to-source
●    El TARGET será SNAT (en lugar de MASQUERADE)
     cuando tengamos una IP fija (no dinámica)

    //Ejemplo de SNAT

    # iptables -t nat -A POSTROUTING -o eth1 -j SNAT
               --to-source 189.29.35.15
2.13. Extensiones de target

●    DNAT: sólo es válida en las chains PREROUTING y
     OUTPUT. Cambia la dirección IP destino (y de todos
     los futuros de esta misma conexión) por el
     especificado con la opción --to-destination
●    Es lo que se conoce como 'abrir el puerto'

    //Ejemplo de DNAT

    # iptables -t nat -A PREROUTING -i eth0 -p tcp
    --dport 80 -j DNAT --to-destination 192.168.1.2:80
3. Conclusión

●   Con iptables podemos implementar un firewall que nos
    permite realizar filtro de paquetes, traducción de
    direcciones y mantener registros de log
●   iptables trabaja a nivel 3 y 4, por tanto los criterios para
    filtrar un paquete no pueden incluir condiciones de nivel de
    aplicación. Sería necesario usar un servidor proxy para,
    por ejemplo, filtrar cierto contenido web
4. Referencias

●   Linux Network Administrator's Guide. Tony Bautts, Terry
    Dawson & Gregor N. Purdy (O'REILLY)
●   Existe mucha documentación en Internet
    ●   En este enlace hay muchos scripts para diferentes
        configuraciones (FW de perímetro, DMZ...)
        http://www.linuxguruz.com/iptables/
    ●   Os recomiendo el manual que podéis encontrar en
        http://www.pello.info

Más contenido relacionado

La actualidad más candente

Subneteo con vlsm ejercicios clases a,b,c
Subneteo con vlsm ejercicios clases a,b,cSubneteo con vlsm ejercicios clases a,b,c
Subneteo con vlsm ejercicios clases a,b,cManuel Tapia Cruz
 
Todos+los+comandos+que+hay+que+saber+para+configurar+un+router
Todos+los+comandos+que+hay+que+saber+para+configurar+un+routerTodos+los+comandos+que+hay+que+saber+para+configurar+un+router
Todos+los+comandos+que+hay+que+saber+para+configurar+un+routerjlzo
 
Presentacion cable estructurado
Presentacion cable estructurado Presentacion cable estructurado
Presentacion cable estructurado Jesus Sebastian
 
Direccion ip
Direccion ipDireccion ip
Direccion iplaura1352
 
CABLEADO ESTRUCTURADO DE DATOS - PERUEDUCA
CABLEADO ESTRUCTURADO DE DATOS - PERUEDUCACABLEADO ESTRUCTURADO DE DATOS - PERUEDUCA
CABLEADO ESTRUCTURADO DE DATOS - PERUEDUCAAIP I.E."J. M. Arguedas"
 
Ejercicios de-subneteo-14
Ejercicios de-subneteo-14Ejercicios de-subneteo-14
Ejercicios de-subneteo-14Liseth Chávez
 
Presentacion firewall
Presentacion firewallPresentacion firewall
Presentacion firewallJakol Inugami
 
Presentación seguridad en redes inalámbricas
Presentación seguridad en redes inalámbricasPresentación seguridad en redes inalámbricas
Presentación seguridad en redes inalámbricasIgnacio Castillo Espitia
 
Conoce todo sobre la zona desmilitarizada (DMZ)
Conoce todo sobre la zona desmilitarizada (DMZ)Conoce todo sobre la zona desmilitarizada (DMZ)
Conoce todo sobre la zona desmilitarizada (DMZ)Supra Networks
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebTensor
 
Dispositivos de Red y las Capas de Operacion
Dispositivos de Red y las Capas de OperacionDispositivos de Red y las Capas de Operacion
Dispositivos de Red y las Capas de Operacionrems251970
 
Area De Trabajo Redes
Area De Trabajo RedesArea De Trabajo Redes
Area De Trabajo RedesOSCAR EDUARDO
 

La actualidad más candente (20)

Subneteo con vlsm ejercicios clases a,b,c
Subneteo con vlsm ejercicios clases a,b,cSubneteo con vlsm ejercicios clases a,b,c
Subneteo con vlsm ejercicios clases a,b,c
 
STP
STPSTP
STP
 
Todos+los+comandos+que+hay+que+saber+para+configurar+un+router
Todos+los+comandos+que+hay+que+saber+para+configurar+un+routerTodos+los+comandos+que+hay+que+saber+para+configurar+un+router
Todos+los+comandos+que+hay+que+saber+para+configurar+un+router
 
Protocolo de Enrutamiento IGRP
Protocolo de Enrutamiento IGRPProtocolo de Enrutamiento IGRP
Protocolo de Enrutamiento IGRP
 
Presentacion cable estructurado
Presentacion cable estructurado Presentacion cable estructurado
Presentacion cable estructurado
 
Direccion ip
Direccion ipDireccion ip
Direccion ip
 
CABLEADO ESTRUCTURADO DE DATOS - PERUEDUCA
CABLEADO ESTRUCTURADO DE DATOS - PERUEDUCACABLEADO ESTRUCTURADO DE DATOS - PERUEDUCA
CABLEADO ESTRUCTURADO DE DATOS - PERUEDUCA
 
Ejercicios de-subneteo-14
Ejercicios de-subneteo-14Ejercicios de-subneteo-14
Ejercicios de-subneteo-14
 
Presentacion firewall
Presentacion firewallPresentacion firewall
Presentacion firewall
 
Presentación seguridad en redes inalámbricas
Presentación seguridad en redes inalámbricasPresentación seguridad en redes inalámbricas
Presentación seguridad en redes inalámbricas
 
Ensayo wireshark
Ensayo wiresharkEnsayo wireshark
Ensayo wireshark
 
Dhcp
DhcpDhcp
Dhcp
 
COMO REALIZAR SUBNETEO DEL TIPO VLSM
COMO REALIZAR SUBNETEO DEL TIPO VLSMCOMO REALIZAR SUBNETEO DEL TIPO VLSM
COMO REALIZAR SUBNETEO DEL TIPO VLSM
 
Fcaps
FcapsFcaps
Fcaps
 
Proyecto de cableado estructurado
Proyecto de cableado estructuradoProyecto de cableado estructurado
Proyecto de cableado estructurado
 
Conoce todo sobre la zona desmilitarizada (DMZ)
Conoce todo sobre la zona desmilitarizada (DMZ)Conoce todo sobre la zona desmilitarizada (DMZ)
Conoce todo sobre la zona desmilitarizada (DMZ)
 
Subneting IPv4
Subneting IPv4Subneting IPv4
Subneting IPv4
 
Sistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la WebSistemas Distribuidos basados en la Web
Sistemas Distribuidos basados en la Web
 
Dispositivos de Red y las Capas de Operacion
Dispositivos de Red y las Capas de OperacionDispositivos de Red y las Capas de Operacion
Dispositivos de Red y las Capas de Operacion
 
Area De Trabajo Redes
Area De Trabajo RedesArea De Trabajo Redes
Area De Trabajo Redes
 

Destacado

Seminario Administradores Febrero 2007
Seminario Administradores Febrero 2007Seminario Administradores Febrero 2007
Seminario Administradores Febrero 2007Antonio Durán
 
Tipos de Malware
Tipos de MalwareTipos de Malware
Tipos de Malwareedelahozuah
 
Securizando sistemas a nivel de usuario y administrador
Securizando sistemas a nivel de usuario y administradorSecurizando sistemas a nivel de usuario y administrador
Securizando sistemas a nivel de usuario y administradorastralia
 
routerosbasicsv0-3espaol
 routerosbasicsv0-3espaol routerosbasicsv0-3espaol
routerosbasicsv0-3espaolpattala01
 
Linux ud12 - configuracion de iptables en linux
Linux   ud12 - configuracion de iptables en linuxLinux   ud12 - configuracion de iptables en linux
Linux ud12 - configuracion de iptables en linuxJavier Muñoz
 
Configuración de mikro tik para thundercache
Configuración de mikro tik para thundercacheConfiguración de mikro tik para thundercache
Configuración de mikro tik para thundercacheMarco Arias
 
Nivel 1. manual para instalar mikrotik
Nivel 1.  manual para instalar mikrotikNivel 1.  manual para instalar mikrotik
Nivel 1. manual para instalar mikrotikvscwifi2
 
09 configuracion proxy server freddy beltran
09 configuracion proxy server freddy beltran09 configuracion proxy server freddy beltran
09 configuracion proxy server freddy beltranbeppo
 
11 controlando ancho banda mikro freddy beltran
11 controlando ancho banda mikro freddy beltran11 controlando ancho banda mikro freddy beltran
11 controlando ancho banda mikro freddy beltranbeppo
 
Vpn cliente - servidor con Mikrotik 6.10
Vpn cliente - servidor con Mikrotik 6.10Vpn cliente - servidor con Mikrotik 6.10
Vpn cliente - servidor con Mikrotik 6.10Vanesa Rodríguez Percy
 
14 balanceo de carga dos isp mikro freddy beltran
14 balanceo de carga dos isp mikro freddy beltran14 balanceo de carga dos isp mikro freddy beltran
14 balanceo de carga dos isp mikro freddy beltranbeppo
 

Destacado (20)

Seminario Administradores Febrero 2007
Seminario Administradores Febrero 2007Seminario Administradores Febrero 2007
Seminario Administradores Febrero 2007
 
Tipos de Malware
Tipos de MalwareTipos de Malware
Tipos de Malware
 
Linux
LinuxLinux
Linux
 
Firewalls iptables
Firewalls iptablesFirewalls iptables
Firewalls iptables
 
Securizando sistemas a nivel de usuario y administrador
Securizando sistemas a nivel de usuario y administradorSecurizando sistemas a nivel de usuario y administrador
Securizando sistemas a nivel de usuario y administrador
 
firewall
firewallfirewall
firewall
 
routerosbasicsv0-3espaol
 routerosbasicsv0-3espaol routerosbasicsv0-3espaol
routerosbasicsv0-3espaol
 
Linux ud12 - configuracion de iptables en linux
Linux   ud12 - configuracion de iptables en linuxLinux   ud12 - configuracion de iptables en linux
Linux ud12 - configuracion de iptables en linux
 
Firewall
FirewallFirewall
Firewall
 
Configuración de mikro tik para thundercache
Configuración de mikro tik para thundercacheConfiguración de mikro tik para thundercache
Configuración de mikro tik para thundercache
 
Manual Iptables
Manual IptablesManual Iptables
Manual Iptables
 
Firewall
FirewallFirewall
Firewall
 
Crear una VPN PPTP amb Mikrotik
Crear una VPN PPTP amb MikrotikCrear una VPN PPTP amb Mikrotik
Crear una VPN PPTP amb Mikrotik
 
Nivel 1. manual para instalar mikrotik
Nivel 1.  manual para instalar mikrotikNivel 1.  manual para instalar mikrotik
Nivel 1. manual para instalar mikrotik
 
09 configuracion proxy server freddy beltran
09 configuracion proxy server freddy beltran09 configuracion proxy server freddy beltran
09 configuracion proxy server freddy beltran
 
Antiporno
AntipornoAntiporno
Antiporno
 
11 controlando ancho banda mikro freddy beltran
11 controlando ancho banda mikro freddy beltran11 controlando ancho banda mikro freddy beltran
11 controlando ancho banda mikro freddy beltran
 
Vpn cliente - servidor con Mikrotik 6.10
Vpn cliente - servidor con Mikrotik 6.10Vpn cliente - servidor con Mikrotik 6.10
Vpn cliente - servidor con Mikrotik 6.10
 
Balanceo de-carga-manual
Balanceo de-carga-manualBalanceo de-carga-manual
Balanceo de-carga-manual
 
14 balanceo de carga dos isp mikro freddy beltran
14 balanceo de carga dos isp mikro freddy beltran14 balanceo de carga dos isp mikro freddy beltran
14 balanceo de carga dos isp mikro freddy beltran
 

Similar a Iptables

Similar a Iptables (20)

firewall
firewallfirewall
firewall
 
netfilter iptables
netfilter iptablesnetfilter iptables
netfilter iptables
 
Firewall de linux.
Firewall de linux. Firewall de linux.
Firewall de linux.
 
Resumen iptables- 10 comandos mas usados de iptables
Resumen iptables- 10 comandos mas usados de iptablesResumen iptables- 10 comandos mas usados de iptables
Resumen iptables- 10 comandos mas usados de iptables
 
Resumen IPTABLES
Resumen IPTABLESResumen IPTABLES
Resumen IPTABLES
 
Ipchains emilio cano
Ipchains emilio canoIpchains emilio cano
Ipchains emilio cano
 
Ip tablet
Ip tabletIp tablet
Ip tablet
 
Ip tables manual
Ip tables manualIp tables manual
Ip tables manual
 
SEGURIDAD DE LAS REDES
SEGURIDAD DE LAS REDES SEGURIDAD DE LAS REDES
SEGURIDAD DE LAS REDES
 
7.herramientas de redes
7.herramientas de redes7.herramientas de redes
7.herramientas de redes
 
Listas de acceso estándar y extendidas
Listas de acceso estándar y extendidasListas de acceso estándar y extendidas
Listas de acceso estándar y extendidas
 
Utilerias
UtileriasUtilerias
Utilerias
 
Utilerias
UtileriasUtilerias
Utilerias
 
Curso Redes Linex 5
Curso Redes Linex 5Curso Redes Linex 5
Curso Redes Linex 5
 
Curso Redes Linex 5
Curso Redes Linex 5Curso Redes Linex 5
Curso Redes Linex 5
 
Listas de acceso
Listas de accesoListas de acceso
Listas de acceso
 
Presentacion de seguridad de la redes
Presentacion de seguridad de la redesPresentacion de seguridad de la redes
Presentacion de seguridad de la redes
 
Apuntes iptables gerardo
Apuntes iptables gerardoApuntes iptables gerardo
Apuntes iptables gerardo
 
Comandos redwindows
Comandos redwindowsComandos redwindows
Comandos redwindows
 
Comandos redwindows
Comandos redwindowsComandos redwindows
Comandos redwindows
 

Más de cercer

Alta Disponibilidad - CICA
Alta Disponibilidad - CICAAlta Disponibilidad - CICA
Alta Disponibilidad - CICAcercer
 
cortafuegos_doble_pila_linux
cortafuegos_doble_pila_linuxcortafuegos_doble_pila_linux
cortafuegos_doble_pila_linuxcercer
 
Firewall en cluster de alta disponibilidad
Firewall en cluster de alta disponibilidadFirewall en cluster de alta disponibilidad
Firewall en cluster de alta disponibilidadcercer
 
Tutorial Rsyslog Debian Squeeze
Tutorial Rsyslog Debian SqueezeTutorial Rsyslog Debian Squeeze
Tutorial Rsyslog Debian Squeezecercer
 
Firewall iptables
Firewall iptablesFirewall iptables
Firewall iptablescercer
 
Memoria sobre Squid3
Memoria sobre Squid3Memoria sobre Squid3
Memoria sobre Squid3cercer
 
How to install Open Atrium over LAMP stack
How to install Open Atrium over LAMP stackHow to install Open Atrium over LAMP stack
How to install Open Atrium over LAMP stackcercer
 
Documentacion cap2 windows 7
Documentacion cap2 windows 7Documentacion cap2 windows 7
Documentacion cap2 windows 7cercer
 
Documentacion cap2 windows 7 arturo pdf
Documentacion cap2 windows 7 arturo pdfDocumentacion cap2 windows 7 arturo pdf
Documentacion cap2 windows 7 arturo pdfcercer
 
Documentacion cap2 windows 7 arturo pdf
Documentacion cap2 windows 7 arturo pdfDocumentacion cap2 windows 7 arturo pdf
Documentacion cap2 windows 7 arturo pdfcercer
 

Más de cercer (10)

Alta Disponibilidad - CICA
Alta Disponibilidad - CICAAlta Disponibilidad - CICA
Alta Disponibilidad - CICA
 
cortafuegos_doble_pila_linux
cortafuegos_doble_pila_linuxcortafuegos_doble_pila_linux
cortafuegos_doble_pila_linux
 
Firewall en cluster de alta disponibilidad
Firewall en cluster de alta disponibilidadFirewall en cluster de alta disponibilidad
Firewall en cluster de alta disponibilidad
 
Tutorial Rsyslog Debian Squeeze
Tutorial Rsyslog Debian SqueezeTutorial Rsyslog Debian Squeeze
Tutorial Rsyslog Debian Squeeze
 
Firewall iptables
Firewall iptablesFirewall iptables
Firewall iptables
 
Memoria sobre Squid3
Memoria sobre Squid3Memoria sobre Squid3
Memoria sobre Squid3
 
How to install Open Atrium over LAMP stack
How to install Open Atrium over LAMP stackHow to install Open Atrium over LAMP stack
How to install Open Atrium over LAMP stack
 
Documentacion cap2 windows 7
Documentacion cap2 windows 7Documentacion cap2 windows 7
Documentacion cap2 windows 7
 
Documentacion cap2 windows 7 arturo pdf
Documentacion cap2 windows 7 arturo pdfDocumentacion cap2 windows 7 arturo pdf
Documentacion cap2 windows 7 arturo pdf
 
Documentacion cap2 windows 7 arturo pdf
Documentacion cap2 windows 7 arturo pdfDocumentacion cap2 windows 7 arturo pdf
Documentacion cap2 windows 7 arturo pdf
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 

Último (19)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 

Iptables

  • 1. Presentación de una novedad Iptables: un cortafuegos TCP/IP Jesús Moreno León Alberto Molina Coballes Redes de Área Local Noviembre 2009
  • 2. Estas diapositivas son una obra derivada de la documentación de Juan Céspedes, profesor del Grupo de Sistemas y Comunicaciones de la Universidad Rey Juan Carlos, para la asignatura Diseño y Administración de Sistemas y Redes
  • 3. 1. Introducción ● El kernel de Linux incorpora varias funciones integradas que le permiten trabajar como un firewall TCP/IP ● Incluye código (el framework Netfilter) que permite interceptar y manipular paquetes de red ● Presenta una herramienta en el espacio de usuario (iptables) que el administrador puede usar para establecer las reglas del firewall
  • 4. 2. iptables ● iptables se usa para crear, mantener y revisar las tablas de filtrado de paquetes en el kernel de Linux ● Existen diferentes tablas (tables) dentro de las cuales puede haber varias cadenas (chains) ● Dentro de cada tabla, existen varias cadenas predefinidas y puede haber otras definidas por el usuario ● Cada cadena consiste en una lista de reglas con las que se comparan los paquetes. Las reglas especifican qué se hace con los paquetes que se ajustan a ellas (target)
  • 5. 2.1. targets ● Cuando un paquete no se ajusta a una regla, se continúa examinando la siguiente hasta que se ajusta con alguna. En ese momento se examina el target: ● DROP: el paquete se descarta, no puede pasar ● ACCEPT: el paquete continúa su camino normal ● ... ● Si se llega al final de una chain predefinida se ejecuta un target por defecto, llamado chain policy
  • 6. 2.2. Tablas ● Existen tres tablas (filter, nat y mangle) ● filter: es la tabla por defecto y se utiliza para especificar filtros de paquetes. Contiene 3 chains predefinidas – INPUT: Se consulta para los paquetes cuyo destino es la propia máquina – FORWARD: La atraviesan los paquetes rutados a través de esta máquina (tanto origen como destino son externos) – OUTPUT: Para paquetes generados localmente
  • 7. 2.2. Tablas ● nat: esta tabla se consulta cada vez que se ve un paquete que inicia una nueva conexión, con el objetivo de alterar algún parámetro de esa conexión. Tiene 3 chains predefinidas: – PREROUTING: se consulta con los paquetes que entran en la máquina, tan pronto como llegan, antes de decidir qué hacer con ellos – OUTPUT: se utiliza para alterar paquetes generados localmente, antes de rutarlos – POSTROUTING: para alterar los paquetes que están a punto de salir de la máquina
  • 8. 2.2. Tablas ● mangle: tabla especial, destinada a alterar determinados parámetros de los paquetes (TOS, TTL ...) – PREROUTING – INPUT – FORWARD – OUTPUT – POSTROUTING
  • 9. 2.3. Flujo de paquetes
  • 10. 2.4. Listado de reglas #iptables [-t tabla] [opciones] -L [chain] ● Muestra un listado de todas las reglas de una chain, o de todas ellas ● Opciones disponibles: – -v: información detallada – -n: salida numérica – -x: valor exacto de cada número
  • 11. 2.5. Borrado de contadores #iptables [-t tabla] -Z [chain] ● Borra los contadores de una determinada chain, o de todas ellas ● Se puede combinar con la opción -L para mostrar la información justo antes de borrarla
  • 12. 2.6. Borrado de reglas #iptables [-t tabla] -F [chain] ● Borra las reglas de una determinada chain, o de todas ellas
  • 13. 2.7. Creado y borrado de reglas #iptables [-t table] -A chain rule-spec #iptables [-t table] -I chain [rulenum] rule-spec #iptables [-t table] -R chain rulenum rule-spec #iptables [-t table] -D chain rule-spec #iptables [-t table] -D chain rulenum ● -A: añade una regla al final de la lista ● -I: inserta una regla al comienzo de la lista o en el punto especificado ● -R: reemplaza una regla (especificada por su número de regla) por otra ● -D: borra una regla determinada
  • 14. 2.8. Especificación de reglas ● Con las opciones -A, -I, -R, y -D de iptables se tiene que especificar una regla: – -p [!] protocolo: el protocolo del paquete a comprobar. Puede ser 'tcp', 'udp', 'icmp' o 'all' – -[sd] [!] dirección[/máscara]: dirección ip origen (s) o destino (d) del paquete – -[io] [!] iface: nombre de la interfaz de entrada (i) o de salida (o) del paquete – -j target: especifica el target de dicha regla. Puede ser una acción predefinida (ACCEPT, DROP), una extensión o el nombre de una chain
  • 15. 2.9. Establecer política por defecto #iptables [-t table] -P chain target ● Establece el taget que se ejecutará para los paquetes que no cumplan con ninguna regla de la chain especificada
  • 16. 2.10. Obtener ayuda #iptables -h #man iptables
  • 17. 2.11. Un ejemplo sencillo ● Queremos que sólo la máquina B pueda hablar con C, y sólo usando el A:192.168.1.1 B:192.168.1.2 protocolo TCP ● Los paquetes que no cumplan estas condiciones Router serán descartados C: 192.168.2.1
  • 18. 2.11. Un ejemplo sencillo #iptables -F FORWARD #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 Ejemplo. ¿Cómo se lee la tercera línea ?
  • 19. 2.11. Un ejemplo sencillo ● En vez de escribir los comandos uno tras otro, podríamos crear un script de shell #!/bin/bash ##Script de iptables – Un ejemplo sencillo ##Borramos las reglas de la chain FORWARD de la tabla filter iptables -F FORWARD ##Establecemos la política por defecto -> DROP iptables -P FORWARD DROP ##Aceptamos los paquetes TCP entre B y C 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
  • 20. 2.12. Extensiones de las reglas ● Con las opciones vistas podemos controlar los parámetros más básicos de la cabecera IP del paquete ● Puede ser necesario un control más estricto, por ello existen una serie de extensiones que permiten utilizar opciones nuevas ● -m extensión: activa una extensión para poder especificar los parámetros del paquete
  • 21. 2.12. Extensiones de las reglas ● tcp: añade las siguientes opciones – --sport [!] port[:port]: especifica el puerto o rango de puertos origen – --dport [!] port[:port]: especifica el puerto o rango de puertos destino – [!] --syn: la regla concordará sólo con los paquetes cuyo bit SYN=1 y los flags ACK y FIN valgan 0. Los datagramas con estos valores se utilizan para abrir las conexiones TCP
  • 22. 2.12. Extensiones de las reglas ● udp: añade las siguientes opciones – --sport [!] port[:port]: especifica el puerto o rango de puertos origen – --dport [!] port[:port]: especifica el puerto o rango de puertos destino
  • 23. 2.12. Extensiones de las reglas ● icmp: añade la opción –-icmp-type tipo, que indica qué tipo ICMP debe tener el paquete (echo-request, echo- reply, network-unreachable...) ● mac: añade la opción –-mac-source [!] dir_mac, que especifica la dirección MAC que debe tener el paquete
  • 24. 2.12. Extensiones de las reglas ● state: Añade la opcion --state valor, que indica el estado en el que debe estar la conexion correspondiente a dicho paquete. Los tipos de estado principales son: ● NEW: el paquete corresponde a una conexión nueva ● ESTABLISHED: el paquete está asociado a una conexión ya establecida ● RELATED: el paquete corresponde a una conexión nueva, pero relacionada con una que ya está establecida (como un canal de datos FTP o un error de ICMP)
  • 25. 2.13. Extensiones de target ● Aparte de las target predefinidas se pueden usar otras. Por ejemplo, las siguientes sólo pueden usarse en la tabla nat: ● MASQUERADE: sólo es válida en la chain POSTROUTING. Indica que la dirección origen del paquete (y de todos los de esa conexión) será cambiada por la IP local de esta máquina. Muy útil para IP dinámica (es lo que se conoce como NAT) //Ejemplo de Masquerade (NAT) # iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
  • 26. 2.13. Extensiones de target ● SNAT: sólo es válida en la chain POSTROUTING. Indica que la dirección y puerto origen del paquete (y de todos los de esa conexión) sea modificada según se especifica con la opción –-to-source ● El TARGET será SNAT (en lugar de MASQUERADE) cuando tengamos una IP fija (no dinámica) //Ejemplo de SNAT # iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 189.29.35.15
  • 27. 2.13. Extensiones de target ● DNAT: sólo es válida en las chains PREROUTING y OUTPUT. Cambia la dirección IP destino (y de todos los futuros de esta misma conexión) por el especificado con la opción --to-destination ● Es lo que se conoce como 'abrir el puerto' //Ejemplo de DNAT # iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:80
  • 28. 3. Conclusión ● Con iptables podemos implementar un firewall que nos permite realizar filtro de paquetes, traducción de direcciones y mantener registros de log ● iptables trabaja a nivel 3 y 4, por tanto los criterios para filtrar un paquete no pueden incluir condiciones de nivel de aplicación. Sería necesario usar un servidor proxy para, por ejemplo, filtrar cierto contenido web
  • 29. 4. Referencias ● Linux Network Administrator's Guide. Tony Bautts, Terry Dawson & Gregor N. Purdy (O'REILLY) ● Existe mucha documentación en Internet ● En este enlace hay muchos scripts para diferentes configuraciones (FW de perímetro, DMZ...) http://www.linuxguruz.com/iptables/ ● Os recomiendo el manual que podéis encontrar en http://www.pello.info