Filtrado de paquetes y NAT

Documentos relacionados
Iptables, herramienta para controlar el tráfico de un servidor

INGENIERÍA EN SISTEMAS Y TELECOMUNICACIONES ÉNFASIS EN ADMINISTRACIÓN DE REDES

Prácticas de laboratorio de Telemática II

IPTABLES. Gonzalo Alvarez Flores

Gestión de Recursos y Seguridad en Redes Seguridad en la red con Open Source. Derman Zepeda Vega. dzepeda@unan.edu.ni

Cortafuegos y Linux. Iptables

UNIDAD DIDACTICA 12 CONFIGURACIÓN DE IPTABLES EN GNU/LINUX

Cortafuegos (Firewalls) en Linux con iptables

66.69 Criptografía y Seguridad Informática FIREWALL

Configuración del firewall en Linux con IPtables

Apartado: BrutaliXL Versión: 3 Título: Cortafuegos - Iptables Fecha:

SEGURIDAD EN SISTEMAS INFORMÁTICOS

Firewall en GNU/Linux netfilter/iptables

P r á c t i c a 1 5. C o n f i g u r a c i ó n d e f i r e w a l l m e d i a n t e i p t a b l e s

Cortafuegos (Firewalls) en Linux con iptables

PRÁCTICA 5: USO DE CORTAFUEGOS

EJERCICIOS DE REDES. 1. Configurar por completo la red mostrada en el siguiente diagrama:

HOW TO SOBRE FIREWALL

! " " & '( ) ( (( * (+,-.!(/0"" ) 8-*9:!#;9"<!""#

Julio Gómez López Universidad de Almería

Charla de redes. Carlos Hernando ACM Facultad de Informática Universidad Politécnica de Madrid

Firewalls: iptables. Pablo Suau Pérez (aka Siew) Marzo 2002

Redes I Soluciones de la Práctica 1: /etc/network/interfaces, tcpdump y wireshark

Examen Parcial II de Sistemas Telemáticos para Medios Audiovisuales

Redes de área local Aplicaciones y Servicios Linux Enrutamiento

HOWTO: Cómo configurar DNAT para publicar los servicios internos hacia Internet

Práctica 4 - Network Address Translation (NAT)

Firewall en Linux. Luis Eduardo Vivero Peña. Director Centro de Difusión del Software Libre Ingeniero de Proyectos Corporación Linux

Práctica 7 Network Address Translation en routers Cisco

DHCP. Dynamic Host Configuration Protocol. Protocolo de Configuración Dinámica de Host. Administración de Redes de Computadores

HOWTO: Cómo configurar el acceso web en varios interfaces de Integra

Aprendiendo a usar IPTABLES desde cero.

8. Cortafuegos (Firewall).

Instituto Tecnológico Las Américas (ITLA) Sistemas Operativos 3 (SO3) Daniel Alejandro Moreno Martínez. Matrícula:

BREVE INTRODUCCIÓN A IPSEC

ARP. Conceptos básicos de IP

En el anterior post había explicado que es necesario en un firewall primero denegar todo tráfico entrante, para ello:

Informe Final Experiencia 2 Configuración de Firewall, Router y Gateway

UNIVERSIDAD LUTERANA SALVADOREÑA FACULTAD DE CIENCIAS DEL HOMBRE Y LA NATURALEZA LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN DOCUMENTO FINAL

Iptables: un cortafuegos TCP/IP

Tema 6. Funciones y protocolos del nivel de red. Ejercicios propuestos (II).

CONFIGURACIÓN DE FIREWALL EN CLOUD DATACENTER

(decimal) (hexadecimal) 80.0A.02.1E (binario)

Bloque IV: El nivel de red. Tema 10: Enrutamiento IP básico

Una ACL es una lista secuencial de sentencias de permiso o denegación que se aplican a direcciones IP o protocolos de capa superior.

REDES INFORMATICAS: Protocolo IP

Laboratorio de PCs. Práctica 3: Montaje de una red de Área local

HOWTO: Cómo configurar SNAT

Concepto de Seguridad de Alto Nivel: A lo largo del curso hemos establecido protecciones en los equipos y en la información que almacenan e

Una vez instalada podremos seleccionar los paquetes que deseamos instalar de una lista.

INSTITUTO TECNOLOGICO DE LAS AMERICAS (ITLA) Nombre: Brayhan E. Acosta Hiciano. Matricula: Materia: Sistema Operativo III

2. Diferencias respecto a IPCHAINS

COMO CONFIGURAR UNA MAQUINA VIRTUAL EN VIRTUALBOX PARA ELASTIX

PRACTICA NO. 17, FIREWALL -EJEMPLO REAL DE USO DEL FIREWALL BLOQUEAR O PERMITIR RED, EQUIPO, PUERTO. HACER NAT, ETC. Vielka Mari Utate Tineo

Montaje de una red doméstica

Internet Firewalls Linux ipchains.

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

Balanceo de carga mediante PCC

IPSec con Windows 2003 y Windows XP

MANUAL BÁSICO PARA CLIENTES

Proyecto Implementación de un nodo para una red libre (Wi-Fi) Redes de computadores I

PROTOCOLO DE MENSAJES DE CONTROL INTERNET (ICMP : INTERNET CONTROL MESSAGE PROTOCOL) RFC-792

TELECOMUNICACIONES Y REDES

Nombre: Misael Acosta Ayala ID: Asignatura: Sistemas Operativos III. Instructor: José Doñe. Tema: Firewall

PROXY-NAT PARA USUARIOS ADSL DE TELEFÓNICA

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED

Configurar NAT Windows 2003

Introducción al concepto y puesta en marcha de una pared de fuego utilizando IPTables

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Seguridad de la información: ARP Spoofing

Conferencias Abiertas de GNU/Linux MTLUG La Matanza GNU/Linux Users Group Firewalls con IPTABLES (y sus amigos)

HOW TO SOBRE REMOTE ACCESS VPN MODE EN LINUX

Agenda, continuación

Correo Electrónico: Webmail: Horde 3.1.1

LABORATORIO DE REDES PRÁCTICA 1 COMANDOS BÁSICOS PARA LA CONFIGURACIÓN DEL NIVEL IP EN UNA RED DE SISTEMAS UNIX. 1. LA INTERFAZ loopback

Práctica de laboratorio: Uso de Wireshark para examinar una captura de UDP y DNS

Redes de Área Local: Configuración de una VPN en Windows XP

Direcciones IP IMPLANTACIÓN DE SISTEMAS OPERATIVOS 1º ASIR. En redes IPv4.

& '( ) ( (( * (+,-.!(/0"" ) 8-*9:!#;9"<!""#

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD ADOLFO LÓPEZ MATEOS - ZACATENCO

Telnet Comunicaciones 1. Luis Alfredo da Silva Gregori Gonzalez Rhamin Elrhouate July 2014

Firewall Firestarter. Establece perímetros confiables.

Cortafuegos ( Firewall ) Arquitecturas de cortafuegos Juan Nieto González IES A Carballeira -

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha

CURSO DE CORREO ELECTRÓNICO (OUTLOOK EXPRESS) MODULO AVANZADO

Si quieres saber cuál es tu IP, escribe en Google: cuál es mi IP. Escribe en el buscador Google: cuál es mi ip

Tema 5. Topologías de red Seguras. Módulo I : Topologías de Red Seguras

4.2- Instalación y Configuración de un Servidor DNS Dnsmasq en Ubuntu sin DHCP

DHCP NAT. Redes WAN. DHCP y NAT. Esteban De La Fuente Rubio esteban@delaf.cl L A TEX. Universidad Andrés Bello. 27 abr 2011

Laboratorio de Redes de Computadores

Instalación de OPENVPN en Debian

Diseño e implementación de un sistema de seguridad perimetral ZENTYAL. Henry Alexander Peñaranda Mora cod Byron Falla cod

Servidor Firewall. Patrick Hernández Cuamatzi. Maestría en Ingeniería de Software Redes Avanzadas

FILTRO ANTISPAM GUÍA DE CONFIGURACIÓN PARA CUENTAS POP

CONFIGURACIÓN BÁSICA DE UNA VPN EN WINDOWS XP PROFESIONAL

IPTABLES Manual práctico

MANUAL MS OUTLOOK EXPRESS

Administración de redes IP. Localización y manejo de problemas

Transcripción:

Semana 9: Firewalls Filtrado de paquetes y NAT

Aprendizajes esperados Contenidos: Filtrado de paquetes NAT

Filtrado de paquetes Un # ping c 1 127.0.0.1

Filtrado de paquetes Cada regla especifica un conjunto de condiciones que un paquete pq debe cumplir, y lo que haremos si cumple dichas condiciones (efectuaremos una acción ) ). Por ejemplo, puede que quieras hacer DROP de los paquetes ICMP provenientes de la dirección 127.0.0.1. En este caso definiremos el protocolo como ICMP, la dirección de origen como 127.0.0.1 y la acción será DROP.

Filtrado de paquetes 127.0.0.1 es la interface de loopback b que tendrá en su máquina incluso si no dispone de una conexión real a la red. Puede hacer un ping para generar dichos paquetes. un ping simplemente envía paquetes ICMP del tipo 8(petición de eco echo request) ) que todos los hosts operativos deberán responder con un paquete ICMP de tipo 0 (respuesta del eco echo reply).

Filtrado de paquetes # ping c 1 127.0.0.1 PING 127.0.0.1 (127.0.0.1): 56 data bytes 64bytes from127 127.0.0.1: 01:icmp_seq=0 ttl=64 time=0.2 ms 127.0.0.1 ping statistics 1 packets transmitted, 1 packets received, 0% packet loss round trip min/avg/max = 0.2/0.2/0.2 ms # iptables A INPUT s 127.0.0.1 p icmp j DROP # ping c 1 127.0.0.1 PING 127.0.0.1 (127.0.0.1): 56 data bytes 127.0.0.1 ping statistics 1 packets transmitted, 0 packets received, 100% packet loss #

Filtrado de paquetes Agregamos ( A) alacadenainput una regla especificando que los paquetes pq que vengan de 127.0.0.1 ( s 127.0.0.1) con el protocolo ICMP ( p p icmp) deberán tomar la acción DROP ( j j DROP). Una vez hechoh esto,probamos la regla conun segundo ping. El programa esperará una respuesta que nunca llegará.

Filtrado de paquetes Podemos eliminar esta regla de dos formas. La primera, ya que sabemos que es la única regla en la cadena INPUT, podemos utilizar su número para borrarla: # iptables D INPUT 1 La segunda forma es igual a la del comando A, pero sustituyendo A por D.

Filtrado de paquetes Esto es útil cuando tiene varias reglas complejas y no quieres tener que contarlas hasta encontrar la que buscabas. Para estos casos usaremos: # iptables D INPUT s 127.0.0.1 p icmp j # iptables D INPUT s 127.0.0.1 p icmp j DROP

Filtrado de paquetes La sintaxis de D debe ser exactamente igual a la de A (o I o R).) Sihay múltiples reglas iguales en la misma cadena, sólo la primera será eliminada.

Filtrado de paquetes # iptables F Para vaciar (Flush) todas las cadenas. # iptables X Borrar la cadena definida por usuario (opcional) especificada. # iptables Z Poner a cero (Zero) los contadores de bytes y paquetes de todas las cadenas.

Filtrado de paquetes # iptables A INPUT j DROP # iptables A OUTPUT j DROP # iptables A FORWARD j DROP Agregar ( A) una regla para descartar ( j DROP) ) todos los paquetes pq de entrada (INPUT), salida (OUPUT) y reenvío (FORWARD), respectivamente.

Filtrado de paquetes # iptables A INPUT p udp j DROP Agregar ( A) una regla a la cadena de INPUT en la tabla FILTER (la tabla pordefecto df cuando la opción t no se especifica) que descarte ( j DROP) todos los paquetes UDP ( pudp).

Filtrado de paquetes # iptables A INPUT p icmp s 192.168.1.123 j DROP Agregar ( A) una regla a la cadena de entrada (INPUT) para que cualquier paquete pq ICMP ( p p icmp) con origen en 192.168.1.123 ( s 192.168.1.123) 168 1 123) sea descartado ( j DROP).

Filtrado de paquetes # iptables A INPUT p tcp s 192.168.1.123 dport 21 j DROP Agregar ( A) unareglaalacadenadeentrada (INPUT) para que cualquier paquete TCP ( p tcp) con origen en 192.168.1.123 ( s 192.168.1.123) a través de FTP por el puerto 21 ( dport 21) sea descartado ( j j DROP).

Filtrado de paquetes # iptables A INPUT p tcp dport 22 j ACCEPT Agregar ( A) unareglaalacadenadeentrada (INPUT) para aceptar ( jj ACCEPT) conexiones a nuestra máquina a través de SSH por el puerto 22 ( dport 22).

Qué es NAT? Normalmente, los paquetes viajan en una red desde un origen determinado (por ejemplo, desde mi computador) a un destino específico (como por ejemplo www.google.com) a través de varios enlaces diferentes. Ninguno de estos enlaces alteran realmente los paquetes: simplemente lo envían un paso adelante.

Qué es NAT? Si uno de estos enlaces hiciera NAT, podría alterar el origen o destino de los paquete pq según pasa a través suyo. Normalmente, el enlace que esté haciendo NAT recordará cómo y qué modificó del paquete, para hacer la acción inversaconel paquetederespuesta,demaneraquetodo funciona como se esperaba.

Razones para usar NAT Remedio frente a la escasez de direcciones Simplificación de la gestión de redes Mejora de la seguridad Conexiones con módem a Internet Varios servidores Proxy transparente

Tipos de NAT Source NAT (SNAT, por origen), y Destination NAT (DNAT, por destino). Source NAT es cuando alteramos el origen del primer paquete: esto es, estamos cambiando el lugar de donde viene la conexión. Source NAT siempre se hace después del encaminamiento, justo antes de que el paquete salga por el cable. El enmascaramiento es una forma especializada de SNAT.

Tipos de NAT El enmascaramiento (masquerading) es una forma especializada de SNAT.

Source NAT

Tipos de NAT Destination i NAT es cuando alteramos la dirección de destino del primer paquete: esto es, cambiamos la dirección a donde se dirige la conexión. DNAT siempre se hace antes del encaminamiento, cuando el paquete pq entra por el cable. El port forwarding (reenvío de puerto), el balanceo de carga y el proxy transparente son formas de DNAT.

Destination NAT

Controlar el NAT Se necesitan crear reglas NAT que le digan al núcleo (kernel) qué conexiones cambiar, y cómo hacerlo. Para hacer esto se utiliza la muy versátil herramienta IPTABLES, y le diremos que altere la tabladenatusando la opción tnat.

Controlar el NAT La tabla de reglas NAT contiene tres listas llamadas cadenas : cada regla se examina por orden hasta que una coincide. Las tres cadenas se llaman PREROUTING (para Destination NAT, según los paquetes entran), POSTROUTING (para Source NAT, según los paquetes salen), y OUTPUT (para Destination NAT con los paquetes generados en la propia máquina).

Controlar el NAT Para todas las operaciones de NAT, sedebe usar t natparap especificar que se operará sobre la tabla NAT. Otra opciones importantes son AA para añadir una nueva regla al final de una cadena ( A POSTROUTING), ) o I para insertarla al principio ( I PREROUTING).

Controlar el NAT Se puede especificar el origen ( s o source) y el destino ( d o destination)) de los paquetes pq sobre los que se quiere hacer NAT. Estas opciones pueden ir seguidas por una IP sencilla (por ejemplo, 192.168.1.1), un nombre (por ejemplo, www.duoc.cl), o una dirección de red (192.168.1.0 / 24 o 192.168.1.0 / 255.255.255.0).

Controlar el NAT Se puede especificar qué interfaz de entrada o de salida considerar con las opciones i o in interface y o o out interface, respectivamente. Pero lo que se puede especificar depende de en qué cadena esté poniendo la regla: en PREROUTING sólo puede elegir la interfaz de entrada, y en POSTROUTING (y OUTPUT) sólo la de salida.

Controlar el NAT Si usa la equivocada, IPTABLES le avisará con un mensaje deerror. También puede indicar un protocolo específico ( pp o protocol), como TCP o UDP; sólo los paquetes de este protocolo coincidiránconlaregla. l

Controlar el NAT La razón principal para hacer esto es que especificar uno de los protocolos TCP o UDP permite más opciones: específicamente las opciones source port y destination port (abreviadas como sport y dport, respectivamente).

Source NAT Hacer Source NAT quiere decir que vamos a cambiar la dirección de origen de las conexiones a algo diferente. Source NAT se hace en la cadena de POSTROUTING, justo antes de que sea enviado. Este es un detalle importante,yaque significa que cualquier otro servicio de la máquina LINUX (encaminamiento, filtrado de paquetes) verá el paquete sin cambiar.

Source NAT También significa que se puede utilizar la opción o (interfazdesalida). El Source NAT se especifica indicando j SNAT, y la opción to source especifica una dirección IP, un rango de direcciones IP, y un puerto o rango de puertos opcionales (ól (sólo con los protocolos UDP y TCP).

Source NAT Cambiar la dirección de origen por 1.2.3.4 # iptables t nat A POSTROUTING o eth0 j SNAT to 1.2.3.4 Cambiar la dirección de origen a 1.2.3.4, 1.2.3.5 o 1.2.3.6 # iptables t nat A POSTROUTING o eth0 j SNAT to 12341236 1.2.3.4 1.2.3.6

Source NAT Cambiar la dirección de origen por 1.2.3.4, puertos 1 1023. # iptables t nat A POSTROUTING p tcp o eth0 j SNAT to 1.2.3.4:1 1023

Enmascaramiento Hay un caso especial de Source NAT que se denomina enmascaramiento (masquerading). q sólo debería ser usado para direcciones IP asignadas de forma dinámica, tales como las de conexiones por llamada estándar (para direcciones IP estáticas, se debe utilizar el SNAT descrito anteriormente).

Enmascaramiento i ibi l di ió d i No es necesario escribir la dirección de origen deformaexplícitaconelenmascaramiento: utilizará la dirección de origen de la interfaz por la que el paquete está saliendo. Pero más importante aún, si el enlace cae, las conexiones (que se iban a perder de todas maneras) se olvidan, lo que significa que habrá menos problemas cuando la conexión vuelva a la normalidad con una IP diferente.

Enmascaramiento Enmascarar todo lo que salga por ppp0. # iptables t nat A POSTROUTING o ppp0 # iptables t nat A POSTROUTING o ppp0 j MASQUERADE

Destination NAT Esto se hace en la cadena PREROUTING, según entra el paquete; esto significa que cualquier otro servicio de la máquina con LINUX (encaminamiento, filtrado de paquetes) verá el paquete yendo a su destino real (el definitivo). Esto significa que se puede utilizar la opción i (interfaz de entrada).

Destination NAT Para alterar el destino de un paquete generado de forma local (en la máquina que hace el NAT), se debe usar la cadena OUTPUT, pero esto es más inusual. Destination NAT se especifica utilizando j DNAT, y la opción to destination especifica una dirección IP, un rango de direcciones IP, y un puerto o rango de puertos opcionales (sólo para los protocolos UDP y TCP).

Destination NAT Cambia la dirección de destino por 5.6.7.8 # iptables t nat A PREROUTING i eth1 j DNAT to 5.6.7.8 Cambia la dirección de destino por 5.6.7.8, 5.6.7.9 o 5.6.7.10. # iptables t nat A PREROUTING i eth1 j DNAT to 5.6.7.8 5.6.7.10

Destination NAT Cambia la dirección de destino del tráfico web por5.6.7.8, puerto 8080. # iptables t nat A PREROUTING p tcp dport d t80 i eth1 j DNAT to t 5.6.7.8:8080 8080 Redirigelospaquetes pq locales que van a 1.2.3.4 hacia el dispositivo loopback. i bl d j # iptables t nat A OUTPUT d 1.2.3.4 j DNAT to 127.0.0.1

Configuración de un PROXY Vamos a suponer que tenemos un PROXY en la dirección 192.168.0.1 y el puerto 3128 para las conexiones a servidores web de internet, con la siguiente regla se redirigirán todas las peticiones que se realicen hacia un servidor WEB (puerto 80) hacia el puerto 3128 de la máquina 192.168.0.1: # iptables t nat A PREROUTING p tcp dport 80 j DNAT to 192.168.0.1:3128168 1:3128

Configuración de un PROXY Envía el tráfico que entra dirigido al puerto 80 (web) a nuestro proxy squid (transparente). # iptables t nat A PREROUTING i eth1 # iptables t nat A PREROUTING i eth1 p tcp dport 80 j REDIRECT to port 3128

Configuración de un PROXY

Un Resumen