Spiga

Test de intrusión (y II)

Hola,

Estas diapositivas del curso Seguridad Informática y Alta Disponibilidad del Ciclo Formativo de Grado Superior de Administración de Sistemas en red , son la segunda parte de un tema en el que estamos estudiando las técnicas de ataques y los tipos de amenazas a las que se enfrentan las organizaciones en la actualidad.

En concreto, en esta segunda entrega seguimos hablando de los Test de intrusión o test de penetración (pentest), un método para evaluar la seguridad de un sistema informático simulando un ataque desde una fuente maliciosa.

Si en la primera parte  nos centramos en las técnicas de recopilación de información, hoy vamos a estudiar la búsqueda de vulnerabilidades para los sistemas descubiertos, la explotación de dichas vulnerabilidades y la generación de informes para su corrección.

Estas presentaciones son obras derivadas del artículo Test de intrusión de Chema Alonso y de los seminarios de formación impartidos por Antonio Guzmán y Marta Beltrán de la URJC de Móstoles.



Preparar una charla sobre Scratch para 80 niños de 8 años

Junto a mi compañero Alberto Molina el viernes pasado ofrecimos una charla sobre Scratch a unos 80 niños de 2º de primaria (7 u 8 años) del CEIP Ortiz de Zúñiga de Sevilla. La experiencia fue magnífica tanto para los alumnos, tal y como nos han transmitido sus maestras, como para nosotros, que pasamos un ratito muy divertido y emocionante... ¡nunca nos habían ovacionado así! :-)

En esta entrada quiero contar cómo preparamos la charla, las actividades previas que se realizaron en el colegio y los resultados de la misma, por si puede servirle a alguien para animarse a realizar iniciativas de este tipo con estudiantes tan jóvenes.

Tras ponerse en contacto las maestras con nosotros, ya que estaban trabajando la unidad del ordenador en clase, nos pidieron si podíamos enseñarles otros usos del ordenador más allá de los tradicionales. Así que pensamos que deberíamos preparar una sesión que ayudara a los niños a ver que los ordenadores no son máquinas que vienen ya hechas y simplemente las usamos, sino que se pueden tocar, cambiando el esquema de consumidores a creadores. En esta línea pensamos que Scratch, el software de creación de videojuegos desarrollado por el MIT, podría ser la herramienta a utilizar, ya que permite realizar cosas muy vistosas y llamativas de forma muy sencilla. Además, esta aplicación está instalada en los ordenadores de los centros educativos andaluces y los propios estudiantes serían capaces de instalarla y utilizarla en sus casas si así lo desearan.

Fase I: actividades previas

En lugar de crear los videojuegos que se nos ocurrieran a nosotros, pensamos que podría ser más interesante si utilizábamos personajes e ideas de los propios alumnos, así que las maestras les pidieron que se inventaran un videojuego y que realizaran una redacción en la que describieran el argumento junto con los dibujos de los personajes. Con estos argumentos (¡¡hay que ver qué imaginación tienen a esa edad!!), preparamos la base de varios juegos para terminarlos con ellos durante la sesión.






Imagen 1. Dibujos de los personajes de los videojuegos inventados por los alumnos


Fase II: La sesión

Comenzamos la actividad explicando por qué estábamos allí (ya que las maestras no habían querido contar nada para que fuera una sorpresa) y, para llamar su atención, elegimos un juego que todos conocieran para editarlo y modificarlo a nuestro antojo. El elegido fue esta versión de angry birds para Scratch. Tras enseñárselo y jugar una partida rápida, les mostramos el código del juego y les explicamos que esas instrucciones marcaban el comportamiento de los personajes, y que podíamos modificarlas a nuestro gusto. Y así fuimos preguntándoles qué cosas querían cambiar y realizando modificaciones, como aumentar la velocidad, hacer que los pájaros rebotasen contra las paredes, cambiar los sonidos, provocar explosiones...

A continuación, ya con el público entregado ;-), creamos un par de juegos partiendo de la base que habíamos preparado previamente utilizando los personajes y los argumentos que ellos habían ideado.



 
 Imagen 2. Juego de un hada perseguida por un monstruo



 Imagen 3. Juego de la hamburguesera


A continuación realizamos un juego sobre las tablas de multiplicar, que los alumnos están trabajando en este momento del año, ambientado con una fotografía de una de sus clases que nos habían pasado las maestras.


 Imagen 4.Juego de las tablas de multiplicar
 

Y terminamos la sesión con una serie de preguntas para que los estudiantes pudieran resolver las dudas que les hubieran surgido. Durante toda la charla fuimos entregando pegatinas de Scratch que habíamos preparado para que todos los niños pudieran llevarse una a casa.



Fase III: actividades posteriores

Al finalizar la sesión se le hizo entrega de una carta para los padres de los alumnos en la que se explicaba el objetivo de la visita y se les daba información por si estaban interesados en seguir investigando en casa con sus hijos:


Estimados padres y madres,

Aprovechando que estos días hemos trabajado una unidad sobre ordenadores y tecnología, en el día de hoy 
hemos tenido la visita de dos profesores de informática que han colaborado con nosotros
en el desarrollo de la actividad "Aprendiendo a programar con scratch". El objetivo de esta
actividad es hacer ver a los niños cómo funciona un programa de ordenador, pero hacerlo de una 
forma divertida y amena mediante la aplicación "scratch" que permite que los niños creen sus propios juegos
de manera sencilla.

Este tipo de actividades se enmarca dentro de un movimiento global que fomenta un cambio de actitud en los 
niños frente a la tecnología, para que pasen de ser simples consumidores a creadores.

http://sociedad.elpais.com/sociedad/2013/03/07/actualidad/1362689630_904553.html

En la actividad de hoy hemos creado varios juegos con la ayuda de los niños y los tendréis a vuestra 
disposición en el blog del colegio.

Si estáis interesados en saber más acerca de este tipo de actividades o si queréis continuar aprendiendo
en casa con vuestros hijos podéis visitar el sitio web de scratch:

http://scratch.mit.edu
 


Y durante los días posteriores las maestras han seguido realizando tareas en el colegio relacionadas con la sesión de Scratch. Por ejemplo, han pedido que enviaran una postal a un amigo contándole la experiencia, y les han solicitado también que nos envíen una carta explicándonos lo que les pareció la actividad. Todas las cartas que hemos recibido son muy divertidas, pero hay dos que nos han encantado y de las que os ponemos un pequeño extracto:

Queridos Alberto y Jesús, quiero daros las gracias por todo. Quiero invitaros a un helado. Pago yo.

Hola, Alberto y Jesús. Me gustó mucho lo del otro día. Lo hice en mi casa y estaba muy chulo. Hacéis unas cosas chulísimas.

En conclusión, fue una experiencia estupenda de la que disfrutamos muchísimo. Y consideramos que es una forma sencilla de acercar a los estudiantes más jóvenes a las creaciones tecnológicas, fomentando un uso diferente de las TIC.

¡Un saludo!

Configuración de VLANs 802.1q en Linux

En esta entrada vamos a presentar un ejemplo de configuración de VLANs 802.1q en un switch gestionable Dell Power Connect 3024 y en un servidor GNU/Linux (Debian) para ilustrar el funcionamiento de este estándar. La división de la red en diferentes VLANs tiene el objetivo de aislar el tráfico entre los equipos que pertenecen a distintas VLANs, incluyendo el tráfico de broadcast, mejorando así el rendimiento y la seguridad.

La red que se quiere configurar se resume en el siguiente diagrama, en el que se puede observar que se cuenta con dos equipos, pertenecientes a las VLAN 2 y 3 y que se encuentran conectados a los puertos 2 y 3 respectivamente, y un servidor Debian con una única interfaz de red que se encuentra conectado al puerto 1. 



Por defecto, el switch viene configurado con una única VLAN 1, de la que son miembros todos los puertos del switch.


Por tanto, es necesario crear las otras dos VLANs, seleccionando los puertos adecuados.  En este paso hay que definir si los puertos que pertenecen a cada VLAN son etiquetados (Tagged) o no etiquetados (Untagged).
  • Los puertos etiquetados son aquellos por los que el switch envía las tramas añadiendo una etiqueta de 4 bytes que, básicamente, identifica la VLAN a la que pertenece cada trama. Estos enlaces por los que viajan tramas que pueden pertenecer a diferentes VLANs se llaman trunks, y a ellos suelen conectarse otros switches que necesitan conocer de qué VLAN viene cada trama para decidir si debe o no enviarla por el puerto destino, servidores que implementen VLANs o, por ejemplo, puntos de acceso MultiSSID que hagan uso de este estándar.
  • En los puertos no etiquetados se encuentran conectados máquinas o dispositivos que no requieren conocer la VLAN a la que pertenece la trama, por lo que la etiqueta no es enviada.
En nuestro ejemplo, los puertos a los que están conectadas las máquinas serán marcados como Untagged, mientras que el puerto al que se conecta el servidor Debian, que sí requiere conocer la VLAN a la que pertenece cada trama, será marcado como Tagged.



Además de definir los puertos miembros de cada VLAN, es necesario configurar el PVID (Primary VID o Default Port VLAN) de cada puerto, que establece la VLAN con la que se etiquetará cada trama que llegue desde un puerto cuando ésta venga sin etiquetar.


La configuración del switch ya está lista. Ahora debemos configurar las VLANs en el servidor Debian.

Para ello, en primer lugar, es necesario cargar el módulo 8021q:

# modprobe 8021q

La herramienta de espacio de usuario que permite al administrador configurar VLANs es vconfig, que en Debian se encuentra en el paquete vlan, y su sintaxis es muy sencilla:

vconfig add interfaz vlanID

En nuestro ejemplo, como el servidor sólo dispone de una interfaz, eth0, se configuran las VLANs 2 y 3 sobre este adaptador (evidentemente el ID de las VLANs debe coincidir con los que se usan en el switch):

# vconfig add eth0 2
# vconfig add eth0 3

Puede comprobarse en el fichero /proc/net/vlan/config si las VLANs se han creado correctamente:

# more /proc/net/vlan/config

VLAN Dev name     | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth0.2         | 2  | eth0
eth0.3         | 3  | eth0


Como puede verse, se han generado dos interfaces virtuales (eth0.2 y eth0.3) asociadas a eth0, y estas interfaces deben levantarse y configurarse con la dirección que corresponda. Por ejemplo:

# ifconfig eth0.2 up
# ifconfig eth0.2 192.168.2.1

# ifconfig eth0.3 up
# ifconfig eth0.3 192.168.3.1

(Suponiendo que  en la VLAN 2 se está usando el direccionamiento 192.168.2.0/24 y en la VLAN 3 se utiliza el 192.168.3.0/24)

¿Cómo funciona esta implementación en Linux? Cada vez que se envíe un paquete desde la interfaz eth0.2, se añadirá a la trama la etiqueta con el ID 2 y se enviará al switch a través de eth0. Y cada vez que se reciba un paquete en eth0 que venga etiquetado con el ID 2, se retirará la etiqueta y se reenviará a la interfaz virtual eth0.2.

¡Y esto es todo! A partir de este momento las máquinas sólo tendrán comunicación con la interfaz del servidor que pertenece a su VLAN, y estarán aisladas del resto de equipos conectados a otras VLANs.