1 00:00:05,360 --> 00:00:13,560 Bien, en este tema no vamos a introducir en la instalación y configuración de cortafuegos. 2 00:00:15,199 --> 00:00:27,480 Decir que la presentación contiene casi toda la información que aparece en el aula virtual, a excepción de los sondeos, que eso lo tenéis en el aula, 3 00:00:27,480 --> 00:00:34,200 y la parte del final de Snort, en el que toda la parte de comandos de cómo utilizarlo me lo ha ahorrado. 4 00:00:34,200 --> 00:00:37,280 Es que si no, se hacía excesivamente extensa y no nos da tiempo. 5 00:00:38,320 --> 00:00:41,219 Entonces, cortafuegos. 6 00:00:42,119 --> 00:00:43,659 Básicamente, ¿para qué sirve un cortafuegos? 7 00:00:43,700 --> 00:00:46,500 Está diseñado para proteger una red segura de otra que no lo es. 8 00:00:48,539 --> 00:00:49,299 ¿Cómo lo hacemos? 9 00:00:49,520 --> 00:00:59,780 Mediante una política de seguridad y sus principales objetivos serían filtrar el tráfico en transdisaliente, permitir conexiones seguras y minimizar las vulnerabilidades dentro del sistema. 10 00:00:59,780 --> 00:01:19,849 El cortafuegos, por lo tanto, va a controlar y monitorear las conexiones que ingresen y salgan de la red, protegerá sistemas internos de ataques externos y de todo lo que no esté autorizado. 11 00:01:19,849 --> 00:01:29,769 Y luego, en los cortafuegos, veremos que el cortafuegos a veces se va a quedar un poquito corto y que se puede complementar con otros sistemas de seguridad, como son los IDS e IPS. 12 00:01:29,769 --> 00:01:57,579 En cuanto al filtrado del tráfico, ¿qué va a hacer? Va a analizar cada paquete de datos para decidir si realmente ese paquete le va a permitir o le va a bloquear. Va a definir un control de acceso en cuanto a qué usuarios o sistemas tienen permiso. 13 00:01:57,579 --> 00:02:17,500 Y podemos luego, gracias al cortafuegos, podemos hacer un registro de eventos. Todas las acciones que realice o en cuanto a los permisos, a quién deja pasar, a quién no, etcétera, se puede obtener a través de auditoría o análisis posteriores. 14 00:02:17,500 --> 00:02:46,539 Es decir, que también los cortafuegos tienen una serie de limitaciones inherentes. Esas limitaciones, pues que no van a proteger de amenazas internas, que no pueden analizar ni bloquear conexiones que no pasen a través de ellos, a todo lo que no pase a través de ellos, ni lo han visto ni lo conocen y no podrán hacer absolutamente nada, y que son más efectivos cuando hay otros mecanismos de seguridad, como hemos visto, pues en detección de intrusos, IDS, IPS, etc. 15 00:02:49,770 --> 00:03:00,629 Bien, en cuanto al concepto y funcionamiento, en el tráfico de redes, ¿qué tipo de información va a obtener? 16 00:03:01,550 --> 00:03:17,629 Pues, lógicamente, de esos paquetes va a tener la información tanto de las IPs de origen y destino, de qué tipo de protocolo está basado ese paquete o el envío del paquete y el número de puerto involucrado en la conexión. 17 00:03:17,629 --> 00:03:39,280 Bien, en cuanto a establecer una protección basada en normas, filtrar el tráfico de entrada o establecer mecanismos de utilización más fuertes serían las funciones principales de un cortafuegos. 18 00:03:39,280 --> 00:04:05,580 También podremos añadir, ocultar información que tenemos en la red y que no queremos que sea conocida y, como he dicho antes, crear registros de todo esto que está realizando el cortafuegos, de todas las cortapisas que está poniendo o quien debe entrar y quien debe salir, pues registrarlo a través de auditorías o a través de logs o lo que sea. 19 00:04:05,580 --> 00:04:22,500 En cuanto a los paquetes, el contrafuegos tiene tres opciones. Puede realizar una acción de aceptarlo, puede realizar una acción de rechazarlo o puede denegarlo. En cuanto a aceptarlo, está claro, nada más que permite el paso del paquete y ya está. 20 00:04:22,500 --> 00:04:42,500 En cuanto a rechazar y denegar, sería prácticamente lo mismo, pero no es igual. Rechazar sería bloquear el paquete, pero notifica al emisor de por qué, de la causa del bloqueo, mientras que denegar lo va a hacer. Bloquear el paquete igual, lo que pasa es que no va a enviar ninguna notificación. 21 00:04:42,500 --> 00:05:03,579 En clasificación de los cortafuegos tenemos varios tipos de cortafuegos. Aquí hemos puesto cuatro y luego hay otros tres que ahora veremos, pero principalmente tenemos estos cuatro, que serían el de filtrado de paquetes, el de circuito a nivel de pasarela, el de inspección de estado y el de capa de aplicación próxima. 22 00:05:03,579 --> 00:05:18,480 El desfiltrado de paquetes es el que le llega al paquete, lo evalúa individualmente según las reglas que hayas puesto en cuanto a IPs, puertos, protocolos, etc. 23 00:05:19,060 --> 00:05:26,439 El circuito a nivel de pasarela establece la conexión segura y luego, una vez que ha establecido la conexión, va a confiar en el tráfico posterior. 24 00:05:26,439 --> 00:05:47,079 En cuanto a la inspección de estado, se basa en si el paquete pertenece a una sesión válida o no. Y, por último, el de capa de aplicación, o proxy, sería el que monitorea y filtra el tráfico en función de protocolos y de servicios HTTP o FTP. 25 00:05:47,079 --> 00:05:59,600 Luego habría otros, otro tipo de clasificación de contrafuegos, que es donde englobo estos que serían personales, SOHO, Small Office, Home Office y los corporativos. 26 00:06:00,199 --> 00:06:10,939 Los personales serían los que van integrados dentro de los sistemas operativos, como Windows Defender, como las IP tables en Linux, y el de SOHO sería diseñado para pequeñas oficinas. 27 00:06:11,680 --> 00:06:16,120 En cambio, los corporativos serían los que están adaptados a grandes redes. 28 00:06:19,740 --> 00:06:24,680 ¿Qué pasos hay que hacer para una instalación exitosa en cuanto a una instalación de un cortafuegos? 29 00:06:25,000 --> 00:06:32,879 Primero, lógicamente, recolectar información sobre la red que tenemos, todos los detalles, los servicios que están expuestos, 30 00:06:33,240 --> 00:06:38,100 qué necesidades tenemos de seguridad con respecto a nuestra red. 31 00:06:38,839 --> 00:06:44,879 Una vez que tenemos toda esa información, entonces vamos a definir una a una las políticas de seguridad que vamos a establecer. 32 00:06:44,879 --> 00:07:03,920 Establecer qué está permitido, qué no está permitido, si queremos hacerlo muy permisivo o restrictivo. Recordar, permisivo sería cuando se permite todo salvo. En cambio, restrictivo sería cuando se restringe todo salvo. Veis la diferencia. 33 00:07:03,920 --> 00:07:22,920 Entonces, el tercer paso sería la selección del tipo de cortafuegos, elegir bien sea de tipo hardware, de software, puede ser un híbrido, etc. Por último ya sería implementar el cortafuegos y configurar las reglas replicadas si es necesario. Si veis, pues casi todo esto es lo que, parte de ello es lo que habéis hecho en la práctica. 34 00:07:22,920 --> 00:07:33,680 Y luego, por el barrio de funcionamiento, verificar que efectivamente está funcionando el contrafondo y de la manera que vosotros habéis configurado y con las reglas que habéis configurado. 35 00:07:34,959 --> 00:07:49,399 Una configuración típica sería establecimiento de políticas, lo que he dicho antes, restrictivas o permisivas, definición de las reglas basadas en IPs, en puertos y protocolos y el registro de eventos siempre. 36 00:07:49,399 --> 00:07:57,079 activar los logs para ver, pues, auditar todo lo que está sucediendo, que estemos enterados de lo que sucede tras decir del cortafuegos. 37 00:07:58,660 --> 00:08:06,759 En cuanto a la regla de filtrado, tenemos tanto input, output y forward, la vamos a ver a lo largo de toda la presentación. 38 00:08:07,300 --> 00:08:16,160 Aquí lo denuncio por pena a la vez, pero vamos, que serán reglas en las que se aplica un tráfico, el tráfico que es dirigido al cortafuegos. 39 00:08:16,160 --> 00:08:33,059 El output sería el que sale del cortafuegos y el forward es cuando está atravesando el cortafuegos. Aquí viene un ejemplo de IP tables, luego vamos a ver muchas más, entonces, bueno, esta también aparece, entonces tampoco me detengo hasta que tengamos, habíamos visto cómo se enuncia una regla IP tables, etc. 40 00:08:33,879 --> 00:08:49,480 En cuanto a los módulos comunes, tenemos varios modelos. Aquí tenemos tres de ellos, que serían el Choke Point, el Skin Subnet con DMZ y la subred con protegida fuerte. 41 00:08:50,600 --> 00:08:59,240 La primera es aquella en la que, si veis, es la que aparece aquí abajo, que sería la que tiene un único punto de filtrado, que es este, el Choke Nut. 42 00:08:59,240 --> 00:09:11,360 La segunda sería la que ya está separando la zona privada de los servicios públicos, el DMZ, que sería una subred débil. 43 00:09:11,360 --> 00:09:35,580 Y luego la fuerte, que sería esta de aquí, que sería la subnet fuerte, es la que ya ahora tiene dos puntos, dos capas de protección. Una que aísla tanto la LAN como la DMZ y otra que también si sucede algún problema con este punto de acceso, que era el que teníamos aquí, pues sigue sin estar afectada la red interna. 44 00:09:35,580 --> 00:09:42,559 En cambio aquí al tener doble, aunque fallara este, tendríamos todavía la red interna aislada. 45 00:09:43,700 --> 00:09:55,960 El checkpoint utiliza un único punto de filtrado, lógicamente es la más económica y menos segura y simplemente está basado en aprovechar algunos routers como bloquear o filtrar plaquetes y poco más. 46 00:09:55,960 --> 00:10:18,710 Con respecto a la segunda, con DMZ, esta sería menos barata, va a ser un poquito más segura y aquí lo que utiliza es el llamado bastión, que sería este de aquí, en el que va a ejecutar muchos servicios con un router, 47 00:10:18,710 --> 00:10:28,070 pero lo que va a hacer es que va a proteger aquí, va a aislar a la DMZ de la LAN. 48 00:10:28,610 --> 00:10:31,789 Pero cuidado porque si este falla, pues entonces la LAN estaría expuesta. 49 00:10:33,009 --> 00:10:41,029 Entonces, aporta un nivel de seguridad aceptable, pero no hay un número de protección máximo 50 00:10:41,029 --> 00:10:47,029 como sucedería con el tercero, que sería la protección fuerte, en el que tendríamos ahora ya dos capas de protección. 51 00:10:47,029 --> 00:11:06,649 En esta disposición, pues el cortafuegos externo bloquea y controla el tráfico no deseado desde la red externa a la DMZ. En cambio, el cortafuegos interno, el externo le llama al de acceso y el de interno el de contención, bloquea y controla el tráfico no deseado de la DMZ a la red interna. 52 00:11:06,649 --> 00:11:15,559 A diferencia de las otras, tenemos que un fallo en el bastión, lógicamente, no afectará o desprotege la red. 53 00:11:17,779 --> 00:11:27,299 Aquí tenemos las pruebas de funcionamiento de herramientas, NETSTAT, NEMAP, HPIN, saber que NETSTAT verifica órdenes desactivas y puertos en uso, 54 00:11:27,799 --> 00:11:33,860 que NEMAP escanea puertos abiertos y servicios y que HPIN realiza pruebas de conectividad y seguridad. 55 00:11:35,039 --> 00:11:38,580 En esto no me voy a meter en la presentación, lo tenéis en el aula. 56 00:11:41,340 --> 00:11:47,679 Configuración de logs, más que hablar, ya hemos dicho que era muy importante registrar los eventos que van sucediendo. 57 00:11:48,159 --> 00:11:59,220 Entonces, con la idea de poder identificar tanto intentos de accesos y comportamientos anómalos y de analizar el historial de conexiones y filtrados. 58 00:12:01,019 --> 00:12:08,299 Aquí tenemos una regla IP tables en la que lo que hace es que genera un registro con un prefijo indicado que sería este de aquí. 59 00:12:08,299 --> 00:12:13,200 Luego veremos cómo enunciamos estas reglas. 60 00:12:14,440 --> 00:12:22,899 En cuanto a soluciones de software libre, aunque luego al final también hablo, pues tenemos estas tres, que es IPCOP, WebSense y Cential. 61 00:12:23,539 --> 00:12:32,220 He añadido aquí UFW para compararlo con ellos y puesto que alguno me establecía, algún alumno me establecía una duda en la… 62 00:12:32,220 --> 00:12:51,840 Y bueno, pues aquí tenéis una tabla de diferencia de nivel de complejidad, de bajo, alto y medio, si es un firewall básico o es un poquito más complejo y luego pues para qué entorno ideal está, qué entorno sería el más factible para usar. 63 00:12:51,840 --> 00:13:06,899 Pues en el IPECO, para ser más bajo, puedes utilizar redes domésticas o pequeñas. En cambio, Cential, pues, utiliza, pues, que es de nivel medio, utilizará medianas y, lógicamente, el que es de nivel alto será para empresas, pues, o redes más complejas. 64 00:13:06,899 --> 00:13:24,919 Y con esto decir que el cortafuegos es un componente crítico en cualquier estrategia de seguridad, que su efectividad vendrá dada por sus pruebas regulares y el uso de herramientas complementarias, como dije al principio. 65 00:13:24,919 --> 00:13:37,200 En cuanto a lo que es el cortafuegos, me paro aquí, realmente he resumido todo lo que aparece en el tema y nos metemos con las reglas de filtrado de cortafuegos. 66 00:13:37,200 --> 00:13:49,940 Que sean los tipos de reglas, que son las IP tables, que es un sistema Firewall integrado en el kernel de Linux, que está formado por tres tablas de reglas y serían estas tres. 67 00:13:49,940 --> 00:14:02,600 Tenemos aquí Filter, NAT y Mangle. En cuanto a Filter, que es el que vamos a ver en principio, vamos a ver todas, el hecho de tener una tabla u otra, pues hay que enunciarlo en la propia IPTVOS. 68 00:14:03,120 --> 00:14:15,299 En cuanto a Filter, pues ofrece las funciones de Input, Output y Forward, que ya lo hemos visto, cuando entra, la regla se aplica de filtrado cuando entra en el cortafuegos, cuando sale o cuando lo atraviesa. 69 00:14:16,159 --> 00:14:39,480 En cuanto a NAT, ofrece funciones de enmascaramiento de direcciones IP y de redirección de paquetes. Tenemos el prerouting, el postrouting y el out. Prerouting, preroutado, pues va a permitir realizar una acción previa a la entrada del paquete. Postrouting, pues sería posteriormente al enrutado. Y el output, salida, son reglas para aplicar paquetes que tienen como origen el equipo que tiene instalado las IPT. 70 00:14:39,480 --> 00:14:59,500 Luego tenemos Mangle, que sería usado para alterar el estado de un paquete. Aquí tenemos las reglas de filtrado, que serían Input, Output y Forward, un poquito más desarrollado que lo que hemos visto al principio. Input llegan, Output salen y Forward cuando se retransmiten. 71 00:14:59,500 --> 00:15:21,360 Y aquí tenemos ejemplos de ellas. Si os fijáis en el primer ejemplo, ¿qué es lo que nos está diciendo? Nos está diciendo que, bueno, ahora vamos a ver cómo es una IPTelvos, cuáles son sus partes, ¿vale? Este sería, pues, para añadir una regla, que sería, pues, de entrada, input. Este sería el protocolo, el guión P indica el protocolo sobre el que se va a actuar. Este sería el puerto de destino. 72 00:15:21,360 --> 00:15:27,399 Cuando tengáis una D delante del port Destiny y cuando ese es de source, de fuente, 73 00:15:28,139 --> 00:15:33,639 se va a aplicar sobre el porto 22, luego tendrá que ver con las conexiones SSH. 74 00:15:34,320 --> 00:15:40,740 Aquí lo que nos está indicando con el menos J, el guión J nos está indicando que se acepten con acepto. 75 00:15:40,740 --> 00:15:42,700 Aquí está la acción que va a realizar. 76 00:15:43,279 --> 00:15:50,059 Entonces, se está diciendo que la primera regla permite conexiones SSH al porto 22 solo desde esta dirección IP. 77 00:15:50,059 --> 00:16:11,080 A continuación, la segunda regla te está bloqueando el resto de conexiones, o sea que estas dos reglas nos están diciendo que permite la conexión SSH a través de esta IP fuente, pero el resto de conexiones las bloquea. El drop nos está indicando que bloquea las direcciones. 78 00:16:11,080 --> 00:16:23,899 En cuanto al output aquí tenemos otro que sería pues en el que bueno pues esta ya sería pues una regla pues de saliente hacia, nos está diciendo que permite el tráfico saliente pues al puerto, hacia el puerto 80. 79 00:16:23,899 --> 00:16:26,720 con respecto a los demás 80 00:16:26,720 --> 00:16:29,179 sean bloqueados 81 00:16:29,179 --> 00:16:29,840 todas las demás 82 00:16:29,840 --> 00:16:32,759 y aquí en el último que sea en cuanto al forward 83 00:16:32,759 --> 00:16:34,279 nos está indicando pues que 84 00:16:34,279 --> 00:16:36,960 la primera regla 85 00:16:36,960 --> 00:16:39,299 nos está diciendo pues que permite el tráfico 86 00:16:39,299 --> 00:16:39,820 desde 87 00:16:39,820 --> 00:16:42,740 este sería pues 88 00:16:42,740 --> 00:16:44,500 in y out indica 89 00:16:44,500 --> 00:16:45,820 y este sería por la interfaz 90 00:16:45,820 --> 00:16:48,059 entonces nos está indicando desde esta interfaz 91 00:16:48,059 --> 00:16:49,879 a esta interfaz está aceptado 92 00:16:49,879 --> 00:16:51,840 en cambio también está aceptado 93 00:16:51,840 --> 00:16:53,139 en la 94 00:16:53,139 --> 00:17:01,679 de manera bidireccional en el otro sentido y luego bloquea el resto de tráfico para todo lo demás. 95 00:17:04,880 --> 00:17:09,279 En cuanto a reglas adicionales, tenemos las reglas NAT, que ya hemos dicho que eran las de perroutine y postroutine, 96 00:17:10,819 --> 00:17:17,019 y las reglas mango, que era cuando se modificaba el estado de aparatos. 97 00:17:17,019 --> 00:17:24,460 Entonces, las veremos una a una, pero antes de ello, y esto viene en el aula virtual, 98 00:17:24,460 --> 00:17:34,299 Es un resumen de la secuencia de aplicación de las reglas. He aplicado las tres situaciones que hay, o lo he indicado en este cuadro azul, de cuáles son las tres situaciones. 99 00:17:34,640 --> 00:17:44,700 Las tres situaciones serían la primera, la que va desde el pre-routing, o sea, el paquete llega al cortafuegos, se le aplica un pre-routing y luego se produce el enrutamiento. 100 00:17:44,700 --> 00:17:55,099 Una vez que se ha producido el enrotamiento, pues como el paquete no va dirigido al cortafuegos, pues lo atravesará con el forward y se podrán aplicar después regulares de pre-routing. 101 00:17:55,099 --> 00:18:19,880 La segunda situación sería cuando llega al cortafuegos, se le aplica el pre-routing antes de entrar, se toma la decisión de encaminamiento y en este caso, si va a dirigirse al propio cortafuegos, entonces a través de las reglas input entra y termina el proceso. 102 00:18:19,880 --> 00:18:39,769 En cambio, el último sería la situación en la que parte en el mismo portafuegos, en un proceso local, y pues saldrá, entonces se le aplicarán las reglas de output. Se produce el encaminamiento y luego, pues lógicamente, pues tendrá las reglas de, se le aplicarán las reglas de post-routine. 103 00:18:39,769 --> 00:19:01,619 Esta sería las tres tipos de situaciones de secuencia de aplicación de reglas. Aquí hay un resumen de esas tres situaciones. Situación 1, prerouting, forward, postrouting. Situación 2, prerouting e input. Y situación 3, output y postrouting. 104 00:19:01,619 --> 00:19:17,839 En cuanto a la sintaxis de IPTables, no me he metido muy lleno antes. En cuanto a estas dos sintaxis, en los corchetes ya sabéis que lo que está diciendo es que puede ser algo opcional, no es necesario ponerlo siempre. 105 00:19:17,839 --> 00:19:35,740 Entonces, aquí lo divide en una primera parte que sería la tabla, acordaos, tres tipos de tablas, la de filter, mango y la de nata. Y luego tenemos las opciones, opciones son las que determinan el tipo de operación que se va a producir. 106 00:19:35,740 --> 00:19:52,160 O sea, si vamos a añadir una regla, si la vamos a listar, si vamos a borrar una regla, etc. La cadena, que sería la cadena, en este caso, como son tablas de filtro, si pongamos tabla de filtro, pues sería filtrado, input, output, forward. 107 00:19:52,160 --> 00:20:11,559 La condición especifica el tráfico o los paquetes a los que se aplicará la regla. Aquí vamos a poder meter direcciones IP, puertos, protocolos, recordar protocolos con el guión P, puertos con el port o ese port y luego direcciones IP, que veremos luego también cómo se mete. 108 00:20:11,559 --> 00:20:35,420 Y luego, por último, tenemos la acción. La acción a realizar sobre los paquetes. Y hay tres acciones. Las vimos al principio. O aceptamos, o rechazamos, o denegamos. Veremos cuáles son esas. Serán ACCEPT, que sería el caso de que las aceptamos. DROP, que sería el caso en el que se rechazan. Y luego tendríamos el caso de REGET, que lo veremos en un ejemplo. 109 00:20:35,420 --> 00:20:55,589 Aquí tenemos un ejemplo cuando queremos añadir una regla. He puesto aquí tipo de operación para iniciar, pues ya hemos visto que el primer contenido era el tipo de operación, pues con el guión A nos está diciendo que vamos a añadir una regla. 110 00:20:55,589 --> 00:21:14,349 La cadena de filtrado, que sería en este caso input, y luego con respecto al tráfico de paquetes, ¿qué le aplicamos? Pues le aplicamos que sea del protocolo TCP. A continuación, ya ponemos la acción a realizar y decimos que todo lo que enuncie la A se va a hacer. Esto se hace a través del guión J. 111 00:21:14,349 --> 00:21:29,170 Entonces, que esta regla que está diciendo que el tráfico TCP, todo el tráfico en el puerto 80 de tipo TCP hacia el cortafuegos, por todo lo que es input, pues será aceptado. 112 00:21:30,210 --> 00:21:40,210 La segunda sería eliminar una regla. No varían con respecto a la anterior. Lo único que varía es que ponemos en verde menos A de ADD, añadir D de delete, de borrar. 113 00:21:40,210 --> 00:22:05,200 Entonces, decimos que todo lo contrario. Si antes añadíamos la regla, ahora la eliminamos. ¿Qué más? Menos L. El guión L nos indicaría que podemos listar las reglas configuradas. Limpiar reglas o borrar todas las reglas con el guión F. Guardar reglas. Para guardar reglas actuales en el sistema, dependiendo del sistema operativo, podemos utilizar el IPTables Save. 114 00:22:06,160 --> 00:22:20,680 Aquí tenemos todos los parámetros de IPTL. Este sería lo que hemos, estas cuatro de aquí, sería cuando estábamos hablando de lo que es el tipo de operación. 115 00:22:21,319 --> 00:22:28,920 Entonces, el tipo de operación A, añadir una regla, D, eliminar una regla, L, listar todas las reglas, y F sería borrar todas las reglas. 116 00:22:28,920 --> 00:22:39,240 En cuanto pasamos a P de port, S port y S, estamos hablando de los paquetes a los que se aplicará la regla. 117 00:22:39,680 --> 00:22:45,359 Es decir, que aunque pongamos cada uno de los componentes en distinto orden, no pasa nada. 118 00:22:45,539 --> 00:22:52,460 Mientras todos los componentes que sean necesarios para arreglar IP tables se cumplan, no podemos alterar el orden de los mismos. 119 00:22:52,460 --> 00:23:02,380 Entonces, aquí tenemos que para indicar el protocolo o especificarlo, bien sea TCP, UDP y CMP, pues se le tiene que poner delante el guión. 120 00:23:03,359 --> 00:23:09,180 En cuanto al tipo de especificar el puerto, puede ser tanto de destino como de origen, destiny, source. 121 00:23:09,680 --> 00:23:12,519 Y aquí tenemos varios ejemplos en cuanto a...