Hoy les voy a comentar sobre la charla que se dio en la EDCOM hoy miércoles 17 de agosto en el auditorio, el conferencista fue el Analista de Sistemas Jorge Cobo graduado de la ESPOL en el año 1999, ahora es el presidente y Arquitecto de Seguridad de la empresa “ViamáticaNetworks”, estuvo acompañado por al Anl. David Salazar, además estuvieron presentes los estudiantes de mi curso de Java, los del Msig. Freddy Veloz, Lcda. Delia Carrión y Lcda. Glenda Jácome.
El tema de la charla fue “Vulnerabilidades en Aplicaciones Web”, puntualmente el tema de XSS (Cross-site scripting) y como los programadores dejan brechas vulnerables a los “hackers” cuando programan una aplicación para internet, sobre todo porque están expuestas de manera pública, menciono que no se toman las medidas de seguridad del caso por desconocimiento de las diferentes tecnologías que usan, además de malas prácticas de desarrollo, la charla fue de lo básico a lo avanzado en temas de phishing, Code injection, Iframe, entre otros temas muy interesantes; para mí, fue de lo mejor y se nota que Jorge conoce muy bien el tema, lo que más llamó mi atención es su punto de vista como programador porque comparto que estos temas son de programadores para programadores, nada de PHD o Masters en seguridad, esos son pura teoría, al final dio algunos consejos para los estudiantes presentes de la EDCOM, además pude grabar la charla así que se las dejo por si se la perdieron, en 3 videos.
No puedo dejar de mencionar que estas charlas le hacen bien a nuestros estudiantes, esto debería repetirse, bien por los directivos de la EDCOM en la apertura, sin dejar de mencionar a los mentalizadores y equipo tras bambalinas, pero nos faltó difusión.
La crítica de la nota fué la falta de conocimiento técnico de nuestros estudiantes y conceptos, porque en algunos momentos Jorge planteaba la pregunta ¿Han escuchado de tal tecnología? Y los estudiantes presentes no la conocían, habrá que conversar con los profesores de Diseño de Sitios Web y Programación de Sitios Web, para saber que está pasando, a lo mejor se está enseñando puro Adobe Dreamweaver y nada más.
Les quiero comentar que hoy en día hablar de aplicaciones Web es muy común, incluso en las empresas, ya que estas están comenzando a plantear que sus sistemas internos que corren como aplicaciones de escritorio, instaladas en sus equipos locales con algún servidor en su intranet se migren al Internet, entonces la principal diferencia con una aplicación web es que los usuarios pueden utilizarla accediendo a un servidor web (Windows o linux) a través de Internet o de una intranet mediante un navegador que puede ser Internet Explorer, Mozilla FirexFox entre otros, por ejemplo Wikipedia, Gmail, Hotmail, Mercadolibre, Ebay, Amazon, Youtube, Sitios de compra entre otros; son ejemplos claros de estos sistemas web enriquecidos.
Las ventajas que presentan estas aplicaciones son diversas pero las más importantes son:
Pero me voy a centralizar desde el punto de vista de las herramientas, que es lo que debe saber el programador para crear este tipo de aplicaciones, primero que nada la base será el lenguaje HTML y Javascript; aquí podemos utilizar algún buen editor y diseñador de páginas las alternativas:
Luego este programador debe conocer por lo menos uno de los lenguajes de programación para el web, del lado del servidor, que le permita interactuar o conectarse con un motor de base de datos, las alternativas son:
Para los datos y su portabilidad el ganador indiscutible es XML y XSD; el motor de la base (RDBMS) puede ser cualquiera, sea un MySql, Oracle, Microsoft SqlServer, DB2, Informix entre otros.
El servidor web en cuanto al Sistema Operativo puede ser un Linux que tenga instalado Apache que es el servicio que expone el servidor web de aplicaciones, y en Windows Server deberá estar el IIS (Internet Information Server) que hace lo mismo que Apache pero en Windows, otro servicio que se está usando bastante es JBoss con la misma finalidad.
Por último siempre estarán las tecnologías que complementan al desarrollador para mejorar aspectos más puntuales en estas aplicaciones y enriquecerlas tales como:
Para concluir en todos estos lenguajes siempre estará presente el conocimiento de la Programación Orientada a Objeto, las mejores prácticas de desarrollo, el uso de librerías para reutilización de código, el uso de protocoles de comunicación seguros como HTTPS, Firmas Digitales, Canales Seguros; ya que si la aplicación esta en el internet se expone a lo que yo llamo “El salvaje Oeste”, lleno de Hackers.
Quisiera terminar este artículo diciendo, que si se me escapó algún lenguaje o tecnología pido las disculpas del caso, ya que lo he escrito desde mi humilde experiencia, espero haber aclarado esto del desarrollo de aplicaciones web, tanto para mis estudiantes como amigos en general.