Tarsis.net — Agencia Web y Marketing Digital — Tel: (+34) 911 413 259 EN

Tarsis.net - Consultoría y Agencia Internet para empresas
Tarsis.net › Agencia Web y Marketing Digital

Archivo de la categoría ‘Tecnología’

¿Qué es un CDN y cuáles son sus ventajas?

Tarsis.net

Una red de distribución de contenidos (Content Distribution Network, CDN) es un sistema pensado para mejorar los tiempos de carga de nuestras páginas en todo el mundo a la vez que puede mejorar considerablemente la seguridad de nuestros sitios web.

En los últimos años hemos visto proliferar servicios de distribución de contenidos, que prometen mejorar la experiencia del usuario que visita nuestros sitios web. Hasta hace poco tiempo este tipo de servicios estaban reservados a grandes productores de contenidos, como cadenas de televisión, periódicos o grandes servicios on-line, pero la situación ha cambiado una vez más y hoy están al alcance de cualquier sitio web.

Pero, ¿cómo funcionan y qué ventajas tienen estos sistemas? Empecemos por un concepto interesante.

Su sitio web, más seguro y más rápido. Contacte con nosotros.

Proxy inverso

El mecanismo utilizado habitualmente por un CDN es el llamado proxy inverso. Normalmente un proxy es un sistema interpuesto a través del cual un usuario adquiere páginas de sitios web (simplificando el caso), mientras que almacena (caché) en nombre del cliente los contenidos más pesados o estáticos, tales como imágenes, Javascripts o ficheros de estilos CSS. Puesto que el almacenamiento de los contenidos es muchas veces local, y el proxy lo utilizan un cierto número de usuarios, esos contenidos cacheados son accesibles mucho más rápidamente en tanto estén incluidos en la caché del proxy.

Un proxy inverso realiza una función parecida, pero en no en nombre del cliente, sino del servidor web. En esta variante, un cliente habla con el proxy inverso, como si fuera el servidor web, pero en realidad está hablando con un sistema que está cacheando los contenidos estáticos del servidor web, con el fin de servirlos más rápidamente, dado que este sistema cuenta con optimizaciones de caché y mejor conectividad que la mayoría de los servidores web que alojan sitios.

Una nota aclaratoria: no todos los CDN utilizan un sistema de proxy inverso. Algunos de ellos utilizan un mecanismo de colecciones de contenido, en el que el administrador de un sitio web, por medios manuales o automatizados, sube esos contenidos estáticos a un servidor del CDN, que se encarga de replicarlos a toda la red.

Incrementando la velocidad

Veamos ahora cómo se produce una petición a un servidor web, por ejemplo www.miservidor.com: El cliente teclea el nombre del dominio como tiene costumbre, sólo que, mediante una configuración precisa del DNS, es el CDN el que responde a la petición.

CDN

El CDN tiene en su caché muchos de los elementos estáticos de la página solicitada, y conecta con el servidor web real para pedirle aquellos que aún no tenga y los contenidos dinámicos. Todos estos contenidos son servidos por el proxy inverso al usuario de forma transparente, ganandose en rapidez de la transacción, siendo el CDN quien carga con el mayor peso en el momento de atender la solicitud.

Ubicuidad geográfica

El CDN tiene además como uno de sus puntos fuertes el tener presencia en múltiples localizaciones geográficas de Internet. Cuando uno de los servidores del CDN adquiere nuevos contenidos del servidor web real, replica esos contenidos en todos los servidores del CDN (con las reglas de caducidad de contenidos que se establezcan), por lo que la ganancia en velocidad de carga de las páginas se multiplica geográficamente.

Un CDN está distribuido geográficamente

La próxima vez que un usuario de Chile quiera acceder a su web, no lo hará a su servidor ubicado en España, ni al servidor de CDN ubicado en Londres, sino al más cercano al usuario, quizá en Argentina, en Brasil, o en el propio Chile. Y si el más cercano está atravesando dificultades técnicas, el siguiente servidor del CDN más cercano se hará cargo de atender la petición.

Aumentando la seguridad

Pero, ya que un sistema de proxy inverso establece necesariamente un intermediario entre nuestro servidor y el usuario, ¿no sería perder una oportunidad de oro para incluir nuevas funcionalidades que impidieran por ejemplo acciones de delincuentes informáticos o spammers?

Efectivamente, algunos CDN integran funciones más allá de la mera mejora de las prestaciones, manejando sistemas inteligentes que evalúan las peticiones enviadas a nuestro servidor web en función de una serie de parámetros que sirven para clasificarlas como legítimas o sospechosas.

Por ejemplo: ¿Una petición que viene de Moldavia? ¿una petición que incluye en la URL determinados parámetros con valores sospechos susceptibles de producir un ataque a nuestra base de datos? ¿una petición que llega desde una dirección IP que figura en varias listas negras de spammers? ¿una petición repetida una y otra vez en intervalos inferiores a un segundo?

En resumen: el CDN está realizando labores de cortafuegos (firewall), literalmente en varios niveles: IP, geolocalización, aplicación, valoración del comportamiento de navegación.

firewall_aplicacion

Todas esas sospechas son tratadas por el CDN para evitarnos sorpresas desagradables, siendo muchas de las políticas de tratamiento de esas sospechas configurables por el usuario.

 

Podemos ayudarle. Tarsis.net es partner certificado en España de CloudFlare, el CDN más sofisticado y seguro de Internet. Si sus sitios web pueden beneficiarse de una optimización de su rendimiento y una mejora en su seguridad, contacte con nosotros y estudiaremos su caso, sin compromiso.

Publicado en: Tecnología Web

Etiquetas:

Seguridad de una aplicación web

Tarsis.net

iStock_000020317880XSmallLas aplicaciones web (web apps) tienen requerimientos de seguridad diferentes de las aplicaciones de puesto de trabajo (stand-alone) o cliente-servidor, derivadas de que son aplicaciones pensadas para vivir en una red abierta, no en una red u ordenador privados.

En este post hablaremos de las consideraciones de seguridad imprescindibles en una de estas aplicaciones. No trataremos de otro tipo de comprobaciones de calidad (funcionales, usabilidad o rendimiento, por ejemplo).

Aplicaciones web empresariales Contacte con nosotros.

Comunicándonos con una aplicación web

Una aplicación web, gracias al protocolo HTTP, dispone de tres vías para comunicarse con el usuario: los métodos del protocolo GET, POST y las cookies. Las interacciones entre el usuario y la aplicación vendrán por una de esas tres vías, que deben ser cuidadosamente comprobadas para evitar que usuarios maliciosos puedan causar daños en la propia aplicación, en sus datos o en el propio sistema que los alberga.

Cualquier persona que desarrolle un servicio web debe tener siempre en mente que los datos provinientes de esos métodos (input de usuario) es inseguro, y tratar esos datos en consecuencia.

El método GET

Una aplicación web puede permitir que el usuario la utilice pasándole información vía la dirección (URL) de la propia página. Veamos un ejemplo:

http://www.dominio.com/index.php?user=12345&session=4b7177f1277c0cc0

En esta dirección web pueden verse los parámetros ‘user’ y ‘session’ con sus valores, viajando en la propia dirección de la página. La página hará uso de ellos en la forma en que se haya establecido, pero el caso es que esos valores forman parte de la invocación de la página y pueden ser alterados simplemente modificándolos en la barra de dirección del navegador.

¿Qué ocurre con nuestra aplicación si un usuario cambia en la URL el valor de ‘user’ por ‘54321’?

El método POST

Cada vez que rellenamos un formulario, lo más probable es que los datos incluidos en éste sean enviados al servidor utilizando otro método diferente, llamado POST,  que permite el envío de mayor volumen de información que GET y que permite también que se añadan determinados datos adicionales por parte de la página. Estos formulario suelen contener información personal (por ejemplo los formularios de contacto) o nos permiten hacer uso de alguna capacidad del servicio (por ejemplo publicar información en nuestra página web).

La entrada de datos a través de formularios debe ser mirada con lupa por el desarrollador de una web app, dado que es un punto de entrada preferido por muchos de los delincuentes informáticos.

¿Qué ocurre si el usuario malicioso inserta código ejecutable por el servidor en uno de esos campos de formulario?

Cookies

Una de las características más destacadas del protocolo HTTP es que no reconoce estados (es stateless), es decir, cada petición que le hacemos a un servidor es perfectamente independiente e indistinguible de cualquier otra, y no se guarda información sobre peticiones anteriores. Sin embargo muchas aplicaciones requieren mantener determinada información a lo largo de una sesión de usuario (por ejemplo se necesita saber que un usuario ha hecho login en una aplicación para permitirle el acceso mientras dure la sesión).

Las cookies son un mecanismo por el que el servidor envía pequeñas informaciones textuales a nuestro navegador para que sean almacenadas en nuestro ordenador, y que nuestro navegador envía de vuelta al servidor en cada conexión subsiguiente. De esta forma el servidor puede reconocer a nuestro navegador durante un cierto tiempo en el futuro y tratarlo de una forma o de otra en función de esas informaciones.

¿Qué ocurre si un usuario malicioso es capaz de robar la cookie que nos autentica en un determinado servidor?

Lo que el servidor esconde

Muchos servidores web están incorrectamente configurados para mostrar el contenido de directorios que carecen de una página web maestra (index) o bien para mostrar el contenido de ficheros cuyo tipo desconocen.

Bajo estas condiciones es fácil para un usuario malicioso explorar el servidor en busca de ficheros conteniendo usuarios y claves para acceder a bases de datos, averiguar cuál es la estructura de la información y planear un ataque que permita la extracción de datos o la instalación de malware o contenidos ajenos a nuestro servicio.

Aunque la configuración del servidor no es necesariamente de la competencia de quien desarrolla y despliega una aplicación, todos los servidores web disponen de una configuración particular por carpeta. Si nos ocupamos de una aplicación instalada en una carpeta, esa configuración por carpeta es un terreno fronterizo entre la administración de sistemas y el desarrollo de apliaciones y el responsable de la aplicación no puede vivir ajeno a cómo esté hecha.

Un tema aparte, pero relacionado, es la conveniencia del uso de SSL/TLS — es decir, de un servidor web seguro, con un certificado digital emitido por una autoridad de certificación reconocida — en aquellas aplicaciones que transporten datos sensibles o personales. La instalación de una aplicación en un servidor web seguro (HTTPS) encripta las comunicaciones entre el navegador y el servidor, impidiendo que terceras partes, que puedan tener acceso al tráfico IP, puedan inspeccionar su contenido.

Otra parte importante es el mantenimiento seguro de las contraseñas de usuarios. Si nuestro servicio incluye algún tipo de autenticación mediante pares usuario/clave, el almacenamiento de esas contraseñas debe hacerse de forma encriptada (normalmente mediante el uso de un algoritmo de hash). De lo contrario puede ocurrirnos como recientemente a Adobe, cuyo servicio fue asaltado y sus bases de datos con usuarios (38 millones), direcciones de correo electrónico y claves en claro fueron robadas y más tarde publicadas, abriendo la posibilidad a que se tomara el control de esos usuarios en el servidor de Adobe, pero también en otros servicios donde los usuarios poco disciplinados mantuvieran la misma clave.

Y, para terminar, es siempre muy importante mantener un buen sistema de backup que nos permita reconstruir los datos del servicio en cualquier circunstancia de catástrofe. Este punto, que siempre se menciona de forma rutinaria, suele ser en el que más fallan muchas organizaciones que, aún conociendo la necesidad, no actúan de acuerdo a la importancia del asunto.

Buen desarrollo y buen mantenimiento

Muchas de las aplicaciones actuales utilizan un motor de bases de datos, y esas bases de datos pueden contener información muy valiosa para los delincuentes informáticos, tales como información personal o bases de datos de clientes. Cada agujero de seguridad que tenga nuestra aplicación web es un potencial punto de acceso a esos datos.

No comprobar adecuadamente una aplicación web es una invitación a que alguien pueda hacerse con todos esos datos. Para complicar más las cosas, hay millones de ordenadores zombies, pertenecientes a botnets, que están escaneando continuamente sitios web para detectar automáticamente sus vulnerabilidades y comunicarlos al centro de control (C&C) de la red de delincuentes.

Como colofón, el desarrollo, instalación y mantenimiento de una aplicación web no es un asunto trivial. Aquí hemos tocado sólo aspectos relativos a la seguridad de la aplicación, aunque hay muchos otros aspectos que deben ser tomados en cuenta para que el servicio sea realmente funcional y estable.

Una organización debe plantearse siempre dedicar los recursos necesarios para asegurar que sus servicios Internet disponen de las garantías necesarias para evitarse problemas que afectan a su negocio y a su imagen.

Publicado en: Tecnología Web

Etiquetas:

La web y los alienígenas (y II)

Tarsis.net

Si uno ha dejado abandonado su sitio web a su suerte luego no puede sacar como conclusión que un sitio web no sirve para su negocio. Siempre hay que conocer qué es lo que ocurre para poder sacar conclusiones, y conocer empieza por poder medir.

¿Qué podemos hacer con un alienígena? Muy fácil: una autopsia

Autopsia de un alienígenaEl primer punto a considerar es disponer de una herramienta más avanzada que las estadísticas básicas. Aunque existen en el mercado herramientas de pago —algunas realmente caras— no es necesario acudir a ellas a menos que nuestros requerimientos de analítica sean extraordinariamente altos. Una herramienta de uso gratuito y con posibilidades de análisis más que sobradas es Google Analytics (GA).

GA requiere sólo tener una cuenta gratuita de Google, autenticar nuestro sitio web e insertar en todas las páginas sobre las que queremos disponer de estadísticas un simple código Javascript.

Analítica web para la toma de decisiones Contacte con nosotros.

Una vez que hayamos hecho esto tendremos a nuestra disposición una fantástica herramienta de análisis del tráfico de nuestro sitio web con informes tremendamente configurables, que pueden revelarnos una gran variedad de datos: origen de nuestros visitanes, si vinieron a través de un buscador o un enlace en algún otro sitio o directamente tecleando nuestra dirección web; geolocalizarlos por países, regiones o ciudades; las páginas más visitadas; el tiempo que se invierte en cada página por término medio; el porcentaje de visitantes que abandonan cada páginas; incluso podemos definir nuestros propios eventos dentro del sitio y registrar acciones de los usuarios de acuerdo a parámetros establecidos por nosotros —esto requiere algunas habilidades de desarrollo web, específicamente Javascript—.

Analítica webComo decíamos, muchos muchos muchísimos datos. Pero recuerde: no son datos lo que necesitamos, sino información. Es fácil marearse en el océano de datos que una herramienta de analítica avanzada puede proporcionarnos. Por eso necesitamos elaborar esos datos para convertirlos en información con la que trabajar. Un ejemplo: Todo el mundo pregunta siempre por el número de visitas a una página web pero, ¿es ése realmente un indicador de que el sitio web está cumpliendo con su misión? No necesariamente: un sitio web puede recibir 5.000 visitas/mes que consiga 10 conversiones de algún tipo y otro con 1.000 visitas/mes puede conseguir 20 conversiones. ¿Con cuál se quedaría usted? ¿Cuál es el rendimiento de cada una de esas conversiones?

La conclusión es que la analítica web es una importante herramienta, pero que hay que, en primer lugar, aprender a utilizarla y, en segundo trabajar sobre ella determinando cuáles son los parámetros que nos interesan y cuáles los datos mensuales. Tras eso uno está en situación de analizar y empezar a tomar decisiones.

Analíticas avanzadas: Indicadores de rendimiento (KPI)

Respecto a lo anterior, un concepto muy útil y extendido en cualquier tipo de analítica de negocio son los indicadores de rendimiento (Key Performance Indicators, KPI). Este concepto más general, es aplicado con éxito a la medición de la eficacia de un sitio web, con la condición de que uno sea capaz de definir cuáles son los KPI que pueden ser de aplicación a nuestro sitio web.

Hay que tener en cuenta varias ideas a la hora de definir nuestros KPI:

  • Los KPI indican el éxito de un elemento del sistema, que siempre tiene que ver con los beneficios del negocio. Por ejemplo, en el caso de una tienda online, el número de visitas no indica nada relevante sobre cuál es el beneficio mensual del sitio web, mientras que por ejemplo el valor medio de la compra realizada en una tienda online y el número total de compras sí que lo son.
  • Los KPI son siempre un número pequeño de cifras. No es operativo trabajar con 25 KPI. Idealmente en el caso de un sitio web deberían ser un número inferior a diez. Cuáles puedan ser esos KPI es algo que debe trabajarse internamente con el fin de poder cualificar lo mejor posible el indicador.
  • No se puede insistir bastante en que los KPI deben ser examinados dentro de un contexto de series históricas, especialmente cuando el negocio tiene fuertes estacionalidades lo cual, en un país de las características de España, es prácticamente inevitable.

 

Conclusión

Una vez más se trata de insistir en la idea de fondo de que, como todo en esta vida, la web es para quien se la trabaja. Hay que trabajar para ponerla en marcha, pero después hay que seguir trabajando para su mantenimiento, optimización y análisis si realmente queremos obtener resultados de ella.

Una de las principales virtudes que tiene la parte online de cualquier negocio es la capacidad de medir. De medir audiencia, de medir rendimiento, o de medir los errores. Ignorar esa capacidad de medir, para alguien que aspira a tener un negocio en Internet es como conducir a ciegas y luego preguntarse por qué uno ha tenido un accidente de tráfico. Los datos están al alcance de quien tenga la voluntad y la capacidad de interpretarlos, y el negocio necesita la guía que estos le pueden proporcionar.

 

Publicado en: Empresa Marketing digital Tecnología Web

Etiquetas: