1 00:00:00,000 --> 00:00:11,439 Aquí tenemos el ejemplo del Retron. En esta dispositiva se muestra un ejemplo práctico del uso de Retron y cadenas personalizadas. 2 00:00:12,019 --> 00:00:25,760 Primero, se crea una cadena personalizada, por ejemplo, con un nombre que será filtro-http, que sirve para agrupar reglas establecidas relacionadas con HTTP. 3 00:00:25,760 --> 00:00:34,280 Véis que aquí lo ha hecho con el guión N la cadena para crear esa cadena personalizada con este nombre. 4 00:00:34,799 --> 00:00:55,399 Después se agregan reglas dentro de esa cadena. Se van arreglando, veis, añado y añado a filtro HTTP, le añado esta regla, que sería esta de aquí, que permite el tráfico desde esta dirección IP fuente y con un tráfico TCP a través del puerto 80. 5 00:00:55,399 --> 00:01:20,939 Entonces, esta regla la añade a esta cadena personalizada y que sucede que después que se agregan las reglas dentro de esa cadena, por ejemplo esta que hemos visto, finalmente se llama a la cadena desde input, de modo que cuando llegue tráfico HTTP se envía a esa cadena para evaluarlo. 6 00:01:20,939 --> 00:01:34,260 Si el paquete cumple con la regla, se acepta y si no, pues lo que hará es que llamará a RETRUN devolviendo el control al input. 7 00:01:35,379 --> 00:01:43,019 Esto permite organizar el framework como si fueran módulos o funciones, evitando reglas desordenadas en el input. 8 00:01:43,640 --> 00:01:47,560 Es una forma profesional de mantener reglas claras y mantenibles. 9 00:01:47,560 --> 00:01:54,900 En un framework real, con muchas reglas, esta técnica es imprescindible. Así se mejora la administración y se reducen los errores. 10 00:01:55,659 --> 00:02:04,760 Veis aquí lo que ha creado primero la cadena personalizada. Agrega las reglas a la cadena personalizada, que sería aquí. 11 00:02:05,859 --> 00:02:11,159 Segunda regla, usa Retrum para devolver el control a la cadena principal si ningún paquete coincide con la regla anterior. 12 00:02:11,159 --> 00:02:33,180 Si no coincide con esta regla, entonces volvería a la regla anterior, que sería llamada al input, que llamaría a las reglas, para que te coincide con la regla filtro HTTP, será aceptado, pero si no coincide, el return hace regresar el control al input, donde la regla drop bloqueará cualquier otra condición. 13 00:02:33,180 --> 00:03:00,289 Bien, pasamos a las acciones en IP Tables, tanto de NAT, SNAT, Masquerade y Redirect. Aquí aparecen acciones relacionadas con NAT, que son distintas al filtrado normal. Tenemos primero de NAT, que se usa, lo hemos visto antes, en prerouting para modificar la IP destino. 14 00:03:01,289 --> 00:03:04,969 Normalmente para redigir tráfico entrante a un servidor interno. 15 00:03:05,610 --> 00:03:08,569 Luego tenemos el SNAT, que se usa en ProRouting 16 00:03:08,569 --> 00:03:15,729 y que para modificar la IP origen cuando el framework tiene una IP fija, 17 00:03:17,090 --> 00:03:19,270 cuando esta IP es estática. 18 00:03:19,490 --> 00:03:21,870 Mientras que el mascarade sería igual que el SNAT, 19 00:03:21,870 --> 00:03:25,509 lo que pasa es que es cuando se utiliza cuando la dirección IP es dinámica 20 00:03:25,509 --> 00:03:27,110 en la interfaz de red de salida. 21 00:03:27,110 --> 00:03:53,610 Y luego, por último, tenemos el Redirect, que se usa para redirigir el tráfico a la propia máquina. Por ejemplo, cambiar un puerto de destino. Estas opciones son, por tanto, esenciales para compartir Internet y publicar servicios internos. En la práctica, NAT es lo que permite que redes privadas puedan comunicarse con Internet. Sin NAT, la mayoría de redes domésticas y muchas empresas no funcionarían como hoy. Por eso, esta dispositiva es clave. 22 00:03:53,610 --> 00:04:03,830 Bien, ejemplos comunes de reglas en IP tables. 23 00:04:04,370 --> 00:04:10,710 Aquí tenemos, os pongo en rojo, lo que significa cada una de las partes o comandos que tiene la propia regla. 24 00:04:11,250 --> 00:04:15,650 Y fijaos, aquí, esta ya vemos que es una añade regla, añade regla y añade regla. 25 00:04:15,650 --> 00:04:24,569 Es lo que está haciendo, que es, añade una regla de entrada al Firewall y está aceptando el qué, el tráfico HTTP desde el puerto 80. 26 00:04:24,569 --> 00:04:28,069 no lo indica la acción ACET 27 00:04:28,069 --> 00:04:31,350 bloquear el tráfico sería la contraria a la anterior 28 00:04:31,350 --> 00:04:33,310 en la que lo estamos bloqueando, pero ¿para qué? 29 00:04:33,410 --> 00:04:37,910 para aquellas IPs de esta fuente 30 00:04:37,910 --> 00:04:40,769 en dirección al propio Firewall 31 00:04:40,769 --> 00:04:43,709 permitir el tráfico de una red local 32 00:04:43,709 --> 00:04:47,149 sería igual que la anterior, pero ahora estamos diciendo 33 00:04:47,149 --> 00:04:49,470 que la acepten, no que la bloqueen 34 00:04:49,470 --> 00:04:53,310 denegar todo el tráfico por defecto y permitir solo ciertos puertos 35 00:04:53,310 --> 00:05:12,750 Fijaos, aquí primero realiza una acción de denegar todo el tráfico de entrada y, posteriormente, esta que lo ha generado por defecto, ahora permite, primero elimina todo por defecto y luego permite una serie de reglas que serían estas. 36 00:05:12,750 --> 00:05:24,089 Solo va a permitir la entrada con ACEP, tanto con el protocolo TCP, tanto por teléfono de puerto 22 y del 80. O sea, está permitiendo SSH y permitiendo HTTP. 37 00:05:26,939 --> 00:05:36,800 Pasamos a qué es NAT. Aquí se define NAT, que significa Network Address Translation, o lo que sería una traducción de direcciones de red. 38 00:05:37,379 --> 00:05:44,040 NAT es un proceso que permite modificar direcciones IP en paquetes que atraviesan un router o un cortafuegos. 39 00:05:44,699 --> 00:05:51,779 Se usa principalmente ¿para qué? Para traducir direcciones privadas a públicas y viceversa. 40 00:05:52,399 --> 00:06:01,560 También sirve para redirigir puertos o hacer mascarado, que es cuando muchos equipos comparten una sola IP pública. 41 00:06:02,120 --> 00:06:07,360 En IP tables, NAT se gestiona en la tabla NAT, que lo hemos visto antes con el guión T, 42 00:06:08,579 --> 00:06:14,639 y se trabaja con cadenas específicas como prerouting, prerouting y out. 43 00:06:14,699 --> 00:06:37,740 Es importante recalcar que NAT no es filtrado, sino que es transformación de direcciones. Eso es importante. No es filtrado, es transformación de direcciones. Gracias a NAT, redes privadas pueden salir a Internet, aunque usen direcciones no rutables. Es uno de los mecanismos más utilizados en redes modernas y sin NAT, necesitaríamos una IP pública por cada dispositivo, lo cual sería algo inviable. 44 00:06:37,740 --> 00:06:52,379 Aquí tenemos el ejemplo, ya pasamos a SNAT y DNAT. Aquí se explica cómo las IP tables se pueden hacer dos tipos principales de NAT, que serían el SNAT y el DNAT. 45 00:06:52,920 --> 00:07:02,560 Empezamos con el SNAT, que va a modificar la IP origen de un paquete por una IP externa del equipo que hace NAT. 46 00:07:02,779 --> 00:07:08,560 El equipo que hace NAT, aquí sería el propio router, entonces esto se usa para que varios equipos internos puedan compartir. 47 00:07:08,560 --> 00:07:13,699 compartir, estos serían los equipos internos, pueden compartir una IP pública para salir a 48 00:07:13,699 --> 00:07:22,899 Internet. Esta sería la IP pública y sería esta aquí. Por tanto, este dispositivo actúa como puerta 49 00:07:22,899 --> 00:07:27,180 de enlace y transforma el tráfico. Entonces, es importante destacar que esta técnica es la base 50 00:07:27,180 --> 00:07:32,079 de la conectividad en redes privadas. Gracias a ese NAT, los equipos internos no necesitan IP 51 00:07:32,079 --> 00:07:37,000 públicas. Además, el NAT mantiene una tabla interna, que ahora lo veremos a continuación, 52 00:07:37,000 --> 00:07:40,019 en el que se establecen las conexiones entre privada y pública. 53 00:07:44,839 --> 00:07:49,959 Aquí lo tenemos, veis aquí la tabla, bueno, se ve mejor aquí, esta sería la tabla NAT que va a crear, 54 00:07:50,259 --> 00:07:55,079 crea que se relaciona tanto el puerto como la dirección privada con la dirección pública y el puerto público. 55 00:07:55,079 --> 00:08:03,879 Y aquí los pasos que va a realizar desde que una determinada fuente, que sería esta, la 192.168.103, 56 00:08:03,879 --> 00:08:05,939 a través del puerto 3855 57 00:08:05,939 --> 00:08:08,339 tiene destino en esta dirección 58 00:08:08,339 --> 00:08:09,759 que es de Yahoo. Cuando llega 59 00:08:09,759 --> 00:08:12,300 al equipo NAT, allí lo que hace 60 00:08:12,300 --> 00:08:14,639 es que transforma 61 00:08:14,639 --> 00:08:16,100 esa dirección privada 62 00:08:16,100 --> 00:08:17,980 en una dirección pública, lo mete en una tabla NAT 63 00:08:17,980 --> 00:08:20,060 y la dirección pública 64 00:08:20,060 --> 00:08:22,439 sería la del propio... 65 00:08:22,439 --> 00:08:24,040 El último paso sería 66 00:08:24,040 --> 00:08:26,339 que la fuente sería, a través de esta dirección pública 67 00:08:26,339 --> 00:08:28,199 que tiene, al destino que sería 68 00:08:28,199 --> 00:08:33,100 el de Yahoo. Aquí lo explica 69 00:08:33,100 --> 00:08:34,740 este dispositivo 70 00:08:34,740 --> 00:08:39,519 tiene dos interfaces de red, claro, la interfaz para la red local, que sería donde proviene, 71 00:08:39,779 --> 00:08:52,750 y la interfaz hacia Internet, que sería la propia IP pública. 72 00:08:53,110 --> 00:09:00,029 En esta dispositiva se visualiza mejor el proceso mediante una tabla de traducción NAT, 73 00:09:00,570 --> 00:09:02,370 que sería la que hemos visto anteriormente. 74 00:09:02,769 --> 00:09:08,230 El equipo interno genera una solicitud hacia Internet y el NAT traduce la IP privada 75 00:09:08,230 --> 00:09:12,929 y el puerto origen a una IP pública y un puerto externo. 76 00:09:12,929 --> 00:09:24,649 La tabla NAT guarda esa relación entre la privada y la pública, y así cuando Yahoo responda a la IP pública y al puerto 6282, 77 00:09:24,769 --> 00:09:29,629 pues el NAT consultará la tabla y reenviará el paquete al equipo interno correcto. 78 00:09:29,970 --> 00:09:35,950 Esto es lo que se conoce como NAT dinámico, con traducción de puertos. 79 00:09:35,950 --> 00:09:53,990 En la práctica, cuando la conexión genera una entrada en esa tabla, es importante porque demuestra que NAT no solo cambia IPs, también gestiona puertos para diferenciar conexiones simultáneas. Esto permite que decenas o cientos de equipos puedan compartir una sola IP pública. 80 00:09:53,990 --> 00:10:06,279 Nos queda cuándo esa dirección es diferenciada y cuándo una dirección es estática o cuándo es dinámica. 81 00:10:06,879 --> 00:10:17,700 Entonces, aquí se aplica, que sería esta de aquí, con el masquerade, aquí se explica una situación muy común cuando la IP pública del NAT es dinámica. 82 00:10:18,039 --> 00:10:24,159 Por ejemplo, en conexiones domésticas, en este caso, no podemos poner una regla de ese NAT fija. 83 00:10:24,159 --> 00:10:31,779 O sea, recordad que ese NAT es para IPs fijas, con una IP concreta, porque la IP externa puede cambiar con el tiempo. 84 00:10:31,899 --> 00:10:37,879 Entonces, para resolverlo, IPtribus usa el enmascaramiento, IP, o lo que llamamos el masquerade. 85 00:10:38,399 --> 00:10:48,080 La idea es que antes de hacer el cambio de IP origen, el equipo NAT mira cuál es la IP externa actual de la interfaz de salida. 86 00:10:48,080 --> 00:10:53,940 una vez la obtiene, realiza la traducción automáticamente 87 00:10:53,940 --> 00:10:58,720 y esto hace que el sistema se adapte a cambios de IP sin necesidad de modificar reglas. 88 00:10:59,679 --> 00:11:05,740 En resumen, Masker AD es como el SNAP, pero automático y dinámico. 89 00:11:06,299 --> 00:11:10,340 Es la opción típica cuando el router recibe un IP por DHCP del proveedor. 90 00:11:10,340 --> 00:11:13,840 Y por eso se usa mucho en entornos reales. 91 00:11:13,980 --> 00:11:16,340 Esta dispositiva conecta directamente con el siguiente ejercicio 92 00:11:16,340 --> 00:11:20,179 ejercicio que lo vamos a ver en el que vamos a diferenciar entre cómo usar ese 93 00:11:20,179 --> 00:11:27,019 NAT y cómo usar el masquerade. Aquí tenemos un ejercicio en el que bueno 94 00:11:27,019 --> 00:11:31,600 nos dice que reglas IP de tablets pues tendría que aplicarse para que los 95 00:11:31,600 --> 00:11:35,980 equipos de la red esta que es la que aparece que sería la LAN y puedan tener 96 00:11:35,980 --> 00:11:41,120 acceso a internet en este caso la IP externa es estática ya esto nos está 97 00:11:41,120 --> 00:11:44,899 indicando que lo que vamos a tener que utilizar es ese NAT su interfaz de red 98 00:11:44,899 --> 00:11:48,799 es decir, la ETH1, la interfaz de redes asociada a la DMZ es la ETH2 99 00:11:48,799 --> 00:11:51,019 y la correspondiente a la LAN es la ETH0. 100 00:11:52,139 --> 00:11:58,639 ¿Cuál sería la regla para poder utilizar esto? 101 00:11:58,700 --> 00:12:02,139 Esta ya la tengo aquí, esta sería la regla en la que, fijaos, 102 00:12:02,220 --> 00:12:06,139 ya está utilizando en principio la tabla NAT. 103 00:12:07,019 --> 00:12:10,600 Está diciendo que va a utilizar el ProRouting. 104 00:12:10,600 --> 00:12:21,419 acordaos que el SNAT utilizaba el ProRouting, nos está diciendo que la fuente de ese source es la propia LAN, 105 00:12:22,480 --> 00:12:30,360 que el protocolo va a ser el TCP a través del porto 80 y que la interfaz de origen va a ser la ETH1. 106 00:12:33,019 --> 00:12:39,120 Aquí le está aplicando una opción que va a ser SNAT, puesto que es una dirección, va a ser dirección estática, ya lo dice, 107 00:12:39,120 --> 00:12:51,100 y que ese SNAD se va a aplicar aquí a esa dirección pública que va a ser, por eso pone aquí el TO, destino A, la dirección pública que sería 80.58.1.14, que sería esta de aquí. 108 00:12:53,820 --> 00:13:10,360 Se indica, aquí estamos indicando que para aplicar, qué reglas aplicar para que los equipos de la red 192.168.1.0 tengan acceso a Internet. Esa sería la regla que estamos escribiendo aquí. 109 00:13:11,139 --> 00:13:16,519 Entonces, indica que la IP externa, nos está diciendo que la IP externa, que sería esta, es estática, va a ser siempre fija. 110 00:13:16,860 --> 00:13:21,120 Y que la interfaz hacia Internet va a ser ETH1. 111 00:13:21,980 --> 00:13:30,379 Entonces, también se menciona que hay una interfaz para la DMZ, que sería la ETH2, y una hacia la LAN, que sería la ETH0. 112 00:13:30,860 --> 00:13:35,279 Como la IP externa es fija, lo correcto va a ser usar SNAP. 113 00:13:35,279 --> 00:13:38,759 en la cadena post-routing 114 00:13:38,759 --> 00:13:40,080 dentro de la tabla NAT 115 00:13:40,080 --> 00:13:41,759 es lo que vamos a utilizar 116 00:13:41,759 --> 00:13:44,759 el post-routing, el SNAT 117 00:13:44,759 --> 00:13:46,860 el post-routing porque va a ser 118 00:13:46,860 --> 00:13:48,240 de salida 119 00:13:48,240 --> 00:13:50,960 la dirección es desde la LAN 120 00:13:50,960 --> 00:13:52,200 hacia internet 121 00:13:52,200 --> 00:13:58,299 la regla cambia la IP origen 122 00:13:58,299 --> 00:14:00,179 privada, que sería esta 123 00:14:00,179 --> 00:14:02,179 la cambia a la IP pública 124 00:14:02,179 --> 00:14:03,820 que sería esta otra 125 00:14:03,820 --> 00:14:06,480 que sería la 8058 126 00:14:06,480 --> 00:14:11,159 Esto permite que el tráfico salga con una IP válida hacia Internet. 127 00:14:11,659 --> 00:14:20,220 Pero además no basta con NAT, hay que permitir el tráfico en la tabla filter, que sería la cadena forward. 128 00:14:21,000 --> 00:14:25,419 Es decir, el NAT traduce, pero el firewall debe permitir el paso. 129 00:14:30,129 --> 00:14:37,309 Aquí tenemos la misma diapositiva, lo que pasa es que lo he agrandado para que veáis el esquema del ejercicio. 130 00:14:37,309 --> 00:14:57,250 Por tanto, el ejercicio para el caso de una IP externa estática se utiliza siempre ese NAT, que sería la acción, a través de la tabla NAT con la T. 131 00:14:57,250 --> 00:14:59,950 lo que estamos aplicando es un 132 00:14:59,950 --> 00:15:00,649 post-routing 133 00:15:00,649 --> 00:15:03,450 aquí he añadido el A 134 00:15:03,450 --> 00:15:05,570 con la acción post-routing, ¿por qué? 135 00:15:05,629 --> 00:15:07,830 porque estamos estableciendo el cambio 136 00:15:07,830 --> 00:15:09,389 de esa dirección IP siempre 137 00:15:09,389 --> 00:15:11,210 previo a salir 138 00:15:11,210 --> 00:15:13,730 del firewall 139 00:15:13,730 --> 00:15:15,889 la dirección fuente es 140 00:15:15,889 --> 00:15:17,750 la de la LAN y el 141 00:15:17,750 --> 00:15:20,049 protocolo es el TCP a través del puerto 80 142 00:15:20,049 --> 00:15:21,649 y la 143 00:15:21,649 --> 00:15:23,970 dirección destino o la que se va 144 00:15:23,970 --> 00:15:25,929 a producir el cambio será la dirección pública 145 00:15:25,929 --> 00:15:26,769 que sería esta 146 00:15:26,769 --> 00:15:30,279 CC por Antarctica Films Argentina