viernes, 11 de octubre de 2013

Introducción a Iptables


origin_100250487
Para todos los que inician el camino hacia Linux, la seguridad es algo que preocupa, ya que cuando se busca un antivirus u otra aplicación de seguridad para la distribución elegida, son pocas las opciones que se encuentran. Esto se debe a que de por sí, Linux trae implementada una de las mejores (si no la mejor a mi punto de vista personal) medidas de securización que se pueden encontrar, Iptables. Iptables es un potente firewall que Linux integra en el propio Kernel y que forma parte del proyecto netfilter (compuesto por IPtables, ip6tables, ebtables, arptables e ipset). Este cortafuegos, al igual que su predecesor Ipchains, es totalmente configurable, tanto por línea de comandos, sin necesidad de instalar nada en el sistema, o mediante alguna interfaz gráfica que ya son varias las que circulan por la red. Es cierto que ha tenido alguna vulnerabilidad conocida durante su existencia, como el que permitiese la realización de ataques DoS (Dennied of Service o denegación de servicio), pero no es ni mucho menos tan ‘frágil’ como puede llegar a ser un servidor que tengamos que iniciar aparte del equipo para que vigile la red y que en cualquier momento se pueda caer, o como alguna aplicación de terceros que mantengamos en servicio escuchando ciertos puertos.
IPtables se inicia junto con el sistema y se mantiene activo todo el tiempo, adecuándose y aplicando a todo el tráfico de red las reglas que se le hayan configurado previamente. Para explicarlo de una forma muy simplista, tenemos que abstraernos del equipo y olvidar por un momento toda la configuración específica de nuestra máquina. Teniendo en cuenta que las reglas de IPtables están a nivel de Kernel, el Kernel lo que recibe es un paquete de datos y decidirá qué hacer con él. Es ahora cuando, dependiendo de si el paquete es para nuestro equipo o para otro, consultará las reglas de IPtables y decidirá lo que hará con el paquete según dichas reglas. Según la configuración aplicada, el paquete de datos de red pasará por nuestro equipo sin ser procesado, entrará se procesará y saldrá, o directamente será devuelto.

Tipos de tablas

Existen tres tipos de tablas en IPtables y os las presentamos en orden de posible aplicación:

Tablas MANGLE

Las tablas MANGLE, se encargan de la modificación de los paquetes, como los TTL o TOS por ejemplo, en el momento que se le especifique. No es utilizada normalmente por lo que no nos detendremos mucho en este apartado. Sólo comentar que hasta el Kernel 2.4.17 se componía de 2 cadenas; PREROUTING para modificar los paquetes entrantes antes de enrutarlos hacia el siguiente nivel de IPtables, y OUTPUT para alterar paquetes generados localmente antes de enrutarlos. Desde el Kernel 2.4.18 tres nuevas cadenas se implementaron en las tablas MANGLE; INPUT para modificar paquetes entrantes, FORWARD para alterar paquetes que a continuación serán enrutados a través de IPtables y POSTROUTING para cambiar paquetes que están listos para salir.

Tablas NAT: PREROUTING, POSTROUTING

Las tablas NAT (network address translation o traducción de direcciones de red) serán consultadas cuando un paquete cree una nueva conexión. Permiten compartir una dirección IP pública entre muchos equipos, lo que es imprescindible en muchas situaciones por la escasez de direcciones IPv4. También permiten añadir reglas que modifican las direcciones IP de los paquetes. Contiene dos tipos principales de reglas, SNAT (o IP masquerading) para cambiar la dirección de origen y DNAT (o Port Forwarding) para las direcciones de destino. Contiene tres cadenas de modificación, PREROUTING para modificar paquetes tan pronto lleguen al equipo, OUTPUT para alterar paquetes generados localmente antes de enrutarlos y POSTROUTING para modificar paquetes que están listos para salir del equipo.

Tablas de Filtrado: INPUT, OUTPUT, FORWARD

Las tablas de filtrado se utilizan por defecto para el manejo que los paquetes de datos. Es responsable del filtrado de dichos paquetes según la cadena que esté configurada para cada uno de ellos hacia un destino u otro, o bloquearlo. Todos los paquetes pasan a través de esta tabla, que contiene tres cadenas predefinidas: INPUT (ENTRADA) con la que todos los paquetes destinados a este sistema atraviesan esta cadena (y por esto se la llama algunas veces LOCAL_INPUT o ENTRADA_LOCAL),OUTPUT (SALIDA) para todos los paquetes creados por este sistema atraviesen esta cadena (a la que también se la conoce como LOCAL_OUTPUT o SALIDA_LOCAL) y FORWARD (REDIRECCIÓN) con la que todos los paquetes simplemente pasan por este sistema para ser encaminados a su destino recorren esta cadena.
Cada paquete de red recibido o enviado desde un sistema Linux está sujeto a al menos una tabla. Sin embargo, un paquete puede estar sometido a múltiples reglas dentro de cada tabla antes de emerger al final de la cadena. La estructura y propósito de estas reglas puede variar, pero normalmente buscan identificar un paquete que viene de o se dirige hacia una dirección IP en particular, o un conjunto de direcciones, cuando utiliza un determinado protocolo y servicio de red.
Independientemente de su destino, cuando un paquete cumple una regla en particular en una de las tablas, se les aplica un objetivo (target) o acción a ellos. Si la regla especifica un objetivo ACCEPT para un paquete que coincida, el paquete se salta el resto de las verificaciones de la regla y se permite que continúe hacia su destino. Si una regla especifica un objetivo DROP, a ese paquete se le niega el acceso al sistema y no se envía nada de vuelta al servidor que envió el paquete. Si una regla especifica un objetivo QUEUE, el paquete se pasa al espacio del usuario. Si una regla especifica el objetivo opcional REJECT, el paquete es descartado, pero se envía un paquete de error al que envió el paquete.
Cada cadena tiene una política por defecto de ACCEPT (aceptar), DROP (eliminar), REJECT(rechazar), o QUEUE. Si ninguna de estas reglas en la cadena se aplican al paquete, entonces el paquete es tratado de acuerdo a la política por defecto.

Tipos de Targets

Estas políticas son conocidas también como Targets (objetivos) para las cadenas anteriormente citadas y los más comunes son:

Target ACCEPT

Un vez que el paquete cumple la todas las condiciones que hayamos especificado, si usamos la opción -j ACCEPT el mismo será aceptado y no recorrerá más reglas de la cadena actual y de ninguna otra de esa misma tabla. Esto es importante aclararlo ya que el paquete puede ser eliminado en otra tabla.

Target DROP

Un vez que el paquete cumple la todas las condiciones que hayamos especificado, si usamos la opción -j DROP el mismo será bloqueado y no será procesado en ningún otra cadena ni tabla.
Esto puede traer como inconveniente dejar sockets muertos y en muchos casos conviene usar el target REJECT

Target REJECT

Este módulo tiene el mismo efecto que «DROP», excepto que al remitente se le envía un mensaje de error  ICMP «port unreachable»

Target QUEUE

Se utiliza para procesar los paquetes que llegan por un determinado proceso, independientemente de que vayan o no dirigidos a él.
Hasta aquí la información más básica acerca de IPtables. Con esto deberíamos ser capaces de entender cómo funciona este excepcional cortafuegos. Muy pronto publicaremos cómo configurarlo, suscribiros para no perdéroslo!

Kali Linux en ves de Backtrack para seguridad en redes


22 Pasos para aumentar la seguridad de tu red.


origin_2057169454-370x260
La seguridad es algo que todos tenemos que tener en cuenta y a lo que todos en algún momento tendremos que hacer frente. Mientras que saturamos nuestros equipos con herramientas que nos ‘defienden’ de ciertas amenazas (antivirus para los virus, anti-spywares para los spywares, antitroyanos… bueno se entiende…), hay algo mucho más fácil, y es securizar nuestra red (sin olvidarnos luego de nuestros equipos, claro está). Para esto existen varias distribuciones Linuxque nos proporcionan unas suites completas de aplicaciones para satisfacer nuestra necesidad de seguridad. Uno de los más conocidos (y eso que es bastante reciente) es Kali Linux (sucesor de Backtrack, ya que casi el equipo de desarrollo completo de Backtrack está tras su creación y mantenimiento). Existen otros como BackBox, Deft, Bugtraq, Ronin, Matriux Krypton, Pentoo, Caine, etc… Unos son más ligeros, otro están más orientados a la detección de vulnerabilidades web, algunos son más eficaces es sus versiones portables, pero nos centraremos con el que consideramos más equilibrado en muchos de estos aspectos. Kali
Linux nos permitirá securizar nuestra red, además de ejecutar análisis forenses a nuestras máquinas o equipos comprometidos. Una alternativa más segura, es dejarlo instalado permanentemente en un equipo y mantenerlo ‘vigilando’ la red y los equipos de esta.
Pero hoy, vamos a securizar lo máximo posible sin perder privilegios de navegación o acceso a webs, mediante Kali Linux, sus herramientas y una aplicación extra (Metasploit). Usaremos primeramente esta distribución para pasar por un conjunto de medidas, analizar y comprobar la seguridad de nuestra red local. Sólo veremos un subconjunto de entre la infinidad de herramientas disponibles en Kali Linux, pero aprenderemos algunas técnicas básicas para supervisar los sistemas y poner a prueba sus defensas.
Indicaremos en unos sencillos pasos el camino al principio de la seguridad:
Paso 01.
Descargar e Instalar.
El primer paso como es obvio, es hacernos con una copia de Kali Linux para poder operar con ella. Más abajo, al final del proceso encontraréis los enlaces a los recursos utilizados. En la página de descarga se nos proporcionan los enlaces de descarga en varios formatos y para distintas arquitecturas. Lo más común es descargar una ISO y, o bien grabarlo en un CD de la forma tradicional, o lo que recomendamos, que es crear una unidad USB Booteable (USB de arranque).
Paso 02.
La detección del hardware.
Un extra que nos ofrece Kali Linux, es la posibilidad de comprobar nuestro hardware antes siquiera de iniciar el sistema. Lo cual es recomendable para ver que trabajaremos con un hardware libre de problemas como sectores defectuosos en disco, memoria RAM dañada, etc…
Paso 03.
Netdiscover.
Una de las primeras cosas que deberemos hacer una vez iniciemos nuestro sistema de ‘pentesting’, es conocer quién o qué está en nuestra red. Netdiscover nos ofrece una herramienta para hacer la asignación de direcciones IP de nuestra red, que es especialmente útil en las redes WI-FI que no usan DHCP.
Paso 04.
Flujo TCP.
Una vez que tengamos la lista de hosts (equipos o personas en la red), nos interesará ver qué tipo de comunicación se está llevando a cabo sobre nuestra conexión. Tcpfl Ow supervisará el tráfico que esté circulando por la red, y lo reconstruirá para poder analizarlo para así poder ver en qué se usa nuestro ancho de banda.
Paso 05.
Intrace.
Una vez que sepas qué tipo de conversaciones se están produciendo en la red, podemos querer saber lo que enruta las conversaciones que se llevan a cabo. Intrace nos da una lista de enrutamientos para observar las trayectorias de los paquetes fl monitorizados de nuestra red.
Paso 06.
Zenmap.
Después de identificar los hosts de la red, tendremos que ver qué puertos tienen abiertos y lo que sus sistemas están ejecutando mediante ellos. La aplicación indicada para esto es Zenmap, que es el front-end (o interfaz de usuario) que normalmente se usa para Nmap.
Paso 07.
Sqlninja.
Ahora tenemos que empezar a meternos en cuestiones de seguridad. Microsoft es un buen saco de boxeo cuando se trata de seguridad, y SQL Server no iba a ser la excepción. La mayoría de las redes corporativas usan software de Microsoft, lo único que necesitamos saber es cómo están configuradas, para que Sqlninja pueda usar técnicas como SQL Injection (Inyección SQL), para vulnerar nuestro sistema y hacerse con nuestros datos.
Paso 08.
Acccheck.
Otro de los servicios que viene siendo un punto débil en nuestros sistemas es el sistema de compartición de archivos SMB (Samba). Acccheck se utiliza para ejecutar un ataque por diccionario de contraseñas y tratar de romper la autorización de Windows. Los diccionarios de contraseñas son básicamente archivos de texto con cientos, miles o millones de palabras o combinaciones de estas con la idea de que algún programa vaya usándolas una y otra vez en formularios de registro, logueo, acceso de privilegios hasta dar con una combinación adecuada y conseguir un acceso no autorizado. Los más  ’completos’ llegan a pesar sobre unos 20Gb; y son fácilmente localizables en internet.
Paso 09.
Modo Forense.
Si tras lanzar estos ataques a su propia red, considera que puede haber algún equipo comprometido, debemos ser cuidadosos y meticulosos al analizarlo. Kali Linux nos proporciona multitud de herramientas para el análisis forense de redes y equipos, además de que al arrancar Kali Linux, deja todas las unidades locales sin montar ni tocar, así podemos realizar todas las pruebas que necesitemos llevar a cabo sin cambiar el estado del sistema.
Paso 10.
Descifrado de contraseñas Offline.
Una de las cosas que deberemos investigar es si la máquina ha sido comprometida debido a contraseñas de seguridad débiles. Existen varias herramientas que pueden utilizarse para tratar de romper hashes de contraseñas, como por ejemplo ‘John the Ripper’, que utiliza ataques por diccionario para dar con las contraseñas objetivo.
Paso 11.
Guymager.
En algunos casos, la máquina a analizar puede ser demasiado importante para dejarla fuera de la red, incluso aunque fuera por unas horas. Por lo que la única opción sería clonar el disco, o hacer una imagen de la unidad para investigarla más afondo, antes de restaurarla en el equipo. Guymager es una herramienta implementada en Kali Linux que tiene esto que indicamos como propósito.
Paso 12.
Chkrootkit.
Una de las comprobaciones que deberemos hacer será comprobar si tenemos instalado un rootkit (proporcionaría una entrada a ‘los malos’ con privilegios totales sobre la máquina). Chkrootkit nos informará si existen estos rootkits en nuestro equipo que traten de hacerse cargo del control del mismo.
Paso 13.
Ingeniería Social.
Sin duda, uno de los aspectos de la seguridad que más descuidamos todos. Por más que securicemos un equipo, o una red, de nada nos servirá si los usuarios no mantienen el nivel de seguridad proporcionado. Kali Linux proporciona herramientas que pondrán a prueba nuestra seguridad en este campo de la ingeniería socia, con ataques de phishing (envío de mails con identidades suplantadas, o con enlaces a web-apps que comprometan
nuestra red o equipos), por ejemplo.
Paso 14.
Aprovechar las bases de datos.
Además de comprobar el aspecto social, también es necesario para poner a prueba la seguridad de las máquinas por si encontrásemos algún ‘agujero’. Para ello haremos uso de exploits conocidos, que podremos encontrar en una base de datos online, donde se registran y actualizan estas vulnerabilidades.
Paso 15.
Metasploit.
La herramienta habitual para comprobar la accesibilidad de un sistema es Metasploit, que proporciona un parco completo para la elaboración de vectores de ataque completos.
Estos incluyen intrusiones, compromisos de seguridad y canales para permitir el acceso remoto a un sistema infectado. En Kali Linux hay elementos en el menú que nos permitirán iniciar el servidor Metasploit. También encontramos una entrada para ejecutar un volcado de registros de diagnóstico, en caso de que tengamos algún problema con la conexión. Metasploit se ejecuta con un modelo cliente-servidor, así que una vez se inicia el servidor, tendremos que conectar con el cliente con el fin de lanzar algunos exploits contra la máquina indicada.
Paso 16.
Armitage.
Una de las interfaces gráficas disponibles para lo anterior es Armitage. Si ya hemos iniciado el servidor Metasploit, podemos utilizar Armitage para conectar al servidor.
En caso de que no hayamos ejecutado aun el inicio de un servidor, Armitage nos ofrece la posibilidad de poner en marcha un nuevo server de Metasploit para poder lanzar estos exploits e intentar descubrir vulnerabilidades de nuestro equipo.
Paso 17.
p0f.
Una vez hayamos comprobado que tanto equipos como red son seguros, necesitaremos mantener el nivel de seguridad logrado. P0f monitoreará pasivamente la red para ver qué máquinas y qué sistema operativo se ejecutan, y estos no sabrán que p0f está ahí ‘escuchando’.
Paso 18.
Exploits contra el Hardware.
Kali Linux, también nos ofrece un conjunto de herramientas para probar vulnerabilidades en otro tipo de hardware, como pueden ser dispositivos bluetooth, Android o Arduino.
Paso 19.
DDMS.
DDMS es un monitor de depuración que proporciona acceso y control de bajo nivel a máquinas Android. Sólo tendremos que conectar el dispositivo al puerto USB, iniciar DDMS y ver lo que está sucediendo en el sistema Android conectado. Para esto necesitaremos tener el SDK instalado antes de comenzar.
Paso 20.
Exploits de Android – apktool.
Una vez conectado el dispositivo Android, podemos ejecutar varios exploits conocidos para obtener un acceso como root (administrador con permisos totales). Estos variarán en función del tipo de hardware sobre el que se ejecuta el sistema Android. Algunos de estos exploits necesitarán apktool para poder abrir y editar los archivos .APK del dispositivo.
Paso 21.
Bluetooth.
Aquí también tenemos otra posible vía de acceso a una máquina. El protocolo Bluetooth se utiliza para ratones, teclados y otros hardware inalámbricos, pero nunca se pensó firmemente en la seguridad de este protocolo. Kali Linux nos ofrece varias aplicaciones para poder ver las señales Bluetooth que tenemos alrededor y la información que llevan.
Paso 22.
Instalar en ARM.
Los desarrolladores de Kali, han provisto a esta distribución de una compatibilidad muy buena con arquitecturas de procesadores ARM. Donde también se encontrarán guías de cómo instalarlo en dispositivos Android, como por ejemplo un Galaxy Note 10.1, con imágenes de instalación que acompañan el tutorial.
Como conclusión, esperamos que siguiendo estos pasos que hemos descrito, podáis ser conscientes de las necesidades que pudieseis tener en cuanto a seguridad de equipos y redes se refiere. Habéis podido comprobar que esto es prácticamente un índice que sugiere el camino a seguir, y que las herramientas de las que hemos hablado no son más que la punta del iceberg de todo lo que alberga Kali Linux, así que os animamos a descubrir todo lo que puede llegar a ofrecer, siempre orientándonos a mejorar la seguridad de nuestras redes y equipos.
Recursos:
Miguel Cardenas

Seguridad en Apache: modSecurity

Seguridad en Apache: modSecurity



ModSecurity es un firewall de aplicaciones Web embebible bajo licencia GNU  que se ejecuta como módulo del servidor web Apache, provee protección contra diversos ataques hacia aplicaciones Web y permite monitorizar tráfico HTTP, así como realizar análisis en tiempo real sin necesidad de hacer cambios a la infraestructura existente.
mod_security
modSecurity filtra ataques por XSS, SQL Injection, comportamientos anómalos en protocolos, robots, troyanos, LFI … incorporando además reglas específicas para algunos de los gestores de contenido más populares como Joomla o WordPress.
Soporta integración con ModProxy por lo que podemos proteger aplicaciones desplegadas en otros servidores gracias a esta integración.
Además modSecurity cuenta con una consola de administración que permite recopilar registros de monitorización y alertas en tiempo real así como de opciones automatizadas de mantenimiento, entre otras características.
mod_security

Instalación de modSecurity 

A continuación vamos a describir el proceso de instalación de modSecurity 2.7 en Debian, en Ubuntu está disponible en los repositorios.
Las descargas necesarias podemos realizar desde la web oficial del proyecto http://www.modsecurity.org/
1.- Descargamos las fuentes y descomprimimos:
wget https://www.modsecurity.org/tarball/2.7.5/modsecurity-apache_2.7.5.tar.gz
tar -zxvf modsecurity-apache_2.7.5.tar.gz
2.- Instalamos algunas dependencias necesarias:
apt-get install apache2-threaded-dev libxml2-dev libcurl4-gnutls-dev -y
3- Compilamos e instalamos:
cd modsecurity-apache_2.7.5
./configure
make
make install
4.- Cargamos el módulo:
Creamos el siguiente fichero
vim /etc/apache2/mods-available/mod-security2.load
con el siguiente contenido:
LoadFile /usr/lib/libxml2.so
LoadFile /usr/lib/liblua5.1.so.0
LoadModule security2_module /usr/lib/apache2/modules/mod_security2.so
5.- Activamos modSecurity:
Antes de activar modSecurity debemos activar unique_id
a2enmod unique_id
y activamos modSecurity ahora:
a2enmod mod-security2
6.-Configuramos las reglas:
Una vez hemos instalado modSecurity es necesario establecer las reglas que establecerán las condiciones del filtrado de métodos.
Descargamos las reglas de filtrado en /etc/apache2:
cd /etc/apache2
apt-get install git
git clone https://github.com/SpiderLabs/owasp-modsecurity-crs
Una vez descargado veremos varios directorios además de diversas utilidades.
Para una primera aproximación renombraremos modsecurity_crs_10_config.conf.example a modsecurity_crs_10_config.conf:
cp modsecurity_crs_10_config.conf.example modsecurity_crs_10_config.conf
Para finalizar editamos apache2.conf con el siguiente contenido:
vim /etc/apache2/apache2.conf
   
   SecRuleEngine On
   SecRequestBodyAccess On
   SecResponseBodyAccess Off
   SecDebugLog /var/log/apache2/modsec_debug.log
   SecDebugLogLevel 1
   SecAuditEngine RelevantOnly
   SecAuditLogRelevantStatus ^5
   SecAuditLogParts ABIFHZ
   SecAuditLogType Serial
   SecAuditLog /var/log/apache2/modsec_audit.log
   SecRequestBodyLimit 131072
   SecRequestBodyInMemoryLimit 131072
   SecResponseBodyLimit 524288
   SecDataDir  /tmp/
   SecUploadDir /tmp/
   SecTmpDir /tmp/
   Include owasp-modsecurity-crs/modsecurity_crs_10_config.conf
   Include owasp-modsecurity-crs/base_rules/*.conf
   Include owasp-modsecurity-crs/optional_rules/*.conf
   Include owasp-modsecurity-crs/slr_rules/*.conf
Hay que ser cuidadoso con SecDataDir, SecUploadDir y SecTmpDir ya que las aplicaciones que suban ficheros y usen temporales no van a funcionar.
De forma similar, hay que prestar atención a posibles configuraciones de los atributos SecRequestBodyLimit, SecRequestBodyInMemoryLimit, SecResponseBodyLimit que se suelen definir en el archivo apache2.conf. Estas configuraciones nos va determinar las características de subida de archivos a través de nuestras aplicaciones web.
Si todo ha ido bien, pronto comenzaremos a ver en nuestro archivo de logs de Apache, decenas por no decir centenares de logs de este tipo:
[client 192.168.1.154] ModSecurity: Access denied with code 403 (phase 2). 
Pattern match "^[\\\\d.:]+$" at REQUEST_HEADERS:Host. 
[file "owasp-modsecurity-crsbase_rules/modsecurity_crs_21_protocol_anomalies.conf"] 
[line "98"] [id "960017"]
Si queremos ampliar el potencial de filtrado de nuestro módulo podemos acudir a http://www.gotroot.com/mod_security+rules y descargarnos libremente sus colecciones de reglas propias.
Espero que esta primera introducción a modSecurity les sirva para reforzar la seguridad de sus servidores web Apache, tarea primordial en estos tiempos.


saludos

Miguel Cardenas

miércoles, 9 de octubre de 2013

8 buenas prácticas, para evitar la deserción en un curso virtual
Recomendaciones para trabajar sobre las causas de desmotivación que suelen afectar a los alumnos de e-learning, e impedir abandonos. Claves para superar uno de los principales inconvenientes de la formación online.


En la actualidad se habla mucho de la evolución y tendencias del e-Learning, de los beneficios y los aportes que ha realizado a la educación, sin embargo hay muy pocos estudios que respaldan un fenómeno que afecta de igual manera a la educación tradicional, como lo es la “deserción”, en otras palabras “tirar la toalla” si hacemos la analogía del boxeador cuando realiza esta acción para abandonar la pelea.

¿Cuántas personas se han inscrito a un curso virtual y se desmotivan al ver que no era lo que imaginaban?  Varios autores coinciden en que el estudio de la deserción en e-Learning es muy complejo, considerando que hay una diversidad de factores que lo promueven.

Si analizamos estos factores podríamos resumirlos en, aspectos tecnológicos; ya que el estudiante puede enfrentarse con fallas técnicas, difícil acceso a internet o falta de conocimiento para instalar el software requerido para visualizar los cursos.

Aspectos metodológicos, el estudiante tiene una percepción errónea de las modalidades y variantes virtuales existentes (b-learning, c-Learning, d-Learning, etc.) y aspectos de diseño de curso o relacionados a la estrategia de implementación, el estudiante encuentra contenidos no adecuados, mal diseñados y una sobrecarga de lectura.

En función de estos últimos aspectos, les comparto un conjunto de buenas prácticas para evitar la deserción en un curso virtual, desde el punto de vista de diseño y estrategia de implementación.

1. Curso de Inducción: Antes de iniciar un curso virtual, debería ser obligatorio para todos los estudiantes participar en un curso de inducción, en donde ellos se familiaricen con la plataforma, conozcan como realizar las acciones básicas (enviar un mensaje en el foro, saber donde enviar las tareas, conocer si necesita algún software adicional para visualizar los videos/animaciones, etc.), esta práctica garantizará que el estudiante no se pase más tiempo aprendiendo a cómo utilizar la plataforma educativa, que al mismo hecho del aprendizaje del contenido.

2. Ruta de Aprendizaje: Dar a conocer desde el inicio, cual será la ruta que seguirá el estudiante para alcanzar los objetivos trazados en el curso, mejorará la planeación del tiempo de estudio en relación a su trabajo. Este tipo de recurso permitirá visualizar las principales acciones que se llevaran a cabo a lo largo del curso y marcará el ritmo de trabajo. Los estudiantes se lo agradecerán!!

Imagen creada por: @Soniag29

3. Aspecto Social: Una de las principales causas de la deserción es la falta de comunicación y retroalimentación por parte del catedrático hacia el estudiante, es importante generar interacción entre todos los actores del proceso de aprendizaje, esto generará confianza en el participante y tendrá certeza de que existe alguien detrás de la computadora que se preocupa porque se alcancen los objetivos. No olvide crear un foro para consultas técnicas y un foro de cafetería para promover la socialización entre los compañeros.

4. Monitoreo y Seguimiento: En muchas ocasiones el estudiante abandona el curso, sin que el catedrático y/o compañeros se percaten, es decir, de forma silenciosa los participantes se desmotivan y no continúan con sus estudios. Es importante contar con un rol en la parte administrativa del curso, que se encargue de generar informes/reportes periódicos de participación, en donde se refleje el nivel de interacción que ha tenido cada estudiante, de esta manera se podrá identificar las posibles causas que estén generando un indicio de deserción. Es importante complementar estos reportes con una evaluación general al finalizar el curso, esto será un buen termómetro para próximas ediciones.

Dentro del contexto del diseño del curso puedo mencionar:

1. Modelo de Implementación: Existen muchos modelos de aprendizaje, la mayoría de ellos utilizados para la educación tradicional, sin embargo a la hora de diseñar un curso virtual es importante considerar que se debe de cumplir con un ciclo de aprendizaje, el entregar un documento de lectura no garantiza de que el estudiante aprenda, es por tal motivo que utilizar un modelo educativo se hace indispensable. Entre los modelos más utilizados se encuentra, el modelo ADDIE (Análisis, Diseño, Desarrollo, Implementación, Evaluación) utilizado para diseñar los contenidos, el modelo de Kirckpatrick para la evaluación de la formación, y el modelo Gilly Salmon, para el diseño de e-Actividades/e-moderación.

2. Estilos de Aprendizaje: Esta comprobado que no todos aprendemos de la misma manera, se encuentran los Auditivos, Visuales y Kinestésicos y en la modalidad e-Learning no es la excepción. Una de las dificultades a mi parecer que tiene el modelo e-Learning versus el modelo tradicional, es que uno como catedrático puede reconocer desde el primer día de clase las características de los estudiantes, y por ende dirigir el curso conforme avance el grupo. En un curso virtual es un poco mas difícil, es por ello que los cursos deberían de contener diversidad de recursos que faciliten el proceso de enseñanza-aprendizaje.  Imagínense un curso que solo sea lectura!!

3. Analogía de una Capsula: Siempre me gusta hacer la analogía, de que una unidad didáctica, un tema, una semana de clase, debe de ser como una capsula, suficientemente buena para aprender y no tan grande(o doble dosis) como para causar malestar estomacal. A la hora de diseñar siempre utilice una “tabla de tiempo” para estimar el porcentaje de dedicación por parte del estudiante a la hora de realizar todas las actividades solicitadas, su estimación será la mejor aproximación: Después de haber impartido el curso, en el momento de evaluar, incluya una pregunta para que le indiquen algunos aproximados de tiempo de dedicación, seguro que aportara mucho para la próxima vez que imparta el curso.

4. Rubrica de Evaluación: No hay peor cosa que no estar conforme con la nota obtenida por la creación de una tarea, es importante que usted cuente con una rúbrica de evaluación para todas las tareas que solicitará a lo largo del curso y más importante aún, compartirla con todos los estudiantes, de esta manera, se sabrá de antemano cuales serán los aspectos que tendrán relevancia y mayor ponderación.

Existen otros factores externos que incentivan la deserción, tal es el caso  de las características/cualidades que debería de tener un estudiante virtual, pero lo dejare para un próximo articulo.

Gracias a
Miguel Morales, director del área de e-Learning de la Universidad de Galileo y consultor independiente

saludos
Miguel Cardenas