1 00:00:00,000 --> 00:00:09,439 Lógicamente también habría que añadir a la tabla filter las reglas de la cadena forward para que se permita el tráfico web. 2 00:00:11,820 --> 00:00:21,760 ¿Qué sucede ahora si pasamos de este ejercicio, pasamos a una dirección externa dinámica? 3 00:00:22,660 --> 00:00:28,519 Ahora las reglas son aceptables, pero lo que nos está diciendo es que si la IP externa fuese dinámica, ¿cómo afectaría a las reglas anteriores? 4 00:00:28,519 --> 00:00:42,039 Si veis el cambio, ya estaría aquí en la regla, lo único que ha añadido es el cambio ahora, quiere enmascarar esa IP porque tenemos que ahora, en función del tiempo, esa IP va a cambiar la dirección pública. 5 00:00:42,619 --> 00:00:52,159 Por tanto, ahora, si veis, la regla es exactamente la misma que la anterior, lo único que ha variado es que en vez de poner el Senad como acción, utiliza el Masquerade. 6 00:00:52,159 --> 00:01:10,159 En esta dispositiva se plantea la pregunta ahora qué hacemos cuando la dirección externa fuese dinámica. Entonces, la respuesta es que no conviene usar un SNAT con una IP fija porque podría cambiar y la regla quedaría mal. 7 00:01:10,159 --> 00:01:38,680 Entonces, por tanto, en este caso se usa más que RAD. La regla se aplica igual, tabla NAT, cadena post-routing o red de origen 192.168.1.0, interfaz de salida la ETH1, todo igual. La diferencia está en el que la acción ahora ya no es JS NAT, sino que sería J más que RAD. Esto hace que IPTables sustituya la IP origen por la IP que tenga en ese momento la interfaz de salida, que puede ser, como hemos dicho, pues es variable, es dinámica. 8 00:01:38,680 --> 00:01:59,760 Es decir, se adapta automáticamente a los cambios gracias a esta acción que le añade. También nos menciona que más que nada esta diapositiva podría funcionar aunque la IP fuese estática, podría funcionar, pero lo recomendable es no poner más que nada, sino poner SNAD si esta es estática por claridad y por eficiencia. 9 00:01:59,760 --> 00:02:07,689 esto es la explicación de lo que acabo de decir 10 00:02:07,689 --> 00:02:09,449 que no voy a repetir 11 00:02:09,449 --> 00:02:12,430 sería más de lo mismo, es la misma regla 12 00:02:12,430 --> 00:02:16,719 y ahora vamos a hablar de DENAT 13 00:02:16,719 --> 00:02:19,699 hemos hablado de SENAT y hemos hablado de MASQUERADE 14 00:02:19,699 --> 00:02:22,180 ¿qué sucede con DENAT? 15 00:02:22,740 --> 00:02:28,759 DENAT se usa cuando queremos que un servicio interno 16 00:02:28,759 --> 00:02:31,120 sea accesible desde otra red 17 00:02:31,120 --> 00:02:32,719 ahora estamos hablando del proceso inverso 18 00:02:32,719 --> 00:02:34,000 a lo que hemos visto del SENAT 19 00:02:34,000 --> 00:02:45,680 Por ejemplo, desde Internet. Entonces, el ejemplo típico es un servidor web en la DMZ que tiene una IP privada, pero queremos que se pueda visitar desde fuera. 20 00:02:47,319 --> 00:03:00,280 Entonces, en este caso, el tráfico llega al dispositivo NAT desde Internet y el NAT cambia la dirección IP destino por la dirección IP privada del servidor interno en la DMZ. 21 00:03:00,280 --> 00:03:09,539 Esto ocurre en la cadena, ahora ya no estamos hablando de post-routing, estamos hablando de pre-routing, previo a la entrada en el dispositivo. 22 00:03:10,879 --> 00:03:16,199 Entonces habrá que poner el pre-routing de la tabla NAT, porque se hace antes de decidir el encaminamiento. 23 00:03:16,819 --> 00:03:21,560 Además, de NAT no solo puede cambiar el IP destino, también puede cambiar el puerto destino. 24 00:03:22,219 --> 00:03:25,840 Esto es lo que se conoce como redirección de puertos o port forwarding. 25 00:03:25,840 --> 00:03:43,979 La diapositiva plantea un ejercicio de hacer accesible un servidor web de la DMZ con IP 192.168.2.3 y se indica que el NAT debe recibir peticiones en el puerto 80 y redirigirlas a ese servidor. 26 00:03:44,620 --> 00:03:51,900 Este mecanismo es básico en redes empresariales con DMZ, así que así se publican servicios sin exponer toda la red interna. 27 00:03:51,900 --> 00:04:18,660 ¿Qué es lo que ha hecho? Ahora utilizamos la tabla NAT, igual con el T-T NAT, añadimos la regla con la acción PREROOTING porque va a ser previo a la entrada y el protocolo es el mismo, el puerto de destino es el mismo, la interfaz pero ahora de entrada, ¿veis? La I, no la O de OUTPUT sino la de entrada, la interfaz ETH1 y lo que va a aplicar ahora la acción es el DNAT, es el proceso inverso al SNAT que habíamos visto. 28 00:04:18,660 --> 00:04:29,920 ¿Hacia qué dirección? Hacia la dirección de la DMZ, que es la 192.168.2.3. Esto aparece aquí, iría en esta dirección. 29 00:04:29,920 --> 00:04:49,319 Bien, entonces hemos visto que el SNAT va en esta dirección cuando la dirección IP pública es estática más que era de cuando es dirección IP dinámica y cuando va en esta otra dirección estamos hablando de ya no post-routing sino pre-routing y hablamos de D-NAT. 30 00:04:49,319 --> 00:05:07,420 Aquí tenemos la explicación del ejercicio, que era si se quería que el servidor web de la DMZ con IP 192.168.2.3 fuera accesible de Internet. ¿Qué reglas IP tables tendrían que aplicarse? 31 00:05:07,420 --> 00:05:25,709 Por tanto, en cuanto a... vemos el resumen de los tipos de NAT que aparecen, entonces los tipos de NAT que aparecen en el resumen serían todos estos. 32 00:05:27,889 --> 00:05:36,410 Serían el... este sería el primero, que sería el SNAT, acordaos, modificar el origen de los paquetes salientes. 33 00:05:37,170 --> 00:05:42,629 Aquí teníamos un ejemplo, se utiliza en prerouting y era para direcciones IP fijas. 34 00:05:44,209 --> 00:05:55,790 Teníamos el de NAT, que modificaba la dirección IP de destino de los parquetes entrantes y se utiliza para redirigir el tráfico que llega a una IP pública hacia un servidor interno, el proceso contrario del que hemos visto anteriormente. 35 00:05:55,790 --> 00:06:06,769 Veis, ahora se utiliza en prerouting. Esta regla redirige el tráfico TCP en el puerto 80 hacia una dirección interna de la red. 36 00:06:07,990 --> 00:06:16,009 Y teníamos el masquerade, que es un tipo especial de Senat. Se utilizaba cuando la IP pública en el servidor era dinámica, como en las redes domésticas. 37 00:06:16,610 --> 00:06:21,490 Reemplaza la IP de origen con la dirección IP de la interfaz de salida y lo hace de manera automática. 38 00:06:21,490 --> 00:06:24,990 el masquerade se aplicaba en post-routing 39 00:06:24,990 --> 00:06:26,810 puesto que era igual que el SNAT 40 00:06:26,810 --> 00:06:30,089 salvo que para casos de IP dinámica 41 00:06:30,089 --> 00:06:31,810 y esto hace que todos los paquetes salientes 42 00:06:31,810 --> 00:06:35,850 desde la interfaz ETH0 43 00:06:35,850 --> 00:06:38,110 utilicen la IP pública de esa interfaz 44 00:06:38,110 --> 00:06:40,110 como la IP de origen 45 00:06:40,110 --> 00:06:45,339 nos queda aquí 46 00:06:45,339 --> 00:06:48,279 este sería el masquerade 47 00:06:48,279 --> 00:06:49,879 que lo hemos visto anteriormente 48 00:06:49,879 --> 00:06:52,740 y sería exactamente igual a lo que hemos visto 49 00:06:52,740 --> 00:06:59,980 Nos queda también el resumen del redireccionamiento de puertos 50 00:06:59,980 --> 00:07:06,399 Aquí se explica el redireccionamiento de puertos que es una técnica muy utilizada 51 00:07:06,399 --> 00:07:11,600 Porque consiste en hacer que el tráfico que llega a un puerto concreto se dirija a otro puerto distinto 52 00:07:11,600 --> 00:07:15,899 Esto puede hacerse en la misma máquina o hacia otro servicio según el caso 53 00:07:15,899 --> 00:07:21,860 Entonces el ejemplo mostrado aquí que tenemos es, veis aquí, utiliza la tabla NAT 54 00:07:21,860 --> 00:07:37,860 Se utiliza en prerouting, protocolo TCP, puerto destino 8080 y lo quiere redireccionar hacia el puerto que sería el puerto 8080. Esto va a redirigir el tráfico entrante en el puerto 8080 hacia el puerto 8080 en la misma máquina. 55 00:07:38,720 --> 00:07:43,839 Significa que si alguien entra por el puerto 8080, realmente se le envía al puerto 80. 56 00:07:44,360 --> 00:07:49,500 Es útil cuando queremos publicar un servicio sin usar el puerto estándar o cuando tenemos limitaciones. 57 00:07:49,920 --> 00:07:54,899 Entonces, también se usa cuando se quiere que un servicio parezca estar en un puerto diferente. 58 00:08:00,639 --> 00:08:06,120 En cuanto a las cadenas NAT en IP Tables, ya lo vimos en las diapositivas del principio. 59 00:08:06,120 --> 00:08:22,480 Teníamos que era el perrouting, que se aplicaba antes de que el paquete fuera enrutado, que se utilizaba, se realizaba en the NAT, el porrouting, que se realizaba después de que el paquete hubiese sido enrutado y se utilizaba en ese NAT y en más que era de, y el output, que se aplica a los paquetes generados localmente por el sistema. 60 00:08:22,480 --> 00:08:45,899 Y aquí ya tenemos ejemplos de comandos NAT, ejemplos en el que, para que veamos algunos de ellos, aquí tenemos el caso, pues, del primer ejemplo sería habilitar NAT con mascarade para compartir una conexión a Internet. 61 00:08:45,899 --> 00:08:55,220 entonces aquí que tenemos aquí tendríamos la primera regla que lo que queremos es que se 62 00:08:55,220 --> 00:09:05,889 aplique queremos que se aplique más que nada porque tenemos una situación de conexión a internet pero 63 00:09:05,889 --> 00:09:12,330 con direcciones ip dinámicas entonces que está generando pues acordaos en más que nada se 64 00:09:12,330 --> 00:09:15,809 utilizaba con el post rutina igual que el senado pero como aquí son direcciones públicas pues 65 00:09:15,809 --> 00:09:21,090 tenemos que utilizar la acción más que era de con la tabla poner siempre poniendo la tabla nat 66 00:09:22,049 --> 00:09:29,169 con respecto a redirigir el tráfico http entrante por el puerto 80 a un servidor interno pues 67 00:09:29,169 --> 00:09:35,370 estamos haciendo el proceso inverso acordaos de su inverso era con un de nat aquí en cómo está 68 00:09:35,370 --> 00:09:41,070 haciendo el proceso inverso tendremos que definir la dirección de destino hacia desde la que viene 69 00:09:41,070 --> 00:09:43,809 habría que aplicar una tabla NAT 70 00:09:43,809 --> 00:09:45,370 habría que añadir esta regla 71 00:09:45,370 --> 00:09:47,090 va a ser prerouting 72 00:09:47,090 --> 00:09:50,049 porque estamos hablando que hay que redirigir 73 00:09:50,049 --> 00:09:51,190 el tráfico entrante 74 00:09:51,190 --> 00:09:54,049 hacia un servidor interno 75 00:09:54,049 --> 00:09:55,750 va a ser a través del puerto 80 76 00:09:55,750 --> 00:09:57,870 tendríamos que sería el protocolo TCP 77 00:09:57,870 --> 00:10:00,049 puerto 80 y con la regla DNAT 78 00:10:00,049 --> 00:10:01,470 acordaos, cuando el proceso inverso 79 00:10:01,470 --> 00:10:04,090 cuando venía desde internet hacia un servidor interno 80 00:10:04,090 --> 00:10:05,809 estábamos hablando de DNAT 81 00:10:05,809 --> 00:10:08,110 y habría que añadir la dirección destino 82 00:10:08,110 --> 00:10:09,710 a la que va a dirigirse 83 00:10:09,710 --> 00:10:14,509 Esa dirección de signo, que sería esta, sería la de la IP del servidor interno. 84 00:10:16,500 --> 00:10:22,440 Habilitar redirección de puertos, lo hemos visto anteriormente, se hacía también con la tabla NAT. 85 00:10:23,139 --> 00:10:29,179 La opción era Redirect, para redireccionar desde un puerto y un protocolo, que sería el 8080, 86 00:10:29,440 --> 00:10:32,580 a, se pone con el toPort, al puerto 80. 87 00:10:33,460 --> 00:10:39,419 Y esto se hacía en prerouting, por eso se añade aquí la cadena prerouting. 88 00:10:39,419 --> 00:10:56,419 Y por último, permitir el acceso a Internet a través de una dirección IP pública. Estamos hablando ahora de qué, del proceso, que en el mismo proceso que la regla 1 que hemos puesto, pero ahora estamos hablando de una dirección pública estática. 89 00:10:56,419 --> 00:10:58,799 estática. Entonces se aplicaba 90 00:10:58,799 --> 00:11:00,639 igual en la tabla NAT, se aplicaba 91 00:11:00,639 --> 00:11:02,620 en post-routing, se adicionaba 92 00:11:02,620 --> 00:11:04,519 la regla y ahora 93 00:11:04,519 --> 00:11:06,019 la acción, ¿cuál es? La acción es 94 00:11:06,019 --> 00:11:08,340 SNAT. Se hacía a través de 95 00:11:08,340 --> 00:11:09,940 la interfaz 96 00:11:09,940 --> 00:11:12,159 ETH0 y 97 00:11:12,159 --> 00:11:14,259 la dirección fuente pues ahora 98 00:11:14,259 --> 00:11:16,259 ya no va a ser como pasaba en el de NAT 99 00:11:16,259 --> 00:11:18,539 que era el servidor interno, sino que va a ser la dirección 100 00:11:18,539 --> 00:11:20,139 pública estática que tiene 101 00:11:20,139 --> 00:11:23,960 el acceso hacia Internet. 102 00:11:29,120 --> 00:11:30,340 Nos quedan aquí también 103 00:11:30,340 --> 00:11:32,259 aparte de los ejemplos 104 00:11:32,259 --> 00:11:34,500 ver las reglas NAT 105 00:11:34,500 --> 00:11:36,639 aquí se explica como ver las reglas NAT 106 00:11:36,639 --> 00:11:37,779 configuradas en IP tables 107 00:11:37,779 --> 00:11:39,779 entonces el comando sería este 108 00:11:39,779 --> 00:11:41,039 que sería el guion T NAT 109 00:11:41,039 --> 00:11:43,559 guion L, guion N, guion V 110 00:11:43,559 --> 00:11:47,200 la opción guion T NAT 111 00:11:47,200 --> 00:11:49,299 indica que queremos listar la tabla NAT 112 00:11:49,299 --> 00:11:51,740 no la tabla filter por defecto 113 00:11:51,740 --> 00:11:52,539 sino la tabla NAT 114 00:11:52,539 --> 00:11:55,059 la opción guion L 115 00:11:55,059 --> 00:11:57,000 va a listar las reglas 116 00:11:57,000 --> 00:11:59,539 la guion N evita resolver 117 00:11:59,539 --> 00:12:03,559 nombres DNS y muestra 118 00:12:03,559 --> 00:12:07,360 IPs numéricas, lo cual lo hace más rápido. 119 00:12:07,759 --> 00:12:11,620 Y luego la V sería muestra de información adicional como contadores 120 00:12:11,620 --> 00:12:15,580 de paquetes y bytes. Esto es muy útil para comprobar 121 00:12:15,580 --> 00:12:19,279 si una regla se está utilizando realmente. Por ejemplo, si el contador 122 00:12:19,279 --> 00:12:23,480 está en cero, puede significar que la regla no coincide con 123 00:12:23,480 --> 00:12:27,480 ningún tráfico. Entonces, para ello 124 00:12:27,480 --> 00:12:52,879 Lo que hacemos aquí, hay que decir que este comando es esencial para la depuración. Muchas veces creemos que una regla está bien, pero al ver contadores vemos que no se aplica. Entonces, también sirve para auditoría y para analizar el tráfico. En entornos reales, revisar reglas y contadores es parte del mantenimiento. Así que esta diapositiva enseña una técnica práctica para comprobar las configuraciones NAT. 125 00:12:52,879 --> 00:13:00,919 aquí tenemos el ejemplo de ese NAT 126 00:13:00,919 --> 00:13:02,700 que ya lo hemos visto 127 00:13:02,700 --> 00:13:05,899 como es una explicación detallada de la misma 128 00:13:05,899 --> 00:13:08,899 y bueno, es más de lo mismo 129 00:13:08,899 --> 00:13:10,940 con respecto a lo que hemos visto anteriormente 130 00:13:10,940 --> 00:13:15,320 no lo voy a comentar 131 00:13:15,320 --> 00:13:17,320 aquí viene la explicación más detallada 132 00:13:17,320 --> 00:13:19,200 en el que dice que usa la tabla NAT 133 00:13:19,200 --> 00:13:22,320 que aplica la regla después de que el paquete se haya enrutado 134 00:13:22,320 --> 00:13:24,980 que aplica la regla de paquetes provenientes de esta red 135 00:13:24,980 --> 00:13:35,000 y que aplica la regla solo en la interfaz de salida ETC0, Output, y hacia qué fuente, hacia la fuente que es el que cambia la IP de origen a la pública. 136 00:13:36,539 --> 00:13:46,340 Este sería el de DNAT, que es el contrario y que también establece aquí una explicación sobre la regla que hemos visto antes y que nos aporta mucho más. 137 00:13:46,340 --> 00:13:50,539 El ejemplo de Masquerade, que también lo hemos visto 138 00:13:50,539 --> 00:13:58,620 Y este serían ejemplos de comandos NAT con IP tables 139 00:13:58,620 --> 00:14:01,399 Si tienes una red interna y un servidor con una IP pública dinámica 140 00:14:01,399 --> 00:14:02,580 Podrías usar estas reglas 141 00:14:02,580 --> 00:14:07,779 Que serían las reglas permitir a los clientes acceder a Internet 142 00:14:07,779 --> 00:14:09,659 ¿Cómo se hacía? Pues a través del Masquerade 143 00:14:09,659 --> 00:14:12,840 Y redirigir el tráfico entrante al porto 22SH 144 00:14:12,840 --> 00:14:16,279 Hacia un servidor interno, como lo está pidiendo 145 00:14:16,279 --> 00:14:18,360 Hacia un servidor interno, pues entendríamos que sería 146 00:14:18,360 --> 00:14:22,980 a través de DENAT, acordaos, el paso inverso. 147 00:14:23,279 --> 00:14:28,259 ¿Cómo lo hace? Pone la tabla, añade la regla con la cadena prerouting, 148 00:14:28,440 --> 00:14:32,659 acordaos, el DENAT prerouting, el masquerade y ese DENAT prerouting. 149 00:14:34,940 --> 00:14:42,820 El destino sería, o sea, vendríamos desde la dirección pública, que sería esta, 150 00:14:43,179 --> 00:14:46,419 iría hacia el puerto 22 a través de la acción DENAT. 151 00:14:46,419 --> 00:14:52,799 Y en la dirección de destino será el servidor interno donde tenemos el SSH. 152 00:14:55,500 --> 00:15:07,000 Y esto sería todo con respecto a las reglas IP tables para poder configurar el cortafuegos. 153 00:15:07,000 --> 00:15:10,700 lo dejamos aquí 154 00:15:10,700 --> 00:15:12,000 y creo que 155 00:15:12,000 --> 00:15:13,279 en definitiva 156 00:15:13,279 --> 00:15:15,039 he cubierto 157 00:15:15,039 --> 00:15:16,919 casi todo 158 00:15:16,919 --> 00:15:18,240 lo concerniente 159 00:15:18,240 --> 00:15:19,299 pues a las reglas