IPTABLES - IPTABLES Firewall: La forma más segura de...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: IPTABLES Firewall: La forma más segura de evitar daños La consiste en impedir que las personas no autorizadas puedan obtener el acceso a un equipo o red. Es un dispositivo que filtra el tráfico entre redes. El firewall puede ser un dispositivo físico o un software sobre un sistema operativo. Permite establecer reglas de filtrado con las que se decide si una conexión determinada puede establecerse o no. Nicolás Contador IPTABLES Un firewall se ubica, por lo general, entre una red privada y una pública. se configura con un conjunto de reglas que determinan a qué tráfico de red se le permitirá pasar y cuál será bloqueado o rechazado. Decide si un paquete pasa, se modifica, se convierte o se descarta. Nicolás Contador IPTABLES Posibles reglas de un firewall Politica por defecto ACEPTAR. Todo lo que venga de la red local al firewall ACEPTAR Todo lo que venga de la ip de mi casa al puerto tcp 22 ACEPTAR Todo lo que venga de la ip de casa del jefe al puerto tcp 1723 ACEPTAR Todo lo que venga de hora.rediris.es al puerto udo 123 ACEPTAR Todo lo que venga de la red local y vaya al exterior ENMASCARAR Todo lo que venga del exterior al puerto tcp 1 al 1024 DENEGAR Todo lo que venga del exterior al puerto tcp 3389 DENEGAR Todo lo que venga del exterior al puerto udp 1 al 1024 DENEGAR Nicolás Contador IPTABLES Posibles reglas de un firewall En definitiva lo que se hace es: - Habilita el acceso a puertos de administración a determinadas IPs privilegiadas - Enmascara el trafico de la red local hacia el exterior (NAT, una petición de un pc de la LAN sale al exterior con la ip pública), para poder salir a internet - Deniega el acceso desde el exterior a puertos de administración y a todo lo que este entre 1 y 1024. Nicolás Contador IPTABLES Pero de qué me sirve un firewall, de qué me protege? –Acceso no autorizado: ingreso a la red o a un host por parte de personas ajenas. Evitar el acceso a todos excepto a los usuarios deseados. los –Denegación de servicio (DOS, DDOS): hace que un servicio o equipo deje de funcionar o impide el uso normal de ellos. Impedir que se realicen órdenes y peticiones sospechosas desde afuera. –Suplantación de identidad (spoofing): Un host o aplicación simula las acciones de otro. Verifique la autenticidad de los simula erifique datagramas y órdenes. Evite el encaminamiento de datagramas con direcciones de origen no válidas. Nicolás Contador datagramas IPTABLES Netfilter: Es un framework disponible en el Es núcleo de Linux que permite interceptar y manipular paquetes de red. Permite realizar el manejo de paquetes en diferentes estados del procesamiento. Usa una herramienta de filtrado de paquetes llamada iptables. iptables Nicolás Contador IPTABLES Filtrado de paquetes: El filtrado de IP es simplemente Filtrado un mecanismo que decide qué tipos de paquetes serán procesados normalmente y cuáles serán descartados (drop). Por descartados se entiende que el paquete se descartados elimina y se ignora completamente, como si nunca se hubiera recibido. hubiera Nicolás Contador IPTABLES Criterios de filtrado: Criterios •Tipo de protocolo: TCP, UDP, ICMP, etc. Tipo •Número de puerto (TCP/UDP) Número •Tipo de paquete: SYN/ACK, datos, petición de eco de Tipo ICMP, etc. •Dirección de origen del paquete: de donde proviene Dirección •Dirección de destino del paquete: a donde se dirige Nicolás Contador IPTABLES Es un sistema de selección de paquetes. Este Es método de selección de paquetes se utiliza para el filtrado de paquetes (la tabla ‘filter’), para la Traducción de direcciones de Red (la tabla ‘nat’) y para la manipulación general de paquetes antes del enrutamiento (la tabla ‘mangle’). Antes de iptables (kernel 2.4 en adelante) para Antes implementar un firewall se utilizaba ipchains (kernel 2.2) y antes de éstas ipwadm (kernel 2.0). 2.2) Nicolás Contador IPTABLES Con Iptables se pueden configurar las diferentes Con Iptables tablas de reglas para seleccionar paquetes de acuerdo con diferentes criterios. El filtrado de paquetes se lleva a cabo mediante la tabla filter que contiene las reglas para rechazar o aceptar los paquetes. Las operaciones de traducción de direcciones de red, como el enmascaramiento de IP, se realizan usando la tabla NAT que contiene las NAT reglas de enmascaramiento de IP. La manipulación de paquetes pre-route usa la tabla mangle. mangle. Nicolás Contador IPTABLES La tabla filter contiene las siguientes cadenas predefinidas y La filter cualquier paquete pasará por una de ellas: cualquier INPUT (Cadena de ENTRADA) — Todos los paquetes destinados al propio sistema atraviesan esta cadena. •OUTPUT (Cadena de SALIDA) — Todos los paquetes creados el sistema atraviesan esta cadena •FORWARD (Cadena de REDIRECCIÓN) — Todos los paquetes que pasan por este sistema recorren esta cadena. Los paquetes que no van dirigidos al propio sistema. Nicolás Contador IPTABLES La tabla NAT El primer paquete en cualquier conexión pasa a través de La NAT esta tabla contiene las siguientes cadenas: •PREROUTING (Cadena de PRERUTEO) — Los paquetes entrantes pasan a través de esta cadena antes de que se consulte la tabla de ruteo local, principalmente para DNAT (destination-NAT o traducción de direcciones de red) •POSTROUTING (Cadena de POSRUTEO) — Los paquetes salientes pasan por esta cadena después de haberse tomado la decisión del ruteo, principalmente para SNAT (source-NAT o traducción de direcciones de red de origen) •OUTPUT (Cadena de SALIDA) — Permite hacer un DNAT limitado en paquetes generados localmente. Nicolás Contador IPTABLES La tabla mangle Esta tabla es la responsable de ajustar las opciones de La mangle los paquetes, como por ejemplo la calidad de servicio. Contiene las siguientes cadenas: •PREROUTING (Cadena de PRERUTEO) — Todos los paquetes que logran entrar a este sistema, antes de que el ruteo decida si el paquete debe ser reenviado o si tiene destino local. •INPUT (Cadena de ENTRADA) — Todos los paquetes destinados para este sistema pasan a través de esta cadena. •OUTPUT (Cadena de SALIDA) — Todos los paquetes creados en este sistema pasan a través de esta cadena. sistema •POSTROUTING (Cadena de POSRUTEO) — Todos los paquetes que abandonan este sistema pasan a través de esta cadena. abandonan Nicolás Contador IPTABLES Nicolás Contador IPTABLES Para los paquetes que van al propio equipo Para se aplican las reglas INPUT y OUTPUT y para los paquetes que van a otra red o equipo se aplica la regla FORWARD aplica Nicolás Contador IPTABLES Nicolás Contador IPTABLES Destinos o posibles estados que puede tener una Regla: ACCEPT: Aceptar. ACCEPT: DROP: Descartar Descartar QUEUE: Encolar QUEUE: Encolar RETURN: Retorno RETURN: Retorno REJECT: Rechazo REJECT: Rechazo LOG: Bitácora o Log LOG: Bitácora ULOG: Logs del Paquete ULOG: Logs DNAT: Dirección de Destino para el NAT DNAT: Dirección SNAT: Dirección de Origen para el NAT SNAT: Dirección MASQUERADE: Forma especial de SNAT utilizada para las direcciones IP MASQUERADE: Dinámicas Dinámicas Nicolás Contador IPTABLES ACCEPT: Este destino hace que acepte el paquete. Un paquete que se acepta en la cadena de ENTRADA se le permite ser recibido por el sistema ( host), un en ), paquete que se acepta en la cadena de SALIDA se le permite abandonar el sistema y un paquete que se acepta en la cadena de REDIRECCIÓN se le permite ser encaminado (routing) a través del sistema. permite DROP: Este destino hace que descarte el paquete sin ningún otro tipo de procesamiento. El paquete simplemente desaparece sin ningún tipo de indicación al sistema o aplicación de origen, de que fue descartado en el sistema de destino. QUEUE: Este destino hace que el paquete sea enviado a una cola en el QUEUE: espacio de usuario. espacio RETURN: Hace que el paquete en cuestión deje de circular por la cadena en cuya regla se ejecutó el destino RETURN. cuya Nicolás Contador IPTABLES REJECT: Este destino tiene el mismo efecto que 'DROP', salvo que envía un paquete de error a quien envió originalmente. Se usa principalmente en las cadenas de ENTRADA y de REDIRECCIÓN de la tabla de filtrado. LOG: Este destino lleva un log o bitácora del paquete (análisis de fallos, como ser la LOG: log verificación de qué paquetes están siendo descartados) . verificación ULOG: Este destino lleva un log o bitácora del paquete, pero no de la misma manera ULOG: log que el destino LOG. que DNAT: Este destino hace que la dirección (y opcionalmente el puerto) de destino del paquete sean reescritos para traducción de dirección de red. Esto es válido solamente en las cadenas de SALIDA y PRERUTEO dentro de la tabla de nat. en SNAT: Este destino hace que la dirección (y opcionalmente el puerto) de origen del SNAT: paquete sean reescritos para traducción de dirección de red. Esto es válido solamente en la cadena de POSRUTEO dentro de la tabla de nat. en MASQUERADE: Esta es una forma especial, restringida de SNAT para direcciones IP dinámicas, como las que proveen la mayoría de los ISP. dinámicas, Nicolás Contador IPTABLES de IPTables Comandos Básicos en la Configuración en las Tablas iptables –help = Ayuda (Ejemplo: iptables --help) iptables –A = Crear una Regla (Ejemplo: iptables –t filter –A INPUT –i lo –j ACCEPT) iptables –D = Eliminar una Regla (Ejemplo: iptables –t filter –D INPUT –i lo –j ACCEPT) iptables –L = Lista Reglas de dicha tabla (Ejemplo: iptables –t nat -L) iptables –F = Borra todas las Reglas de dicha tabla (Ejemplo: iptables –t nat -F) iptables –Z = Borra todos los Contadores de dicha tabla (Ejemplo: iptables –t nat -Z) iptables –F= Borra todas las reglas de una tabla iptables -N — Crea una nueva cadena con un nombre especificado por el usuario. iptables -P — Configura la política por defecto para una cadena en particular de tal iptables forma que cuando los paquetes atravieses la cadena completa sin cumplir ninguna regla, serán enviados a un objetivo en particular, como puedan ser ACCEPT o DROP. iptables -X — Borra una cadena especificada por el usuario. iptables Nicolás Contador Parámetros: IPTABLES -t = Para especificar la Tablas (Ejemplo: iptables –t nat) -P = Politica, se aplica en las Cadenas (Ejemplo: iptables –t filter –P INPUT DROP) -v = Detalles de las Reglas (Ejemplo: iptables –L –v) -n = Numeros de las Reglas (Ejemplo: iptables –L –n) -j = Destino o Accion que cumplirá la regla (Ejemplo: iptables –t filter –D INPUT –i lo –j ACCEPT) -i = Interface de Entrada -o = Interface de Salida -s = Origen del Paquete o Conexión -d = Destino del Paquete o Conexión -p = Tipo de Protocolo (Ejemplo: tcp, udp, icmp, etc) --dport = Puerto Destino --sport = Puerto Origen --state = Estado de la Conexión Nicolás Contador IPTABLES Primeros pasos: Ver la versión de Iptables, si existe: iptables –V Ver iptables Ver las reglas que están actualmente configuradas: iptables –nL Ver iptables Ver donde está Iptables: which iptables Ver which Abrimos iptables con un editor cualquiera: gedit iptables.sh Borrar reglas configuradas: iptables –F Crear políticas por defecto: Crear iptables -P INPUT ACCEPT iptables iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT Nicolás Contador ...
View Full Document

Ask a homework question - tutors are online