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

Tarsis.net › Agencia Web y Marketing Digital

Entradas etiquetadas ‘seguridad’

Securización de una intranet

Tarsis.net

Una de las cosas que se aprenden con la experiencia de años de diseñar, poner en marcha, hacer crecer y mantener intranets –o quizá sería más correcto decir herramientas privadas de colaboración empresarial— es que la seguridad debe ser un elemento presente desde el minuto uno. No vale acordarse de ella a posteriori, y no se pueden tomar atajos.

Para el usuario común, que utiliza servicios Internet de diferentes proveedores ya sea a través de su navegador o de aplicaciones móviles, la seguridad es algo que tiene que ver principalmente con cómo utiliza sus claves de acceso y, quizá, con mantener actualizado su sistema operativo y aplicaciones.

El panorama para los que administramos sistemas es muy diferente. Un examen rutinario del tráfico que atrae nuestro sistema revela información interesante –y a veces terrible– sobre el origen e intenciones de los visitantes. Los ataques contra sistemas son una circunstancia permanente, no episodios aislados. Cualquier sistema conectado a Internet es atacado de forma automatizada y de manera frecuente y permanente.

Pero, dejando aparte los numerosos ataques automáticos –generalmente poco sofisticados y dirigidos a sistemas mal configurados y gestionados–, hay también ataques menos frecuentes, más refinados, y que aspiran a ganar un acceso permanente y silencioso a un sistema en producción, a exfiltrar información valiosa y, finalmente, a dañar la reputación de la organización titular del sistema.

A nadie se le puede escapar que una intranet, que alberga información interna de una empresa referente a sus operaciones del día a día, pero que también puede alojar información estratégica, datos de clientes, de empleados y de proveedores, es por su propia naturaleza un blanco en el que se posan muchas miradas. Por tanto, la seguridad de la instalación debe formar parte de la misma desde su concepción.

La seguridad de un sistema es un concepto que tiene muchas facetas. Un sistema puede ser atacado de muchas formas distintas, a diferentes niveles de la pila de comunicación (¿alguien se acuerda del Modelo OSI?), y por esa razón las medidas que hay que adoptar tienen que cubrir un amplio espectro de posibles tipos de vulnerabilidad. El funcionamiento del sistema puede ser comprometido desde usando fuerza bruta (p. ej. utilizando un ataque de denegación de servicio, DoS o DDoS), hasta mediante el descubrimiento de una clave de usuario demasiado débil y, entre medias, a través de una miríada de posibles puntos débiles de los que es necesario ser consciente en todo momento.

Sin pretender hacer un recuento exhaustivo, sirvan de referencia diferentes elementos importantes que van a entrar en juego cuando se trata de asegurar una intranet:

  • Sistema operativo, que debe estar siempre actualizado a la última versión estable.
  • Configuración. Configuración correcta del sistema operativo y servicios del servidor.
  • Asignación de recursos. El servidor tiene que estar dimensionado para hacer frente a los picos de demanda de los usuarios de la intranet.
  • Filtrado de tráfico. Elementos de filtrado de tráfico (IP, UDP, ICMP), medidas de mitigación de ataques de denegación de servicio.
  • Orígenes de contenido. Configuración correcta de orígenes de tráfico (Content Security Policy), en el caso de servicios web, para impedir la inyección de código hostil desde orígenes no deseados (XSS, Cross-site scripting).
  • Aplicaciones. Medidas de seguridad de aplicación, que impiden que un usuario, autenticado o no, pueda utilizarla para ejecutar código en el servidor, incluida la posibilidad de exfiltración de datos.
  • Claves. Políticas de claves de usuarios (longitud, composición, periodo de validez). Una medida completamente básica y, sin embargo, ampliamente desatendida. También es importante educar a los usuarios para evitar malas prácticas en la custodia de claves, como por ejemplo apuntarlas en post-it a la vista de todo el mundo o compartir la clave con otra persona. Es necesario también hacerles conscientes de la posibilidad de que sean abordados por alguien malintencionado que practique sobre ellos la ingeniería social, para ganar acceso a sus cuentas (por ejemplo, pero no sólo, mediante la técnica conocida como spear phising).
  • ACL. Mecanismos de control de acceso a los contenidos (ACL, Access Control Lists), que autorizan/niegan acceso a según que parte de la intranet en función de quién sea el usuario y los permisos que tenga.
  • API. Es posible también que, dependiendo de la plataforma que hayamos utilizado como base de nuestra intranet, tengamos también que tomar medidas para asegurar la API (Application Program Interface) con la que están dotadas muchas de ellas.
  • Datos. Seguridad de los datos, que deben ser frecuentemente salvaguardados de una forma completa y segura, para el caso en que se produzca una situación de desastre. Piénsese que el software es reemplazable, pero los datos no lo son.
  • Plan de contingencia. ¿Qué vamos a hacer si el sistema tienen una caída grave? ¿Podremos reemplazar sus subsistemas más prioritarios? ¿Tenemos copia de seguridad de los datos? ¿En cuánto tiempo podemos restaurar el servicio y por qué medios?

A pesar de que siempre hay que tomar estas medidas, nunca tendremos la completa seguridad de que no pueda ocurrir algo: malas prácticas o errores humanos, vulnerabilidades no públicas (zero-day) o errores de hardware son posibilidades siempre presentes, y hay que estar en situación de hacerlas frente, porque el trabajo de una organización depende de ello.

Precisamente por eso la vigilancia permanente de administrador es el colofón a todas las medidas que se adopten. No es suficiente con que las medidas estén implantadas, porque existen situaciones en las que esas medidas van a verse desbordadas. La monitorización de los registros de las diferentes partes del sistema para asegurarnos de que el conjunto está funcionando como debe es siempre imprescindible.

Podemos ayudarle. Si su empresa puede beneficiarse con la creación de una intranet/extranet corporativa, contacte con nosotros y estudiaremos su caso, sin compromiso.

Publicado en: Empresa Tecnología Web

Etiquetas:

Drupal como plataforma para desarrollar intranets y extranets corporativas

Tarsis.net

A diferencia de un sitio web corporativo, que busca solucionar necesidades de comunicación y ventas, una intranet es un sitio web de naturaleza utilitaria, en el que las interacciones se llevan a cabo principalmente a la sombra de los procesos internos de una organización.

Foto de William Iven en Unsplash

Una intranet es un sistema on-line privado — normalmente una web — en el que concurren los usuarios pertenecientes a una misma organización para compartir de forma reservada y segura información, documentos, formación o comunicación. Puesto que una organización suele tener también contacto con diferentes propósitos con otras organizaciones externas, el concepto puede ampliarse a que los usuarios externos puedan también participar del sistema, en cuyo caso nos encontramos en el caso de una extranet.

No se trata de opciones excluyentes, porque los sistemas que proporcionan este tipo de servicios son capaces de albergar a todo tipo de usuarios con su correspondiente control de accesos, para que cada cual pueda acceder únicamente a lo que le corresponde, así que muchas veces una intranet evoluciona de forma natural hacia intranet/extranet. En este artículo utilizaremos el término intranet por simplicidad, aunque en realidad nos referiremos a ambos conceptos.

En Tarsis.net llevamos diez años creando, securizando, desarrollando y manteniendo intranets corporativas. Quisiéramos compartir esa experiencia explicando cuáles son sus ventajas y por qué hemos optado por Drupal como plataforma para el desarrollo de las intranets de nuestros clientes.

¿Para qué necesita una empresa una intranet?

A lo largo de los años hemos visto evolucionar intranets desde meros sitios web privados de comunicación hacia el canal a sistemas que operan en todos los niveles de la organización y que incluyen parte sustancial de los procesos de venta, comunicación interna o soporte de segundo nivel.

¿Qué ventajas para la organización se derivan de disponer de su propia intranet?:

  • Entorno personalizado y  privado de colaboración, con contenidos, comunicación y procesos compartidos y normalizados. Nada que ver con el uso de servicios públicos que proporcionan servicios fragmentarios de manera informal.
  • Control sobre el entorno, sus funcionalidades y la granularidad con que se otorgan permisos a los diferentes tipos de usuarios.
  • Dotación de herramientas de colaboración comunes, tales como calendarios, listas de tareas, grupos de discusión, repositorios de ficheros o mensajería.
  • Existencia de un repositorio de conocimiento, abierto a los empleados de la compañía para su consulta y contribución. Estos repositorios facilitan el trabajo de los empleados existentes, evitan en cierta medida los vacíos de conocimiento cuando un empleado abandona la firma y sirve a los empleados noveles para familiarizarse más rápidamente con el entorno y los procedimientos de trabajo.
  • En algunos casos puede servir para que departamentos de Recursos Humanos puedan publicar plazas vacantes a cubrir a las que puedan aspirar empleados actuales o bien servir para que los empleados pongan en contacto a candidatos externos con la empresa.
  • Como soporte para programas de formación internos o de canal. Las intranets pueden albergar sistemas de elearning que abaraten la prestación de servicios de formación para campos de ventas, técnicos, de soporte o de cualquier otro tipo.
  • Un canal externo permanente para la comunicación con otras empresas con las que trabajamos, ya sean estas clientes, canal de distribución, proveedores u otros.
  • Un canal interno permanente en el que los empleados de la empresa pueden adquirir información, contar a los demás sobre su trabajo o debatir en grupos cerrados o abiertos sobre su actividad.
  • Una significativa reducción de costes y normalización de procesos en todos los puntos anteriores.

Pero no de cualquier manera

Es un hecho estadístico que este tipo de sistemas, pensados de arriba a abajo, tienen considerables dificultades en su implantación, y que su ratio de fracaso es alarmante — notoriamente en el caso de los sistemas CRM — . En el caso de las intranets, y en base a nuestra experiencia, podemos decir que hay cuatro características que debe cumplir para conseguir que su implantación en una organización sea un éxito: Debe ser útil, segura, estable y adaptable.

Si está usted pensando que nos hemos olvidado del coste, pues no lo hemos hecho. Una organización que cuente con los servicios que hemos descrito, o que aspire a disponer de ellos, tendrá en su intranet una fuente permanente de ahorro de costes debido a la concentración de los recursos. Eso por no hablar de los costes que se derivan de una gestión insegura (¿usa usted servicios internet públicos?) de la información. Y esos costes no son sólo en dinero, sino indefectiblemente en reputación.

¿Por qué Drupal?

Aún hoy en día vivimos en un tiempo de inflación de gestores de contenido (CMS). Podría pensarse que, pasados los primeros años de explosión de estos sistemas, el panorama se habría aclarado y quedarían dos o tres, con una cierta especialización, y que los demás habrían pasado al olvido.

No es así de ninguna manera. Si bien es cierto que WordPress es un actor dominante en la oferta de CMS, no es menos cierto que, salvo algunas extensiones especializadas para medios de comunicación on-line, sus características le hacen más indicado para sitio web vistosos, usables y ágiles, pero de escasa complejidad conceptual.

Existe un enorme número de otros sistemas de publicación de contenidos con diferentes filosofías (Typo3, eZ Publish, Joomla, Django, Liferay) y su número crece cada día que pasa. En años recientes se ha hecho notar una tendencia hacia la creación de herramientas que propenden a la extrema simplificación, por ejemplo generadores de sitios web estáticos.

Drupal sin embargo es un sistema de publicación de contenidos más abstracto en su concepción, pero con muchas más posibilidades de crecimiento en entornos que demandan precisamente gestionar la complejidad propia de una organización. En cualquier empresa hay que poder gestionar, con carácter general, individuos (usuarios), departamentos (grupos), categorías (roles) y diferentes niveles de acceso (permisos), aparte de otros aspectos dependientes de cada organización particular.

Por eso Drupal es mucho más indicado que otras herramientas de software para el desarrollo de una intranet corporativa:

  • El núcleo de Drupal provee la infraestructura básica necesaria para un entorno corporativo privado, seguro y los elementos básicos de su administración.
  • Provee también de todo lo necesario para la gestión de contenidos de la parte pública y privada, incluyendo la capacidad de personalizar el interfaz de usuario con el diseño que se requiera.
  • Otros servicios básicos para una intranet o extranet son provistos por módulos (plug-ins).
  • El sistema permite definir de forma flexible y precisa el control de accesos (usuario o rol), es decir, quién puede acceder a qué parte de los contenidos y las aplicaciones y qué permisos tiene sobre ellos.
  • Existe incluso la posibilidad de crear una capa de administración externa (“desacoplada”) que facilite tareas de administración o informes personalizados, propias de cada caso.
  • Una infinidad de módulos de terceras partes pueden proporcionar otros elementos sociales, de comunicación o de utilidad necesarios para adaptarse a las necesidades concretas de esa organización.
  • Drupal permite además embeber aplicaciones particulares, creadas al efecto, dentro del entorno público y/o privado.
  • Drupal es una solución de código abierto, lo cual tiene una miríada de ventajas sobre el software propietario, que van mucho más allá de no tener que pagar un coste de adquisición y/o una licencia anual. Estas ventajas se extienden desde la seguridad hasta la independencia a la hora de hacer que el software que necesita tu negocio funcione como tú quieras que funcione, no como otros lo hayan pensado por ti.
  • Drupal tiene una larga experiencia en la creación de sitios web complejos y sofisticados, que van más allá de meros escaparates, sitios web sencillos o blogs. Tiene además una enorme comunidad de contribuyentes que mejoran su código y amplían sus capacidades de forma permanente. Por si esto fuera poco, no le faltan usuarios de referencia, tales como la Casa Blanca, el 10 de Downing Street, el Gobierno de Francia, la BBC, la Universidad de Stanford o la Universidad de Oxford. No se puede decir que sean sitios que no requieran sofisticación, seguridad y gestión de la complejidad.

 

Podemos ayudarle. Tarsis.net es organización miembro de la Drupal Association. Si su empresa puede beneficiarse con la creación de una intranet/extranet corporativa, contacte con nosotros y estudiaremos su caso, sin compromiso.

Publicado en: Empresa Tecnología Web

Etiquetas:

¿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:

Software propietario frente a Software Libre frente a Software Como Servicio

Tarsis.net

Foto de rawpixel en Unsplash

Las aplicaciones on-line presentan un panorama realmente interesante en los años pasados, y ciertamente van a convertirse en un asunto de especial trascendencia en las tecnologías de la información empresariales de los próximos años.

Si usted trabaja en una pequeña o mediana empresa es posible que aún no le haya llegado el momento de plantearse la necesidad de contar con una o una combinación de estas herramientas, pero esté seguro de que en el futuro deberá hacer frente a esa posibilidad.

Actualmente el mercado de las aplicaciones on-line presenta una serie de posibilidades, de diferente naturaleza, que una pyme debe considerar, pues el adoptar una u otra posibilidad puede tener un efecto importante en el costo de adquisición, tiempo de implantación de la solución, coste de mantenimiento y posibilidades de desarrollo futuro. Intentaremos ofrecer una panorama de las alternativas disponibles, analizando sus aspectos más fuertes y sus posibles debilidades.

Tipos de aplicaciones on-line
A buen seguro usted se ha topado ya en más de una ocasión, probablemente en su trabajo diario, con aplicaciones on-line de muy diversa índole:

  • Content Management System (CMS). Se trata de una herramienta de publicación de contenidos web. Los contenidos están habitualmente almacenados en una base de datos y uno o varios editores, utilizando herramientas web administrativas, publican o modifican contenidos.
  • Blogs (web log o bitácora). Son un caso particular de los anteriores, orientados a la publicación de artículos de opinión y que habitualmente están especializados en algún tema. Esta colección de artículos, por ejemplo, está desarrollado utilizando como base un software de blog (WordPress).
  • Webmail (Correo web). Prácticamente cualquier persona que ha utilizado alguna vez Internet dispone de una cuenta gratuita en algunos de los proveedores más importantes (Gmail/Google, Yahoo! o Hotmail). Se trata de una herramienta web que permite al usuario hacer uso de su correo electrónico, sin necesidad de depender de un cliente de correo instalado localmente (Thunderbird, Outlook), y por tanto desde cualquier ordenador conectado a Internet. En ocasiones estos servicios van también ligados a herramientas de colaboración entre usuarios, mensajería instantánea y aplicaciones PIM (Personal Information Managers; agendas, calendarios, etc).
  • CRM y ERP (Customer Relationship Management y Enterprise Resource Planning). Servicios de atención al cliente, con fuerte presencia de herramientas de marketing y de inteligencia de negocio. Los ERP son herramientas que componen el backoffice de una compañía, proporcionando integración de los datos de gestión de la compañía, desde planificación de la producción, asignación de recursos humanos, y un sistema CRM como subsistema del mismo.
  • Tiendas on-line, catálogos on-line, carritos de la compra.
  • Foros.
  • Cientos de otros tipos de aplicaciones.

Lo que tienen en común todas estas aplicaciones es que su software reside y es ejecutado en un servidor Internet, y sus usuarios utilizan un navegador web, desde cualquier lugar, para hacer uso de los servicios de la aplicación. ¿De dónde viene ese software? ¿Cuánto cuesta? ¿Qué lo diferencia del software instalado en su PC?

No, no viene de París
El software que se instala en los servidores Internet es sustancialmente diferente al que se instala en los PC individuales, incluso si tiene que cumplir las mismas funciones. NO puede utilizarse un software de PC en un servidor web para obtener el mismo resultado. Esto quizá usted lo sepa de sobra –en cuyo caso disculpe por la innecesaria aclaración–, pero se sorprendería de cuántas personas piensan que utilizar un software de PC en un servidor Internet es una opción viable.

Hay tres canales principales para proporcionarle a su empresa las aplicaciones on-line más frecuentes:

  • Casas de software (Microsoft, SAP, etc.), que le cobrará por el software en sí, por la instalación si así de lo pide, y por el mantenimiento del software.
  • La comunidad de desarrolladores de aplicaciones de software libre. Hay miles de aplicaciones de servidor excelentes, con años de trayectoria consolidada, disponibles para cualquiera que disponga de los conocimientos –o pueda contratar a quién los tenga– para instalar y mantener dichas aplicaciones. Estas aplicaciones no cuestan ni un euro –aunque en algunos casos se solicita una donación voluntaria al proyecto si se utiliza y se considera útil–, y son mantenidas por equipos de desarrolladores, traductores y documentalistas de todo el mundo.
  • Un proveedor de software como servicio (SaaS), que le proporcionará la aplicación instalada en un servidor cobrándole mensualmente una cuota la cual, dependiendo del caso, puede ser global o por usuario de la aplicación. Usted no tiene que comprar ningún software, no tiene que hacer ninguna instalación y no tiene que pagar ningún mantenimiento, el cual corre de cuenta de su proveedor. Es decir, usted no compra ningún software, sino que alquila el uso del mismo.

Las pequeñas y medianas empresas en España tienen peculiaridades que las distinguen de las grandes empresas, por lo que deben apreciar aspectos que son menos importantes en estas últimas:

  • Presupuesto, presupuesto, presupuesto. Es siempre un parámetro decisivo en la toma de decisiones de una pyme.
  • Los responsables técnicos (en una pyme a veces son responsables técnicos sobrevenidos, por falta de alguna otra persona que se ocupe de estos aspectos) carecen con frecuencia de una perspectiva global de las posibilidades que tienen a su alcance. Las TI son un mundillo especializado, cuyos canales de comunicación están frecuentemente copados por los grandes del sector.
  • Con mucha frecuencia una pyme es deficitaria en personal técnico que pueda ofrecer soporte en la toma de decisiones, implantación y personalización del software y mantenimiento del mismo.

Veamos cómo hemos calificado comparativamente el comportamiento de estas posibles soluciones ante diferentes aspectos a tener en cuenta en la decisión:

Software propietario Software Libre Software Como Servicio
Coste de adquisición ~
Rapidez de despliegue ~ ~
Coste de mantenimiento ~/ ~
Personalización

Leyenda: – Mejor resultado; ~ – Resultado medio; – Peor resultado.

Vemos que el software propietario es claramente perdedor en cuestión de precios, tiene un tiempo de despliegue normal, un coste de mantenimiento medio o malo y muy limitadas capacidades de personalización; el software libre destaca en los aspectos de coste e independencia para el usuario administrador; y, por su lado, el software como servicio se comporta también bien en los costes y desde luego en la despreocupación de la empresa respecto a cualquier aspecto técnico que se relacione con él.

Software Propietario
Las desventajas de este tipo de software son bastante claras si se observa la tabla: el software propietario es habitualmente caro o muy caro en el momento de su adquisición, tiene un mantenimiento también caro (usualmente por suscripción dividida en niveles de atención con precios crecientes), sus ciclos de desarrollo son marcados por el fabricante (si usted descubre que necesita una nueva funcionalidad o que hay un bug en el software esto no será resuelto hasta que el fabricante lo disponga así) y sus posibilidades de personalización son limitadas.

Sin embargo muchos ejecutivos encuentran de alguna manera tranquilizador que exista una empresa detrás del software que utilizan, y un número de teléfono al que llamar, a pesar de que la experiencia de años les diga que probablemente en caso de problemas no se lo van a resolver de forma efectiva («tiene que comprar e instalar la última versión» o «eso estará resuelto en la siguiente versión»). Un reciente estudio ha mostrado que el nivel intermedio de la empresa es el más reticente a la utilización de software libre en este entorno, en contra de la opinión del escalafón técnico de base, que prefiere soluciones de código abierto para poder solucionar sus problemas por sí mismo, y de la parte alta del organigrama que permanece al margen de las consideraciones técnicas.

Los ciclos de desarrollo de un software propietario están comprensiblemente influidos por la presión que ejerce el mercado –básicamente si un competidor lanza una nueva versión de su software–. El resultado es que la calidad del software propietario no es muchas veces todo lo buena que debería ser dado que los procesos se acortan o se dilatan en función de situaciones que no tienen que ver con las necesidades del cliente.

Software Libre (Open Source)
Por su parte el software libre ofrece un precio inmejorable (es gratuito) y una flexibilidad inigualada. Cuando se produce un problema la comunidad de desarrolladores presenta un parche o nueva versión con una rapidez muy alta y los técnicos propios pueden desarrollar tanto soluciones a problemas como funcionalidades nuevas adaptadas a las peculiaridades de la empresa.

En el otro lado de la balanza hay que decir que para que una empresa se sienta cómoda con el software libre debe contar en sus filas con personal técnico cualificado para poder gestionar el proceso completo de la vida del software en cuestión y, naturalmente, que hay que saber elegir bien el software que va a sernos de utilidad durante un ciclo previsible de varios años.

Contrariamente a lo que ocurre en el software propietario, las aplicaciones de software libre sólo desarrollan software por vía rápida cuando es descubierto un bug o una vulnerabilidad en el código, pero no durante un ciclo de desarrollo normal, al no estar sometidas a presión comercial, por lo que se benefician de un proceso de pruebas más completo y de una mejor estabilidad general.

Software como Servicio (Software as a Service, SaaS)
Se trata de una solución híbrida en cierta forma: usted alquila el uso de una aplicación sin tener que adquirirla, instalarla o mantenerla. Paga una cantidad fija mensual por la aplicación, o por el número de usuarios que necesite, pero nada más. El software que utilice puede ser propietario o libre según el caso. El tiempo de despliegue es prácticamente inmediato, ya que la aplicación está ya instalada y sólo hay que particularizarla para usted. Si hay un problema con la aplicación tampoco será asunto suyo: su proveedor debe aportarle la solución a usted.

En los aspectos negativos: pagar una cuota mensual no del agrado de todo el mundo, pero este argumento se diluye ante el hecho de que no necesita hacer inversión en software (que se desactualiza), en contratar personal técnico que lo instale, particularice y mantenga, y tampoco tendrá que pasar por un esquema de precios por rangos de usuarios (por ejemplo pagar una licencia de uso para 50 usuarios cuando usted tiene sólo 40).

En resumen, la solución de software propietario es adecuada cuando una compañía no tiene problemas con el presupuesto y puede esperar a la compañía desarrolladora en el caso de que se presenten problemas. El software libre es una solución óptima si se dispone de los efectivos técnicos necesarios para gestionarla y el software como servicio será probablemente la mejor opción si el presupuesto es un asunto a considerar y no se desea ocuparse de aspectos técnicos y además se necesita una implantación rápida de la herramienta en cuestión.

Bien, está claro que Tarsis.net es un proveedor de servicios que apuesta por el software libre y por el software como servicio, así que nuestra opinión será favorable. Pero pensamos sinceramente que una pequeña y mediana empresa no puede permanecer ajena a estas posibilidades, porque se trata de la opción más eficiente y con mejor relación calidad/precio que se puede encontrar actualmente. Tanto el software libre como el software como servicio son opciones bien consolidadas en los Estados Unidos y en los muy competitivos mercados asiáticos. ¿Dónde más que en una pyme es necesario medir al milímetro la relación coste/beneficio?

Un caso concreto
Veamos un caso concreto: una empresa se dirigió a nosotros porque tenía un problema respecto al uso de su correo electrónico. Disponía de un servicio de alojamiento del que estaba satisfecho, pero varios de sus ejecutivos y comerciales pasaban buena parte de su jornada laboral lejos de sus despachos. Al no proporcionarles su proveedor un servicio de webmail, las ausencias de esas personas suponían un problema a la compañía que se estaba haciendo más serio con el paso del tiempo. Naturalmente el uso de direcciones de correo de Hotmail o de Yahoo! no es una opción en un entorno empresarial.

Las posibles soluciones que se plantearon fueron las siguientes:

  • Comprar un software de webmail (Emumail), que tendría que estar traducido al castellano. Este software debería ser comprado, instalado en su proveedor de alojamiento actual, y actualizado –pagando las actualizaciones correspondientes– cada cierto tiempo. El coste, sólo del software, es de 600$.
  • Utilizar un software libre, que debería ser instalado en su proveedor de alojamiento. Esta instalación debería correr por cuenta de la compañía, la cual carecía de personal familiarizado con este tipo de aplicaciones y los entornos de servidor.
  • Contratar con nosotros un servicio de webmail, independiente de su proveedor actual aunque utilizando sus cuentas actuales. Ninguna inversión en software, ningún coste de mantenimiento y ninguna preocupación técnica.

La solución finalmente tomada por nuestro cliente fue la tercera, lo que le permitió resolver su problema de forma prácticamente inmediata (2 días laborables), a un coste muy inferior de lo que tenía previsto, y con la posibilidad de dar marcha atrás en el mismo momento que quisieran. Le propusimos varias soluciones alternativas de software libre y finalmente optó por Horde, un software de webmail con traducción al castellano que además cuenta con aplicaciones auxiliares de agenda y calendario. En la actualidad el servicio de webmail, convenientemente actualizado, es utilizado regularmente por un 80% de la plantilla de nuestro cliente tras 18 satisfactorios meses desde su implantación.

Publicado en: Miscelánea Tecnología

Etiquetas: