Sesión 1 Unidad 5 Desarrollo de Software Libre I. IPTABLES (Firewall)

Documentos relacionados
Configuración del firewall en Linux con IPtables

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

Cortafuegos y Linux. Iptables

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

SEGURIDAD EN SISTEMAS INFORMÁTICOS

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

Cortafuegos (Firewalls) en Linux con iptables

Aprendiendo a usar IPTABLES desde cero.

8. Cortafuegos (Firewall).

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

Filtrado de paquetes y NAT

Firewall en GNU/Linux netfilter/iptables

Cortafuegos (Firewalls) en Linux con iptables

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

66.69 Criptografía y Seguridad Informática FIREWALL

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

PRÁCTICA 5: USO DE CORTAFUEGOS

IPTABLES. Gonzalo Alvarez Flores

Conozca sobre el funcionamiento de las IPTables Forward. Aprenda como administrar de mejor forma las IPTables en SO GNU/Linux.

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

Prácticas de laboratorio de Telemática II

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

Internet Firewalls Linux ipchains.

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

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

2. Diferencias respecto a IPCHAINS

HOW TO SOBRE FIREWALL

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

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

Aprendizajes esperados

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

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

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

Curso avanzado de GNU/Linux

MANUAL DE INSTALACION Y CONFIGURACION ANTAMEDIA HOTSPOT

Cómo instalar, configurar y poner en marcha de una red con un firewall.

Lab 10. CortaFuegos (Firewall) Área de Telemática. Seguridad de la información Universidad de Antioquia

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 en Linux con iptables

Seguridad en Sistemas Informáticos Seguridad perimetral. Área de Ingeniería Telemática Dpto. Automática y Computación

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

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

TEMA 3: IMPLANTACIÓN DE TÉCNICAS DE ACCESO REMOTO. Victor Martin

Aspectos Básicos de Networking

Programa Administración Linux

Taller de TeamViewer. Manual De TeamViewer

Enrutamiento y filtrado

PROTOCOLO IP. Vicente Sánchez Patón. I.E.S Gregorio Prieto. Tema 1 SRI

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

Software de Comunicaciones. Práctica 9 - Filtrado de Paquetes. IPTables y Shorewall

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

Seleccionamos aceptar conexiones entrantes

Seguridad Informática

Instalación de shorewall.

Firewall Firestarter. Establece perímetros confiables.

Laboratorio de Redes de Computadores

ADMINISTRACIÓN DE SERVIDORES

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

Firewalls, IPtables y Netfilter. Redes de Datos

TEMA 2: Sistemas Operativos

Práctica 2: Uso de Ping y Tracert Página 1 de 5

Alta Disponibilidad de Cortafuegos en Linux. Pablo Neira Ayuso Proyecto Netfilter Universidad de Sevilla

Firewalls de Internet. Ricardo D. Pantazis

Administración de servicios Internet Intranet

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

Implantación de soluciones de Alta Disponibilidad

Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ

Tema 3. Firewalls y Proxies con OpenBSD Y GNU/Linux

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

INSTALACIÓN Y CONFIGURACIÓN DE UN SERVIDOR DHCP EN WINDOWS SERVER 2008 ALISSON ARCE QUIROZ

Firewalls, IPtables y Netfilter

Bing (proveedor de busqueda) Bing es una herramienta de búsqueda que nos ayudará a encontrar lo que buscamos de forma rápida y sencilla.

Shell Script de instalación y configuración para el servicio DHCP en CentOS v5.x. Manual de instrucciones.

Servicio de terminal remoto. Jesús Torres Cejudo

Redes de Computadoras y Cortafuegos con GNU/Linux

REDES DE COMPUTADORES REDES Y SISTEMAS DISTRIBUIDOS

Limitaciones, notas y comparación con otras plataformas

1.4.1 Inicio de la computadora por primera vez Hay problemas Causas, síntomas y soluciones a posibles averías...

IPTables: Filtrado de paquetes en Linux

Redes de área local Aplicaciones y Servicios Linux Enrutamiento

Configuración ISC-DHCP-SERVER

Examen Parcial II de Sistemas Telemáticos para Medios Audiovisuales

7º Unidad Didáctica. Protocolos TELNET y SSH. Eduard Lara

INSTITUTO TECNOLÓGICO DE CUAUTLA INGENIERIA EN SISTEMAS COMPUTACIONALES SEGURIDAD EN SISTEMAS DE INFORMACIÓN PRÁCITCA I:

Manual de Usuario CPE OX330. Manual de Usuario CPE OX330

Laboratorio 2 Filtrado de paquetes con Netfilter

Packet Tracer: uso de traceroute para detectar la red

Configuración de nodos wireless (3)

GUÍA DE INSTALACIÓN PARA RISK SIMULATOR 2016

SISTEMA AUTONOMO CON PATROL IP Manual de Usuario VERSION 1.0 PRELIMINAR

SISTEMA OPERATIVO GNU/LINUX AVANZADO II JOSE ARRIETA NARVAEZ GUSTAVO CARO JESUS GARCIA NILXON VUELVAS TALLER FIREWALL ING.

Sincronizador de Información Táctica

TEMA 7: SERVIDOR PROXY-CACHÉ

PRÁCTICA 5 PC linux como router

Manual de instalación AutoFirma 1.4.3

Elastix : Servidor de Comunicaciones Unificadas

Antes de empezar a escribir las reglas de filtrado del firewall voy a dar una breve explicación sobre como trabaja iptables actualmente.

Práctica 2. Montaje de Redes Locales. Parte III

NUEVO TEMARIO INTEGRAL MIKROTIK RouterOs

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

Transcripción:

IPTABLES (Firewall) El propósito de un cortafuegos (firewall) es controlar el flujo de datos que salen o entran por una interface de red. Se construye mediante un filtro de paquetes, que es un código que lee el encabezado de un paquete de red que recibe una interface (e.g. lo, eth0 o ppp0) y luego decide si aceptarlo, rechazarlo o redirigirlo antes de alcanzar un proceso local (daemon). En Linux, el filtro de paquetes es parte del núcleo. A partir de la versión del núcleo 2.4 se reescribió completamente y pasó a llamarse iptables, reemplazando al antiguo ipchains. El Firewall delinux iptables Existen varias aplicaciones de cortafuegos (firewall) para Linux, pero independientemente de cuál e use, el corazón de todos estos programas es una sola aplicación bastante poderosa que está integrada en el mismo Kernel de sistema operativo, su nombre: iptables. Pero por qué es mportante un firewall? Porque su propósito es controlar el flujo de datos que salen o entran por na interfaz de red. Este se construye mediante un filtro de paquetes, que es un código que lee el encabezado de un paquete de red que recibe e inmediatamente decide si aceptarlo, rechazarlo o redirigirlo antes de alcanzar un proceso local (demonio: ssh, vsftpd...). En Linux, el filtro de paquetes s parte del núcleo. Independiente del sistema operativo, un firewall es un programa que se ejecuta n un Gateway, Bridge, PC, Laptop o teléfono inteligente 1

capaz de filtrar los paquetes de red entrantes, salientes y reenviarlos a un proceso previamente definido. iptables puede dar una sensación falsa de seguridad. No existe red completamente segura, aunque esta herramienta es considerada de primera línea para la defensa de la información, es necesario disponer de otros mecanismos de vigilancia ante actividades extrañas para mantener el sistema seguro. Filtro de datos El núcleo parte con una tabla que contiene tres listas básicas de reglas llamadas cadenas (chain): INPUT, OUTPUT y FORWARD, respectivamente (entrada, salida y redirección). Cuando un paquete entra a una interfaz de red, el núcleo examina primero el destino del paquete y decide que ruta tomar (INPUT o FORWARD). Luego el paquete es examinado en la cadena, en donde la decisión de desechar (DROP) o aceptar (ACCEPT) el paquete es tomada. Si la decisión es aceptada, el paquete continúa hacia el destino, siendo recibido por algún proceso local (demonio). En cambio, si la decisión es desechar, el paquete es descartado completamente, muriendo en el lugar, antes de alcanzar un proceso local. Una cadena es entonces una lista de reglas de control. Cada regla dice, Si el encabezado del paquete es de esta manera, aplico tal acción sobre él. La regla puede estar compuesta de una o múltiples condiciones. Si cualquiera de las condiciones de la regla no se cumple, la próxima regla es consultada. 2

Reglas específicas Las opciones más comunes son: taller~ # iptables -L Chain INPUT (policy ACCEPT) Target prot opt source destination Chain FORWARD (policy ACCEPT) Target prot opt source destination Chain OUTPUT (policy ACCEPT) Target prot opt source destination Agregando reglas Supongamos que queremos añadir una regla que permita que cualquier usuario pueda conectarse al puerto 22. Recuerde que el puerto 22 es designado por defecto al protocolo SSH. Por supuesto, un buen administrador de sistemas tomará otras medidas de seguridad, inclusive cambiar el puerto 3

22 por uno totalmente inesperado, esto puede lograrlo modificando el archivo sshd_config pero como este es solamente un ejemplo, continuaremos con el número de puerto por defecto. Examinemos el comando: -I Ingresamos una nueva regla INPUT Especificamos a qué cadena pertenece esta regla (paquetes entrantes) -i Establecemos la interfaz de red que recibirá el paquete (eth0) -p Protocolo (tcp, udp) --dport Puerto de destino (22 en el ejemplo SSH) -j Salto para la toma de una decisión (para el ejemplo es aceptado) Como el lector puede comprobar, las reglas no son tan complejas (aunque existen algunas que requieren de un vasto conocimiento sobre el tema). Lógicamente, estas reglas se pueden reforzar para mayor seguridad. A continuación veremos una variación de la regla anterior, en esta ocasión solo permitiremos que una determinada dirección IP, pueda acceder al puerto 22. En la primer regla ingresada, se agregó la opción -s que significa cuál es la dirección IP origen del paquete, es decir la dirección IP del host que se permitirá el acceso al puerto 22. A continuación se agrega otra regla que indica que todas las demás peticiones de conexión hacia SSH serán rechazadas. Incluso se puede determinar que la conexión al puerto 22 solo podrá ser realizada desde una dirección MAC específica (la complejidad de las reglas depende de la paranoia del administrador de sistemas) Nuevamente el lector puede comprobar que estas reglas básicas no son para nada complejas. A continuación escribiremos una regla para descartar peticiones ICMP desde el servidor. A pesar de ser una regla básica, puede salvar al equipo de un ataque puesto que el atacante pensará que la dirección IP a la que está realizando ping no ha sido asignada, o que el equipo que la posee está desconectado. taller ~ # iptables -A INPUT -p icmp --icmp-type echo-request -j DROP Los únicos cambios notables son la opción icmp-typey echo-request, que son las peticiones de tipo ICMP y la acción que se ha determinado como respuesta (en el ejemplo: no se hace nada). 4

Una regla en la cadena OUTPUT tiene la misma secuencia de comandos que convergen en una decisión (-jaccept, DROP o REJECT), un ejemplo sencillo: taller ~ # iptables -A OUTPUT -p tcp --dport telnet -j REJECT Simplemente le estamos informando a iptables que todas las conexiones salientes para el servicio telnet sean rechazadas. Una regla también puede ser eliminada. Imagine que el administrador se haya equivocado en una regla y esta evite el funcionamiento adecuado de alguno de los servicios. Veamos como deshacernos de una regla: taller ~ # iptables -D INPUT -p icmp --icmp-type echo-request -j DROP Creación de un firewall básico En un cortafuegos no hay que perder el objetivo (filtrar datos). Es necesario aclarar que la única tabla que se ha tratado en este documento, es, en efecto, la tabla de filtro de contenidos, cuyo único propósito es permitir o denegar el envío de información para acceder a un servicio. Para estudiar un poco la tabla nat le invitamos a estudiar el video (paso a paso) Linux como Router. También es necesario aclarar que las reglas que ingresamos a iptables solo están presentes mientras la computadora esté funcionando, esdecir que una vez que la computadora se reinicie o apague, estas reglas se borrarán. Obviamente Linux posee muchas alternativas para que estas reglas no se borren. Mencionamos algunas de ellas: Escribir estas reglas de manera íntegra al archivo rc.local del SO Linux Debian. Esto hará que las reglas de iptables se ejecuten cada vez que arranque del sistema. Crear un Bash Script con las reglas de iptables, otorgar permisos de ejecución copiar la ruta de este archivo en rc.local. Instalar algún módulo persistente que mantenga las reglas aunque la computadora se apague. Cualquiera de las anteriores es válida. En este documento estudiaremos la tercera alternativa (la instalación de una herramienta persistente), la cual conseguimos con la siguiente instrucción: 5

Instalación: #apt-get install netfilter-persistent Iniciar el servicio de Persisencia de iptables. #/etc/init.d/netfilter-persistent start Al momento de agregar reglas podemos emitir el comando netfilter-persistent save Para mayor información de la paquetería netfilter-persistent consultar http://manpages.ubuntu.com/manpages/wily/man8/netfilterpersistent.8.html Lo primero es definir las reglas necesarias para los servicios que vamos a ofrecer, partiendo de una decisión muy importante: Permitimos todo y bloqueamos los servicios que no utilizaremos o Bloqueamos todo y permitimos solo los servicios que utilizaremos. Evidentemente la segunda opción es la más acertada: bloquear todo y solamente liberar lo que necesitamos. Para conseguir este propósito ingresamos las reglas a continuación: (estas reglas no permitirán entrada de información, por eso debemos permitir que nuestra propia computadora tenga permisos para entrar datos, así como también aceptar paquetes de peticiones que se originen en la misma) Iniciamos ahora con las reglas para los servicios que ofrecemos En la última regla aplicamos el flag m conntrack, esta regla es especial porque crea un registro que mantiene información de cada conexión y toda la información necesaria para esa conexión, esto es realmente útil para las conexiones FTP. 6

El administrador puede definir, además, algunas restricciones (bloquear ip, dar acceso solo a ciertas ip a servicios específicos,entre otros). Ahora solo resta guardar las reglas que se han especificado: #netfilter-persistent save Hasta este punto el lector notará que iptables no es tan complejo (no obstante existen reglas que sí lo son). Siempre es importante conocer las bases de herramientas útiles como esta, una vez que hemos ganado un poco de conocimiento es recomendable (mientras el estudio continua) apoyarse de otras herramientas que facilitan la inserción de reglas en iptables, una de ellas (muy gentil y cómoda de usar) es firehol (http://firehol.org/) cuyo eslogan es iptables para humanos. Le invitamos a que estudie la documentación, notará la gran diferencia que existe. No olvide la importancia de conocer las bases de iptables en crudo, esto puede informar al administrador sobre alguna regla mal escrita que esté causando alguna incomodidad en el servidor. Actividad de evaluación Nombre de la actividad Tipo de actividad Objetivo Instruccines Fecha de entrega Criterios de evaluación Quiz Individual Evaluar los conocimientos adquiridos por el estudiante. Responder un quiz de 10 preguntas respecto a lo expuesto esta semana en el aula virtual. Domingo, último día a las 23:59 horas Respuestas correctas, nivel de comprensión en las preguntas abiertas. 7