Bueno, pues nada, empezamos la grabación que tiene que ver con el tema 3 de la asignatura de seguridad generada en ingeniería informática. Os recuerdo que en la tutoría anterior hubo un problema técnico, entonces quedó la grabación a medias y la parte que no se pudo grabar ya la he grabado y la he publicado en el área de documentos. Entonces, la sesión del pasado día 29 veréis que tiene parte 1 de 2, parte 2 de 2 y ahí en conjunto tenéis la grabación que corresponde al tema 2. Bueno, vamos a empezar con el tema 3, vamos a ir un poco rápido, estamos empezando con retraso y además este es un tema un poco más denso. El tema 3 se habla, por supuesto, de seguridad como no podía ser de otra manera, ¿vale? Y, bueno, pues lo que vamos a ver aquí es una serie... ...de conceptos y un poco ya arquitectura de TCP y IP que son muy importantes para que podáis realizar la práctica con el Willyshark, ¿vale? Vamos a hacer unas pequeñas definiciones teóricas y luego entraremos un poquito más en las tramas de red para que veáis cómo son las carreteras, etc. Entonces, bueno, como una pequeña introducción, la seguridad del software, ya veis que tenemos seguridad física, tenemos seguridad de tal manera que no puedas acceder a donde están los sistemas... ...de información, pues tener un sistema con puertas con cerradura, con identificación biométrica, etc., etc., etc., es decir, la seguridad de toda la vida, ¿vale? La seguridad de toda la vida, pero luego a nivel de seguridad lógica, pues tenemos que hacer determinadas medidas de seguridad como son el control de cuentas de acceso, los privilegios con los que accede cada usuario, cómo protejo los ficheros para que acceda solo el que tiene que acceder, el código malicioso que yo pueda tener en mi ordenador... ...como lo puedo editar. Luego, desde el punto de vista de desarrollo, el diseño seguro del software también es un aspecto importante. Una aplicación programada con criterios de seguridad versus una aplicación programada sin criterios de seguridad puede ser la diferencia entre una aplicación que te la hackeen enseguida versus una aplicación que es sólida, que es estable y que trabaja correctamente. Bueno, aquí veis que se plantea una serie de preguntas clave. Obviamente los usuarios tienen distintos privilegios de acceso, eso lo veremos después. Para poder establecer permisos, normalmente cuando tú usas una aplicación, la aplicación es la que tiene en su código las consultas SQL que se hacen con un determinado perfil de usuario de la base de datos para que no puedan hacer más de lo que deben estrictamente, ¿vale? Esto es un diseño a nivel de desarrollo. El programador, si lo único que tiene que hacer es una consulta a una tabla... Si lo único que tiene que hacer es una base de datos, el usuario con el que establece la conexión desde el código, por ejemplo, PHP con la base de datos, no tiene que ser un usuario que tenga permisos de escritura también. No los necesita. Entonces, es mucho mejor trabajar con usuarios que tengan los permisos que necesita y de ahí para arriba no darle ninguno más, ¿vale? Hay otras posibilidades con bases de datos que es trabajar con vistas, ¿de acuerdo? Ya sabéis que una vista te permite trabajar con los datos de una tabla pero sin interactuar directamente con la tabla en sí misma, ¿de acuerdo? Bueno, ¿cómo nos aseguramos de que las aplicaciones que vamos a usar en nuestra empresa sean las correctas? Bueno, pues las aplicaciones con las que trabajamos en nuestra empresa, cuando se instalan, ¿vale? Pueden tener un checksum MD5. ¿Conocéis esto? El checksum MD5. Lo ponéis en el chat, por favor. ¿Os suena esto? ¿Lo conocéis? El checksum MD5. No sé si me oís en el chat. Hola, hola. ¿Me escucháis? Vale, vale. Bueno, cuando... Si me estáis oyendo, por favor... Ah, vale, ahora ya estoy respondiendo. Es que si no, no sé si es que me estáis escuchando o no. Vale, bueno, pues mirad. El MD5 es un algoritmo de hash que lo que hace es coge una secuencia de bytes, por ejemplo, el ejecutable de un instalable de un programa y con esa secuencia de bytes, independientemente de lo grande o pequeña que sea, genera una cadena fija de bytes, ¿vale? Ese es el... El hash, la cadena hash de longitud fija que se genera con el algoritmo MD5. Entonces, cuando tú te bajas un programa de internet, a veces te encuentras con que está el ejecutable para que te lo bajes, ¿vale? O, bueno, a veces está comprimido el .gz. Y el checksum al lado. ¿Qué significa eso? Bueno, significa que si tú te bajas el ejecutable y le aplicas un programa que haga el cálculo del checksum MD5, te tiene que dar una cadena idéntica al checksum que tiene publicado... ...el propietario en la página web. ¿Para qué me sirve el checksum? Para saber que ese programa que yo voy a instalar en mi máquina no ha sido alterado, no ha sido alterado por nadie y lo ha colgado en lugar del auténtico. ¿Se entiende? El checksum MD5 sirve para comprobar que el programa que tú te descargas es el que el desarrollador ha querido publicar, ¿vale? Con el que él publica en la página web genera un MD5, un checksum MD5, yo me bajo el que él me proporciona y con un programa que calcula checksums MD5, me lo instalo en mi programa, en mi ordenador y vuelvo a calcular el MD5. Y comparo el MD5 de lo que yo me he bajado con el MD5 de lo que ha publicado el desarrollador. Y con eso sé si el programa es igual o no, ¿vale? Eso sería una forma de verificar la integridad, ¿de acuerdo? Otra posibilidad es... Bueno, otra opción a efecto de seguridad del software es estar seguros de que los datos no hayan sido modificados. Bueno, esto... Depende del software que utilizas, pues se hace de una manera o de otra. Por ejemplo, las bases de datos te meten a trabajar con integridad, con integridad referencial, etc. El protocolo de seguridad que vamos a utilizar para conectarnos a las aplicaciones, cuando es una aplicación cliente-servidor, lo que vimos el otro día. Bueno, pues... Una aplicación va a ser una aplicación TCP y IP y se utiliza el protocolo IPv4 o IPv6, dependiendo de donde estemos trabajando. Según el tipo de protocolo que yo utilizo para llegar a través de la red hasta el otro ordenador, podré aplicar unas determinadas medidas de seguridad o no, ¿vale? IPv6 es la versión evolucionada de IPv4, lo que pasa es que todavía se utiliza principalmente. ¿Sistema operativo cuál utilizamos? Bueno, pues depende, ¿vale? O sea, lo que está claro es que cuando tú tienes que poner un servidor que ofrece un servicio en Internet, tienes que utilizar un sistema operativo de server que ofrezca... las garantías necesarias para poder trabajar ahí, ¿vale? Y que sea actualizado, que saquen parches cada poco, etcétera. ¿Vale? Luego veremos algunos criterios para medir esa seguridad, ¿de acuerdo? Bueno, los sistemas operativos, esto me lo salto muy rápido, ¿vale? Tiene que ver más con arquitectura de sistemas que con la seguridad en sí misma. Bueno, todos los sistemas operativos tienen un núcleo, ¿de acuerdo? El kernel. Sabéis que el sistema operativo es lo que está entre las aplicaciones y el hardware, ¿de acuerdo? Entonces, bueno... Pues, digamos que aquí estaría, en este gráfico que veis aquí, aquí tenemos el kernel, ¿de acuerdo? Aquí debajo estaría el hardware. Y luego aquí, encima del kernel, lo que tenemos son las aplicaciones y las librerías que utilizamos. Estos son los diferentes niveles según subimos o bajamos. El kernel es el núcleo troncal y llegamos a él a través de comandos que nos ofrece el sistema operativo. O a través de librerías que nos ofrece el sistema operativo terceros, ¿de acuerdo? ¿Vale? Esto sería un poco la arquitectura típica de cualquier sistema operativo, ¿vale? Luego, sobre el kernel trabajamos con programas de utilidad, ¿vale? Esto podría ser en Linux, por ejemplo, los comandos que usamos habitualmente en Linux. Pues, no sé, el comando ls, el comando cat, el comando ps. Cualquier comando que utilicéis habitualmente son programas que vienen para poder utilizarse por los usuarios y que luego se conectan con... Con librerías o con el kernel del kernel, ¿vale? Luego tenemos la gestión del sistema, como el sistema de ficheros. Y luego tenemos un subsistema de seguridad que implementan todos los kernels. Que normalmente el subsistema de seguridad lo que hace es controla que un determinado proceso pueda acceder al disco según determinados permisos, pueda acceder a la red según determinados permisos, o que los usuarios puedan acceder a determinados recursos según el usuario y el grupo al que pertenecen, ¿vale? Eso es un tema... Importante. En resumen, para trabajar con un sistema operativo, abajo vienen dos recomendaciones. Tratar que el sistema operativo tenga una certificación de seguridad. Hoy en día hay una certificación de seguridad reconocida a nivel internacional que se llama Common Criteria, ¿vale? Que luego veremos que mide la seguridad en una escala de 1 a 7. Entonces tú cuando quieres instalar un sistema operativo, pues, bueno, si tiene un nivel de seguridad más cercano a 7 que a 1, es un sistema operativo en el que la seguridad ha sido considerada más crítica y por tanto tiene más controles de seguridad, ¿de acuerdo? Y luego ya, pues, entender que una certificación de seguridad es algo que tú, digamos, heredas en tu política de seguridad dentro de la empresa, ¿vale? Es decir, por ejemplo, que cuando se haga... Si hay un equipo de desarrollo, que las aplicaciones que se desarrollen estén en entornos seguros acotados, que no tengan menor nivel de seguridad. Si luego son accesibles por terceros, etcétera, etcétera. Incluso la LOPD hace alguna alusión también a cuando se trabaja con datos en... Bueno, esto es una pequeña descripción de criterios que hay que tener en cuenta a nivel de sistema operativo. Existe un núcleo central, unas aplicaciones que trabajan alrededor y luego unas certificaciones de seguridad que hacen que unos sistemas operativos estén más testeados que otros, ¿de acuerdo? Bueno, esto que veis aquí es una... Es el mismo esquema... Es el mismo esquema, pero con muchísimo más detalle, ¿vale? Como podéis ver, con mucho más detalle, ¿de acuerdo? Aquí vamos viendo los aspectos más críticos que hay en el kernel, ¿vale? Todo lo que tiene que ver con sistema, con la gestión de procesos, gestión de memoria, gestión de almacenamiento, gestión de disco, gestión de red, ¿de acuerdo? Todo esto son determinadas funciones que están en el kernel. Esto es un ejemplo con Linux, ¿vale? El hardware está aquí abajo, ¿vale? El hardware está aquí abajo. Y bueno, pues el kernel, como ya hemos comentado y como ya sabéis, pues se conecta con el hardware a través de sus diferentes utilidades, herramientas, librerías, desarrollos, etc. Bien, en la parte de la derecha lo que estamos viendo es que existe un interfaz de usuario que se conecta con el subsistema de seguridad del kernel. Lo estáis viendo ahí. El subsistema de seguridad del kernel además se conecta con el almacenamiento. Se conecta también con los protocolos de red, ¿de acuerdo? Bueno, pues con el sistema virtual de lucheros, etc. Entonces, esto es arquitectura de sistemas. Aquí, como nosotros no decidimos nada, porque esto es algo que nos viene dado, pero sí que es verdad que existen determinadas implementaciones de sistemas operativos que evolucionan a lo mejor más despacio en cuanto a nuevas versiones, pero que son más sólidas. Y otros que igual tienen un afán más comercial, ¿vale? Y que van sacando versiones más recientes para menos tiempo, pero a costa de que a veces se pueden dejar agujeros de seguridad importantes, ¿vale? Windows, digamos, que va un poco más en esta línea, aunque ha mejorado muchísimo, muchísimo. Sin embargo, por ejemplo, en Linux la distribución Debian históricamente era, digamos, el Linux más riguroso, más... extremo en cuanto a precauciones, en cuanto a control, en cuanto a medidas de seguridad. Entonces, si tú ponías un Debian, sabías que estabas poniendo a lo mejor un sistema operativo que carecía de algunas novedades que tenían otras implementaciones de Linux, pero también sabías que el equipo que está gestionando las versiones de Debian lo hace con un ritmo muy serio, ¿no? Digamos, ¿de acuerdo? Vale. Esto, estamos hablando de sistemas operativos y de sus, bueno, niveles de seguridad. Bueno, pues aquí lo que estáis viendo es... que existen criterios de seguridad, como hemos dicho hace un momento, que vienen del Common Criteria, ¿vale? Y son niveles de seguridad que se identifican con las siglas EAL, que es Evaluation Assurance Level, que van de 1 a 7. Aquí estáis viendo cómo en el cuadro, pues a medida que vamos incrementando los niveles de seguridad, se van testeando más controles en el sistema operativo, ¿vale? Se van haciendo más... Se van haciendo más pruebas que lo hacen más o menos exhaustivo. En la tabla de la derecha, en la tabla de la derecha, vemos algunos ejemplos de sistemas operativos conocidos, ¿de acuerdo? Y su nivel de implementación del Common Criteria, ¿vale? Su nivel de implementación del Common Criteria. Esto, bueno, pues cada vez que un fabricante va sacando un sistema operativo, va diciendo que esto tiene un nivel de implementación X, Y, etc. ¿Vale? Posiblemente en determinados entornos muy acotados, ¿vale? Se me ocurren ahora, pues en torno a instalaciones críticas, como centrales nucleares o, por ejemplo, entornos militares, probablemente las exigencias de Common Criteria sean mucho más, valga la redundancia, exigentes que, por ejemplo, para poner un sistema operativo que sea un servidor de aplicaciones de una empresa convencional, ¿vale? ¿De acuerdo? Entonces, bueno, simplemente que conozcáis que existen unos criterios de seguridad que están normalizados y que permiten evaluar la seguridad de una forma estricta. ¿Vale? Seguimos con los sistemas operativos. Características de seguridad que ha de tener un sistema operativo. Bueno, pues hay varios, ¿de acuerdo? Vamos a ver los más obvios, los que ya conocéis todos. Una buena política de copias de seguridad. La política de copias de seguridad es esencial. Es esencial. La ley orgánica de protección de datos de carácter personal te obliga a que hagas copias de seguridad de los datos personales, al menos una vez a la semana. Y luego ya, por supuesto, el sentido común te dice que hagas copias de seguridad, pues por lo menos, si estás generando datos diariamente, qué menos que tener una copia de seguridad diaria, que sea una vez al día. Hay organizaciones que incluso hacen copias de seguridad instantáneas o casi porque tienen centros de respaldo que los datos a medida que se van generando, en todo ese desnivel, recordaréis los cinco nueves que habíamos hablado, los cuatro nueve, los tres nueve, ponemos ahí, depende de las necesidades de la organización, tendremos una política más exigente o menos. Las copias de seguridad se pueden hacer en distintos sistemas y un aspecto importante también es si las hacemos en local o si las hacemos en remoto. Las copias de seguridad remotas tienen la ventaja de que están en una ubicación diferente y, por tanto, cualquier incidente que pueda existir en el edificio donde se encuentran las copias y los datos, pues no le afectaría porque estaría en ese departamento. Os pongo un caso. Un banco que tiene un centro de procesos de datos. Es. Absolutamente el cien por cien del negocio, porque sin el centro de procesos de datos el banco no sabría absolutamente nada del dinero que tienen sus clientes. Bueno, pues suelen tener centros de procesos de datos que están respaldados a varios cientos de kilómetros de donde se encuentra el centro principal para poder obtener o tener restancia de datos, ¿vale? Esta semana pasada leí que Mercadona tiene su CPD principal en Valencia. Mercadona es una empresa que lo apreciáis todos. Es una empresa valenciana. Y va a crear, va a gastar doscientos... No recuerdo mal, creo que eran doscientos quince o doscientos cincuenta, no recuerdo la cifra, millones de euros. Repito, doscientos cincuenta o doscientos cincuenta millones de euros. Y va a crear un centro de respaldo que va a respaldar el centro de Valencia aquí en León, muy cerca de la capital donde tiene su centro de artística. ¿Vale? Bueno, pues esto es una política que cada compañía la aplica en función de sus necesidades. y de sus recursos. Por supuesto, un banco o mercadona son grandes empresas y tienen suficientes recursos para poder permitirse el lujo de tener un CPD propio en otro sitio. Hay otras empresas que alquilan el uso del CPD o incluso te alquilan almacenar tus copias de seguridad y tú les pagas una cantidad también. Bueno, hay que tener una buena política de gestión de cuenta de usuario. Por ejemplo, Windows Server tiene el directorio activo que la verdad es que está muy bien para gestionar usuarios. El directorio activo en las redes Windows permite gestionar usuarios de una forma muy sencilla y además bastante potente. Incluso los puedes jerarquizar, comunidades organizativas, con dominios o subdominios. Le puedes aplicar políticas de seguridad distintas a los de esta sede respecto a los de esta sede. Yo tengo una delegación a lo mejor en Francia, en mi empresa, y quiero que los usuarios de allí tengan un acceso súper restringido. Sin embargo, aquí son usuarios que necesitan hacer más cosas. Y les aplico una política de seguridad diferente. Bueno, pues esa gestión de cuenta de usuario con directorio activo se puede hacer muy bien. Hay otras opciones, pero esta es una de las más. Hay que tener una buena política en el sistema de ficheros con el control de acceso y aquí se resume que el sistema de ficheros que usemos, donde guardamos los datos en disco, permite listas de control de acceso discrecional, que son las DACL. Una DACL es una lista que tiene cada objeto que guardamos en el disco, cada carpeta, cada fichero, ¿de acuerdo?, de tal manera que cada uno de ellos va asociado a su lista de control de acceso discrecional. Y eso es una lista que dice quiénes son los que pueden entrar ahí. Por eso se integra totalmente con sistemas de gestión de usuarios como pueda ser el directorio activo. Porque en una lista de ACL tú vas añadiendo el identificador de cada usuario del directorio activo que puede entrar y con qué permiso. ¿Vale? Y con qué permiso. Luego, hay que garantizar la seguridad de los usuarios. ¿Vale? Y con qué permiso. Tenemos que garantizar la integridad, ¿de acuerdo?, los sistemas de ficheros, bueno pues. Dentro de lo que cabe deberían de de permitir que un fichero no sea alterado. Que un fichero no sea alterado. Que un fichero no sea alterado. Eso sería la integridad. ¿Vale? Además, es muy importante poder auditar. Cuando hablamos de seguridad Tenemos que hablar también de auditoría. Si no tenemos auditoría, no sabemos lo que ha ocurrido en un sistema, eso o se hace muy complicado. Entonces la auditoría es esencial para poder como dice la propia palabra, qué está pasando con un determinado recurso. Las listas, cuando tú tienes a nivel de sistema de ficheros, cuando tienes un fichero o una carpeta igual que hay una lista de ACL que dice quién puede acceder y cómo, hay una lista SACL Security Access Control List esta lista SACL lo que permite controlar es a quién audito ¿vale? Si yo quiero que esta carpeta cuando alguien accede a ella, si hace una operación de borrado quiero que me quede registrado, pues entonces puedo decirle audítame al grupo todos para las acciones de borrado. Si quiero que se audite todo borrado, creación, acceso todo lo que se puede hacer con una carpeta, con un fichero, lectura escritura, pues entonces puedo decirle audítame al grupo todos y audito a cualquier usuario para todas las acciones posibles. Claro, eso genera un registro de auditoría enorme. Por ejemplo, para que os hagáis una idea, en la ley orgánica de protección de datos cuando los ficheros son de nivel alto, por ejemplo los datos de salud que tiene un hospital, pues tienen que guardar en su lista SACL todos los accesos que se están realizando a esa a las bases de datos de los pacientes. Lo cual es un problema porque genera unos registros de auditoría enormes que no siempre se gestionan bien y a veces ralentiza los sistemas. Pero bueno, una cosa es la normativa otra cosa es la realidad. Por supuesto hay que estar bien preparado contra las amenazas previsibles. Eso es malware. Cualquier tipo de malware, ransomware un virus, un caballo de Troya, un gusano, cualquier cosa de estas se corrige generalmente con lo que ya conocéis de sobra que son los antivirus. Luego tener una buena política de seguridad física por ejemplo en un CPD no es normal que pueda acceder cualquier persona de la compañía. Normalmente accede el personal que tiene relación con la administración del sistema. Suele haber tarjetas de proximidad suele haber tarjetas perdón, tarjetas, códigos biométricos, etc. Y luego como siempre, muy importante el factor humano es decir, por mucho que tú tengas una política de seguridad si los trabajadores que tienes digamos que son descuidados y dejan datos sensibles escritos en un papel y luego viene la persona que hace la limpieza o alguien que viene a hacer una reparación en el fin de semana pues estamos facilitando información de una forma muy tonta y muy fácil de evitar y todo eso se consigue evitar con formación, con financiación y también con acuerdos de confidencialidad para el personal para que sepan que si ellos comprometen la seguridad de la empresa que eso va a tener algún coste. ¿De acuerdo? Que no va a ser gratis hacer eso. ¿De acuerdo? Bien. Bueno, los protocolos y las aplicaciones IP Vinton Cerf, que es uno de los padres del protocolo IP bueno, cuenta un poco cómo van las redes ya sabéis que el protocolo de CPIP manda paquetes fragmentados pequeñitos y luego llegan en órdenes en un orden que no tiene por qué ser el mismo y luego se tienen que ordenar para que lleguen a la aplicación como... En cualquier caso fijaros qué sentencia más rotunda dice uno de los creadores del protocolo dice todos los que están por el medio todos los elementos de red que intervienen en una transmisión de CPIP pueden leer el contenido de la publicación es como si tú mandas una carta pero en vez de ir dentro de un sobre fuese transparente entonces se pudiera ver lo que hay dentro del sobre ¿Vale? Entonces, claro hay que buscarse la vida con aplicaciones que cifran porque TCPIP por defecto no lo hace tened en cuenta que la pila de protocolos TCPIP se creó hace muchos años y de aquella lo único que se quería era conseguir transmitir o sea ni de lejos se pensó iba a tener el alcance que tiene ahora en internet por eso IPv4 se está quedando sin direccionamiento IP porque no hay suficientes direcciones IP para todo bueno esto es un pequeño cuadro que resume una pila de protocolos TCPIP os acordáis de los niveles OSI que lo vimos el otro día ¿Vale? Hay siete niveles OSI pero si lo aplicamos a TCPIP tenemos cuatro tenemos arriba la capa de aplicación que es donde trabajan las aplicaciones que usamos habitualmente fijaros aquí tienen ejemplos como Telnet como FTP SMTP para clientes de correo HTTP para navegadores TCP para routers DNS bueno en fin hay varias aplicaciones ¿Vale? luego la aplicación genera unos datos que tienen que ser encapsulados en la capa de transporte esos datos pueden ser TCP o UDP TCP es lo más recomendable porque son datos que se envían de forma confiable es decir es enviar datos con acuse de recibo UDP es enviar datos sin acuse de recibo por tanto las garantías que tienes con UDP de que los datos que transmites llevan son nulas o sea no tienes esa esa información ni la vas a tener entonces bueno todas las aplicaciones digamos más o menos importantes trabajan siempre con con con TCP ¿Vale? Bien luego tenemos protocolos que trabajan a nivel de direccionamiento IP ¿Vale? perdón a nivel de red como son el ICRP el ICNP o el SPF el ICRP es un protocolo de importamiento de Cisco el ICNP es el que utiliza el PIN y otras herramientas para ver que hay conectividad con otros ordenadores y el OSPF es un protocolo de importamiento también que se utiliza con redes computadoras ¿Vale? Y ya por último se encapsula los datos en la trama que corresponda a la red en la que nos encontramos si soy en una red Cernet pues probablemente el paquete que yo tengo que transmitir igual tiene un MTU de 1,5K o de 1500 bytes pues tengo que encapsular todas estas tramas que vienen en fragmentos de 1500 bytes en función del MTU que yo tenga en la red y así es como se transmite por internet ¿Vale? Todo esto se ve muy bien con Wireshark todo esto se ve muy bien con Wireshark cuando capturas tráfico con Wireshark ves que las tramas de red vienen encapsuladas en estos cuatro parámetros ¿Vale? Viene una primera trama que es la del acceso a la red otra que es la de la trama el paquete IP otra que es el transporte y otra que es la aplicación ¿Vale? ¿Habéis instalado ya el Wireshark? ¿Alguno de vosotros lo ha probado? Lo ponéis en el chat por favor ¿Alguno de vosotros ha instalado el Wireshark? Bueno hay por lo menos un compañero que ya lo ha instalado ¿Vale? Os recuerdo que tenéis una práctica que hay que entregar el 1 de abril que se basa en el uso de estas tramas ¿Vale? Todavía no Bueno No pasa nada Vais con tiempo ¿Vale? Vais con tiempo Creo que sí Creo que es el 1 de abril Bueno lo tenéis en el plan de trabajo Pero yo creo que sí Si alguno lo puede mirar y lo pone en el chat Perfecto Yo creo que es el 1 de abril ¿Vale? Echadle un vistazo de todas maneras ¿De acuerdo? Igual me equivoco No estoy seguro Ah del 7 al 8 Vale perdón Ahora entonces me estoy confundiendo con otra asignatura Vale Perdón No he dicho nada ¿Vale? Lo que ponga el plan de trabajo eso será ¿De acuerdo? Bueno Seguimos ¿Vale? Seguimos Vale Protocolos en la capa de aplicación Bueno hay un montón de ellos ¿Vale? Decidme de los que están aquí ¿Cuáles matan contraseñas sin cifrar? A ver si alguno lo sabe Ponedlo en el chat Por favor ¿Cuál de los protocolos que veis aquí se mandan las contraseñas sin cifrar por la red? Telnet Perfecto FTP Perfecto HTTP Perfecto Va en texto claro Eh SMTP Perfecto ¿Vale? Y bueno Y ya está ¿Vale? Porque el resto digamos que no son protocolos de O sea Está HTTPS Pero precisamente HTTPS cifra No Van al texto claro El resto son Protocolos Que sirven ¿Conocéis el resto de protocolos que hay ahí? Ah Hay otro Eh TTP Es un protocolo que se basa en un criterio seguro Y TFTP ¿Vale? Este que está aquí TFTP Es un FTP Que usan algunos dispositivos Hoy en día ya es muy raro encontrarlos Que lo que hace es transmitir utilizando UDP ¿Vale? Utilizando UDP No TCP ¿Se entiende la diferencia? O sea Es un protocolo de transferencia de ficheros no confiable ¿Vale? Esto es del año de la polca eh O sea TFTP Es Es muy antiguo ¿Vale? Bueno También lo es el FTP Porque todos estos protocolos Son Rematadamente antiguos Todos Por eso tienen los problemas de seguridad que tienen Porque vienen de Fueron diseñados en una época donde la seguridad no era importante Porque se trabajaba en entornos acotados En entornos seguros Y nunca se pensó en internet ¿Vale? ¿De acuerdo? Vale Bueno Pues estos serían algunos ejemplos ¿Por qué es importante que veáis esto? Porque cuando capturéis con Wireshark ¿Vale? Cuando capturéis con Wireshark y veáis la cabecera de la trama de aplicación os vais a encontrar con estos textos o parecidos ¿Vale? Os vais a encontrar con HTTP Con FTP ¿De acuerdo? Porque él los va a poner de ese tipo Porque reconoce que la trama es de ese tipo de aplicación ¿Vale? ¿De acuerdo? Venga Vamos a seguir Bien Eh Luego Hay tres tipos de paquetes IP que podemos enviar ¿Vale? Tres tipos de paquetes IP O sea El TCP IP Sabéis que al protocolo se le llama TCP IP Pero no es verdad que O sea o no es No es exacto que sea TCP IP Porque a veces se transmite sin usar el protocolo TCP IP siempre se va a usar Porque el protocolo IP es el que te dice a qué IP mandas el paquete de datos ¿Vale? Y además pones tu IP para que te lo devuelvan a la tuya ¿Vale? Sin embargo los datos los podemos encapsular con el protocolo de transporte TCP o con el protocolo de transporte UDP o con ninguno de ellos ¿Vale? Si por ejemplo es una trama ICMP Entonces aunque se le llama TCP IP al protocolo realmente no siempre los paquetes de red que enviamos son TCP ¿Vale? De hecho aquí tenemos el caso más común cuando enviamos datos en una red local o por internet prácticamente casi siempre es tráfico IP más una cabecera TCP o sea encapsulada en paquetes TCP y luego el protocolo de aplicación que lo genera Decidme alguna aplicación que genere tráfico de este tipo de las que hemos visto antes Ponedlo en el chat por favor Alguna aplicación que encapsula en TCP porque quiere que los datos sean confiables y quiere que lleguen al otro lado ¿Cuál podríamos poner aquí? Vale El navegador Pero si El navegador es como se le llama de forma Es lo que diría un usuario Pero si hablamos del protocolo a nivel de aplicación ¿Cómo se llama? Exacto HTTP ¿Vale? ¿Alguno más se os ocurre que utilice TCP? ¿Algún protocolo de aplicación más que utilice TCP? FTP Eso es ¿Vale? Y venga Otro más y ya pasamos al siguiente El correo electrónico ¿Qué usa el correo electrónico? El correo electrónico utiliza ¿Pero cómo se llama el protocolo de aplicación del correo electrónico? Ahí está SMTP ¿Vale? Luego también está el del correo entrante que sería POP3 ¿De acuerdo? ¿Vale? Entonces bueno ya hemos visto ejemplos que van encapsulados en TCP Cuando capturéis con Wireshark paquetes de este tipo ¿Vale? Los que ya lo tenéis instalado y los que no cuando lo instaléis capturar con el Wireshark y luego veréis cómo os va a aparecer una cabecera que es la trama IP otra cabecera que es la trama TCP otra cabecera que es el protocolo de aplicación y luego al lado del protocolo de aplicación van los datos que genera la aplicación ¿Vale? Bueno normalmente van en el mismo rectángulo que es el protocolo de aplicación ¿Vale? Normalmente va todo aquí ¿De acuerdo? ¿Vale? Entonces tened en cuenta porque esto lo vais a ver en Wireshark Vais a capturar y cada vez que se envía un paquete de red va a tener una cabecera del medio físico por el que tú lo transmites por ejemplo Ethernet ¿Vale? Si estáis en casa usando Ethernet vais a tener una cabecera Ethernet que es abajo de todo en los cuatro niveles el siguiente va a ser la capa IP el siguiente va a ser la cabecera IP o sea primero cabecera del medio físico por el que yo transmito por ejemplo cabecera Ethernet que va aquí ¿Vale? Si eso fuese una línea RDSI de las viejas pues sería una cabecera de este tipo la que iría en primer lugar En segundo lugar va la cabecera IP en tercer lugar va la cabecera TCP y en cuarto lugar va el protocolo de aplicación más los datos que quiere transmitir y todo esto tiene que tener el ancho del MTU de la red por la que yo transmito ¿Vale? Es decir cada paquete de red de los que yo transmito ¿Vale? Cada paquete de red de los que yo transmito cada paquete de red que veis aquí tiene que adaptarse se tiene que trocear para que ese tamaño ocupe el MTU de este tipo de esa de esa red física en la que yo estoy conectado ¿Vale? O sea que esto tiene un tamaño cada paquete de red del MTU ¿Vale? ¿De acuerdo? Lo que antes os decía que podrían ser por ejemplo 1500 bytes si estamos en una red convencional ¿Vale? Esto es un parámetro que se puede configurar también Bueno Luego otra trama de red que podemos tener en el protocolo TCP y IP es cuando utiliza el protocolo UDP ¿Vale? Bien Luego tenemos tramas de red IP ¡Ey! Perdón Tramas de red IP con protocolo de nivel de red Los protocolos de nivel de red son los protocolos de enrutamiento ¿Vale? Como el ICRP el ICMP Cuando hacemos un ping por ejemplo cuando hacemos un ping y estáis capturando como el Wireshark os vais a encontrar con este caso porque el ping no transfiere datos que queramos realmente entregarle al otro ¿Vale? El ping sirve para detectar ¿Vale? Vamos a ir avanzando ¿Vale? Los protocolos de la capa de aplicación son estos aquí estáis viendo las cabeceras ¿Vale? En una cabecera IT cuando lo capturáis y lo observáis con el Wireshark hay una serie de datos importantes como son la dirección IP de destino Claro esto es fundamental si no le pones la IP de destino no va no se va a saber a dónde entregar ¿No? Si hay que meterlo por el router ¿No? La dirección IP de origen este es el remitente para que me devuelvan el paquete ¿Vale? Para que me puedan devolver el paquete a mí también El número de protocolo que utilizo en TCP y IP fijaros aquí pone 1 para ICMP o 6 para TCP por ejemplo ¿Vale? Y luego información de la presentación del mensaje Bueno si alguien tiene mucho interés en aprender TCP y IP hay un escritor hay un libro una serie de libros técnicos no recuerdo el nombre de pila pero el apellido es Homer ¿Vale? Si buscáis TCP y IP y luego como autor Homer vamos este estos son libros son realmente la biblia del TCP y IP son libros fantásticos que te explican perfectamente cómo funciona Bueno Mensajes TCP fijaros esto es la primera cabecera bueno después de la del medio de red cabecera IP pero luego cuando vamos a la cabecera del cancelamiento de datos vamos a ver el porto de origen puerto de destino el puerto de destino lo sabéis Decirme qué puerto en qué puerto TCP está escuchando por ejemplo un servidor web ponedlo por favor en el en el puerto 80 ¿Vale? ¿En qué puerto está escuchando un servidor de TCP? ¿En qué puerto está escuchando un servidor SMTP? ¿Vale? O sea cada uno de ellos tiene un puerto entonces cuando tú te conectas es en la capa de transporte donde le estás diciendo a cuál de los servicios en los que escucha aquel servidor me quiero conectar por eso se pone el puerto de destino el número de secuencia el número de la CK ¿Vale? y una serie de bits que se añade todo esto sirve para establecer la conexión TCP IP eso ya lo iremos viendo más adelante ¿Vale? ¿De acuerdo? ¿Vale? Esta es la secuencia que tiene una conexión TCP IP cuando cuando empezamos es decir cuando una máquina A quiere conectarse con una máquina B usando TCP tiene que hacer un saludo ¿Vale? el TCP fanshake fanshake que viene aquí ¿De acuerdo? que es un poco la forma en la que dos máquinas se ponen de acuerdo para que una empiece a transmitir ¿Vale? Primero hay un saludo no es que yo no puedes empezar a transmitir sin más tiene que haber como un saludo inicial ¿De acuerdo? Entonces aquí se ven un poco la secuencia ¿De acuerdo? de cómo es ese saludo ¿Vale? Se manda el flag SIM en el paquete que yo envío mando el flag SIM el número de secuencia y luego el el número de ACK cero el ordenador al que yo me conecto claro me tengo conectada a su IP y al puerto en el que está escuchando aquí veis que es una sesión de Telnet un puerto 23 él me responde con los flags SIM y ACK activos me responde con otro número de secuencia nuevo que se crea para la ocasión y me responde con un número de ACK que es el número de secuencia que yo tenía que yo le envía antes más uno y yo lo respondo con un ACK con un número de secuencia que es el anterior más el número de bytes si no recuerdo mal y luego con un número de ACK que es el número de secuencia que recibí más o menos vale echarle un vistazo a esto y esto os lo sugiero como práctica que con el Wireshark estudiéis esta secuencia este saludo que se hace en dos máquinas es muy fácil ponéis el Wireshark luego filtráis para que solo os muestre si tenéis otra máquina en la red puede servir vale o por ejemplo la conexión que tengáis entre vuestro equipo y el router y tenéis que detectar esta secuencia de tres etapas vale el TCP 11 de acuerdo la semana que viene ya en el chat me comentáis si lo habéis podido capturar vale luego está el protocolo UDP que solo tiene puerto de origen puerto destino esto es muy pobre no se usa prácticamente en casi nada el UDP son pues como el ICMP para ver el estado de la red por ejemplo PIN el trace router el trace RT vale son comandos que utilizan ICMP OSPF e IGRP son protocolos que se usan a nivel de enrutamiento vale esto es para transferir tablas de routing en tiempo real de acuerdo vale bueno bien aspectos de seguridad para tener en cuenta IP no fue diseñado para ser seguro solo fue diseñado para transportar mensajes con esto ya lo decimos todo o sea la seguridad no formó parte del diseño vale hay ataques que están basados en particularidades de los protocolos como hay protocolos diseñados hace 40 o 35 años bueno pues hay ataques que ya se sabe que se pueden hacer porque aprovechan vulnerabilidades de los protocolos por ejemplo usar un sniffer para capturar las contraseñas TCP perdón TCP HTTP hotel vale también se pueden hacer ataques de suplantación vale porque el TCP IP permite ataques de tipo man in the middle o e-hacking secuestros de sesión que consisten en que tú engañas a un ordenador y engañas a otro para que todo el tráfico que se transfieren entre ellos dos pasen por tu máquina donde tienes un sniffer trabajando vale de acuerdo eso se puede conseguir con el ARP spoofing por ejemplo de acuerdo vale entonces bueno esto son cosas que con una máquina TCP IP prácticamente no lo puedes evitar hay algunas medidas que están bien pero es un problema sobre todo estructural vale luego están los virus y gusanos que sobre todo se propagan a través del correo electrónico también no solo es así también se propagan por SMB a través de la red local vale por redes windows cuando tú pides acceder a los recursos compartidos de tu máquina también se propagan y luego muchas de las implementaciones de los protocolos más significativos como HTTP SVTP se basan en código modular donde tú puedes garantizar la seguridad de cada módulo pero es prácticamente imposible garantizarla de todo el sistema vale es decir tú puedes preocuparte de que haya seguridad en el módulo que tú desarrollas pero como se basa en una pila de protocolos insegura pues hay cosas que tú no vas a poder controlar vale lo mismo pasa con módulos de código que se utilizan en páginas web etcétera vale entonces bueno digamos que la seguridad es un problema relevante es un problema relevante y lo que hay que intentar siempre es minimizar los riesgos vale bueno se ha pasado al protocolo IPv6 vale se ha pasado al protocolo IPv6 no se está usando de verdad digo a nivel masivo o sea se está usando pero normalmente nosotros en casa no tenemos una IPv6 vale porque se cambia de IPv4 a IPv6 pues por dos motivos primero porque IPv4 se está quedando sin direcciones IP o sea internet ha crecido tanto que con IPv4 el direccionamiento de 32 bits ya no le llega y luego sobre todo para intentar hacerlo más segura más seguro y para poder soportar nuevas aplicaciones que requieran digamos un tráfico preferente vale por ejemplo todo lo que tiene que ver con multimedia con IPv6 se puede priorizar de acuerdo eso es importante porque tú cuando estás viendo una página web con http probablemente no necesitas que todo sea absolutamente fiable al 100% si hay una pequeña latencia probablemente no te enteres pero cuando estás con multimedia sí vale de acuerdo bueno IPSec es una de las características más relevantes que tiene IPv6 a efectos de seguridad de acuerdo IPSec es un marco dentro del cual se pueden hacer varios varias cosas de seguridad que vienen ya en la arquitectura de tcp y p no te tienes que buscar la vida con programas de seguridad que es lo que pasa ahora de acuerdo entonces con el IPSec podemos crear protocolos como la h podemos usar protocolos como el de cifrado como la h que sirve para la autenticidad y la integridad es decir con el protocolo h yo garantizo que los datos no han sido modificados por el camino y además me permite establecer una conexión sabiendo que el otro es quien dice ser el protocolo ESP es un protocolo de transporte es el que cifra los datos y el transporte sería el equivalente al tcp tcp no cifra ESP si cifra vale de acuerdo también permite integridad a nivel de los datos que estamos transfiriendo y el KMP proporciona un entorno para intercambio seguro de claves es un reto importante en seguridad cuando tú quieres conectarte con otra máquina y tienes que usar una red insegura como es internet pues tienes que buscarte la vida para encontrar un mecanismo que permita transferir datos sensibles en una red insegura vale bueno pues en este sentido KMP ha sido el algoritmo que se utiliza en IPv6 dentro de IPsec IPsec se puede usar también en IPv4 digamos que la tendencia es que algún día todo el tráfico acabe siendo IPv6 y por tanto la seguridad ya esté de forma nativa vale de acuerdo bueno esto lo que hemos visto es una pequeña descripción de la seguridad de los sistemas operativos y luego también del protocolo TCPIP vale hemos hablado de sistemas operativos del protocolo TCPIP y luego existen esto me lo voy a saltar muy rápido vamos a acabar ya luego existen criterios para evaluar la seguridad en el libro que ya es de hace unos años el libro de texto está muy bien pero bueno hace mención a algo que fijaros que ya de aquella ya decía que estaba prácticamente obsoleto pues ahora ya ni os cuento entonces simplemente comentaros que existe este criterio para evaluar la seguridad de los sistemas operativos ¿no? en el caso de KMP existen criteria pero hoy ha sido sustituido por Common Criteria que se está usando desde 2018 entonces bueno me voy a ir directamente a Common Criteria vale el Common Criteria es una norma ISO reconocida internacionalmente que establece unos estándares para medir la seguridad de un firewall la seguridad de un sistema operativo etcétera ¿de acuerdo? vale esto está muy bien porque significa que todos los dispositivos y sistemas del mercado se evalúan en base al mismo criterio y así los puedes comparar unos con otros ¿de acuerdo? eso es un poco los objetivos de Common Criteria vale bien existen varios varias definiciones una es el perfil de protección o el PP ¿vale? el PP dentro del Common Criteria pues básicamente es un conjunto de checklist una lista de cosas que tienes que testear y hay PPs para cortafuegos hay PPs para bases de datos para sistemas operacionales para sistemas operativos etcétera ¿de acuerdo? vale luego está el elemento que estamos evaluando en sí que es el TOE el objeto de evaluación ¿vale? Target Objective Evaluation ¿vale? que es que es lo que estoy evaluando sobre ese TOE yo le aplico el PP ¿vale? es decir las pruebas que yo voy a realizar ¿vale? las aplico hay un tipo de PP específico para cada tipo ¿vale? es un lenguaje un poco absurdo pero bueno las siglas son así ¿de acuerdo? ¿vale? y el objetivo de seguridad es lo que yo quiero conseguir en el TOE lo que yo quiero certificar es decir cuál es mi meta cuál es el objetivo de lo que yo quiero conseguir ¿vale? para obtener esa esa certificación ¿de acuerdo? ¿vale? bueno hay un catálogo de componentes de seguridad ¿vale? bueno ir midiendo distintos aspectos ¿cómo son las auditorías? si se borran las auditorías si queda registro que se han borrado que tengan soporte bibliográfico protección de datos para el usuario identificación autenticación que haya parámetros de confidencialidad ¿vale? cosas que ya hemos ido viendo que haya programas de apayos que haya programas de comunicación seguros etcétera y en función de eso tenemos estos niveles los que veis aquí ¿vale? por ejemplo Windows 2008 si no recuerdo mal creo que era EAL4 Plus ¿vale? EAL4 un poquito mejorado esto sería Windows según lo que tú quieras lo que os decía antes a lo mejor en un entorno militar o en una central nuclear pues yo no lo sé exactamente pero a lo mejor ahí solo puedes utilizar dispositivos que tengan un nivel de seguridad más elevado ¿vale? ¿de acuerdo? bien eh bueno esas son las conclusiones ¿vale? eh todo sistema operativo tiene una parte conocida como su sistema de seguridad que interactúa con el resto del sistema lo hemos comentado lo hemos visto en el kernel del Linux ¿vale? los sistemas operativos y los productos utilizados debían estar certificados en un grado que cumpla las condiciones de nuestra política de seguridad fijaros que esto es importante si yo tengo una empresa que tiene unos datos que son poco digamos de seguridad ¿vale? no voy a poner unas medidas de seguridad extremas para datos que no lo merecen ¿vale? los protocolos que se usan son de la familia IP ya lo hemos visto algunos de ellos usan TCP otros usan UDP ¿vale? y otros no que son los de acrutamiento el protocolo IPNP ¿de acuerdo? se puede conseguir mejorar por defecto la seguridad de TCP y IP usando IPsec esto se puede usar con normas como el Common Criteria que permite certificar que los productos que estamos usando tienen un determinado nivel de seguridad ¿vale? ¿de acuerdo? bueno os tengo que dejar ya ¿vale? se ha pasado la hora porque tengo que dejarme la hora libre yo os invito a que hagáis estos ejercicios este documento os lo podéis descargar ¿vale? en la barra de herramientas ver tenéis un icono con una carpeta lo podéis descargar ahora ¿de acuerdo? de todas formas si no yo lo voy estará publicado también en el grupo de tutoriales así que bueno yo por mi parte nada más y recordaros que la semana que viene vamos a seguir utilizando la misma sala de web conferencia que estamos utilizando ahora ¿vale? así que bueno me despido siempre ha venido tan rápido y tan denso pero bueno es que había mucho contenido y hemos tenido un problema inicial así que espero que en el próximo día sea un poquito más llegado bueno pues me despido un saludo ya para todos ¿vale? venga hasta luego un saludo hasta luego