Instalación y configuración de Wamp, un servidor HTTP, PHP y MySQL

Instalación y configuración de Wamp, un servidor HTTP, PHP y MySQL

Sergio De Luz

Por lo general, si creamos una página web solo con lenguaje frontend, por ejemplo, en HTML y CSS, el propio navegador es capaz de interpretarla correctamente, por lo que no necesitamos disponer de ningún servidor adicional instalado en el sistema. Sin embargo, si vamos a hacer uso de lenguajes backend, por ejemplo, en PHP, debemos instalar los servidores necesarios en nuestro ordenador (o servidor) de manera que estos sean capaces de interpretar el lenguaje y nos permiten ver el resultado final a través del navegador que, sin dicho servidor, el navegador no interpretaría.

 

¿Qué es Wamp?

Wamp es un paquete para instalar un servidor web en sistemas operativos Windows de forma totalmente gratis, este programa es de código abierto. WampServer nos va a permitir instalar desde un único paquete diferentes servicios que son totalmente necesarios para montar una web en nuestro PC con sistema operativo Windows. En concreto, Wamp incorpora:

  • Apache: este es el servidor web HTTP y HTTPS de código abierto, es uno de los más utilizados en todo el mundo, y está disponible para su uso en plataformas Windows, Linux, Unix, MacOS y otros sistemas operativos como FreeBSD. Apache normalmente se utiliza para webs estáticas y también dinámicas, además, dispone de un firewall L7 en base a módulos añadidos de forma opcional. La última versión de Wamp incluye la versión Apache 2.2.22.
  • MySQL: este sistema de gestión de base de datos relacional es uno de los más utilizados en todo el mundo, se usa con aplicaciones web como WordPress, Drupal, phpBB y muchos otros más. La última versión de Wamp incluye la versión MySQL 5.5.24
  • PHP: este lenguaje de programación interpretado se ha diseñado específicamente para webs dinámicas, pero también se puede utilizar para webs estáticas. Podremos encontrar este lenguaje en cualquier web conocida, ya que todo el mundo utiliza PHP. En este paquete de PHP encontraremos diferentes softwares, como PHP 5.4.3, XDebug 2.1.2, XDC 1.5, PhpMyAdmin 3.4.10.1, SQLBuddy 1.3.3 y webGrind 1.0.

Tal y como habéis visto, Wamp es un paquete de software completo que nos permitirá instalar desde cero un servidor web para empezar a servir páginas de forma fácil y rápida, y todo ello a través del sistema operativo Windows, por lo que no necesitaremos instalar ningún sistema operativo Linux.

Wamp Server para Windows

 

Beneficios a nivel empresarial

Los servidores WAMP son una buena solución de software que da a las empresas un entorno de desarrollo muy completo. Por otro lado, es sencillo de utilizar en los sistemas operativos. El motivo de su utilidad, es que cubre diferentes sectores como el servidor web con Apache, bases de datos relacionales con MySQL, y un lenguaje de programación de alto nivel como PHP. Este último es ampliamente utilizado para ejecutar aplicaciones web dinámicas sin la necesidad de preocuparse por la configuración de los servidores, software y otras bases de datos.

Este servicio, resulta ideal para pequeñas y medianas empresas, sobre todo si buscan un entorno de desarrollo en local para todos sus proyectos. Esto da la capacidad de desarrollar y testear aplicaciones sin necesidad de realizar grandes inversiones en hardware, el cual es muy costoso. Por otro lado, su instalación puede ser compleja en algunos casos, y también nos libra de muchos gastos de contratación de expertos en este tipo de tecnologías. En este entorno, los desarrolladores pueden trabajar en ambientes seguros y controlados, previamente a realizar implantaciones de sus aplicaciones en servidores para el uso de todo el mundo.

Como hemos comentado, este resulta sencillo de instalar y configurar. Esto es algo que a las empresas les da mucho margen, ya que no solo les permite realizarlo de una forma rápida y eficiente, sino que permite ahorrar dinero. Por otro lado, esto cuenta con una gran variedad de herramientas de desarrollo y muchas opciones para poder configurarlo, lo cual les da la oportunidad a los administradores de adatar en gran medida, el entorno de desarrollo a las necesidades reales que van a tener.

Por lo cual, con WAMP tenemos muchas ventajas a nivel empresarial. Y sus efectos van directamente hacia el desarrollo, la eficiencia y la economía de la empresa.

 

Descargar e instalar Wamp en un equipo Windows

Lo primero que debemos hacer es descargar el programa desde su página web principal. El programa es totalmente gratuito y está libre de software publicitario y no deseado. En su página web vamos a poder elegir si queremos descargar la versión de 32 bits o la de 64 bits. En nuestro caso vamos a trabajar con la versión de 64 bits, ya que tanto nuestro procesador como nuestro sistema operativo lo permiten. Pulsamos sobre la versión deseada de Wamp Server y, en la ventana que nos aparece, pulsamos sobre el enlace «download directly«.

Descargar Wamp Server

El paquete, de poco más de 40 megas, empezará a descargarse a nuestro ordenador. Una vez lo tengamos ya podemos comenzar la instalación. Un detalle muy importante es que todos los paquetes se descargarán de forma automática a medida que vayamos completando el asistente de configuración.

Ejecutamos el instalador que hemos descargado en el paso anterior y podremos ver la primera ventana del sencillo asistente, el cual no tiene demasiada complicación.

Asistente instalación Wamp

Seguimos con este asistente y a continuación debemos leer y aceptar los términos de licencia. Wamp es software libre, por lo que la licencia que utiliza el GNU.

Licencia de Wamp

A continuación, elegimos la ruta de instalación. Por defecto se instalará en raíz de c:, una buena ruta y de fácil acceso, por lo que si no tenemos ninguna necesidad específica podemos dejarlo así y continuar.

Ruta instalación Wamp

A continuación, podremos elegir si queremos crear o no iconos en el escritorio o en el menú inicio.

Accesos directos a Wamp

Seguimos con el asistente y llegamos caso al final. Podremos ver un resumen de todas estas opciones.

Resumen instalación Wamp

Si todo está correcto podemos comenzar con la instalación. Pulsamos sobre «Install» y comenzará la copia de archivos.

Instalando Wamp

Este proceso puede tardar algunos minutos, por lo que debemos esperar a que finalice correctamente. Durante la copia de archivos recibiremos dos avisos:

El primero de ellos nos preguntará por nuestro navegador por defecto. Si queremos que el navegador por defecto sea el que utilice Wamp para abrir las webs que alojemos en él, aceptamos dicha ventana.

Navegador por defecto Wamp

El segundo de ellos nos pide rellenar una información básica de cara al servidor de correo SMTP que habilita Wamp. Podemos dejar perfectamente los valores por defecto ya que, como vamos a trabajar en localhost, no tendremos problemas.

Listo. Wamp está instalado en nuestro ordenador y ya podemos empezar a utilizarlo.

Instalación Wamp finalizada

 

Consejos básicos sobre el funcionamiento

Lejos de entrar en una configuración avanzada del servidor, a continuación, os vamos a explicar los principales puntos a tener en cuenta.

El primero de ellos es el icono del servidor. Junto al reloj, en la barra de tareas, podremos ver un icono con forma de W que puede tener 3 colores diferentes, según el estado de este:

  • Rojo: todos los servidores están detenidos o no pueden arrancar.
  • Naranja: algún servidor está detenido o no ha podido arrancar, pero los demás funcionan.
  • Verde: todo funciona correctamente.

Si pulsamos sobre dicho icono vamos a poder abrir un pequeño menú de uso, desde donde podremos comprobar todos los servidores e incluso forzar a que los servicios de Wamp se reinicien, detengan o inicien de nuevo.

Menú Wamp Server

Para finalizar, suponiendo que hemos instalado el programa en C:wamp, la ruta por defecto, las páginas web que creemos debemos almacenarlas en la ruta c:wampwww para que el servidor pueda detectarlas, cargarlas e interpretarlas adecuadamente.

 

Cómo solucionar los principales problemas

Para funcionar correctamente, Wamp necesita conectarse a Internet, por lo que si alguna otra aplicación está utilizando o bloqueando el puerto 80 es muy probable que el icono no termine de aparecer de color verde. Una de las principales causas de esto es el servidor web de Microsoft instalado por defecto en Windows, IIS. En caso de que tengamos este servidor web habilitado en el sistema debemos desinstalarlo, o simplemente detenerlo, para que no interfiera con el funcionamiento de Wamp. También debemos tener el puerto 443 para el HTTPS, además, si vas a alojarlo en tu casa, necesitarás abrir puertos en el router con el objetivo de que la información fluya hasta nuestro servidor web.

De todas formas, cada ordenador es un mundo, por lo que es posible que aparezcan errores y problemas de todo tipo en función de la configuración que tengamos y los programas previamente instalados.

Si el problema no es de IIS, es posible que debamos revisar si algún otro servidor está haciendo uso del puerto 80 o si tenemos alguna aplicación de seguridad, por ejemplo, un Firewall, que está bloqueando nuestras conexiones con el exterior.

 

Cómo mejorar la seguridad de tu servidor web

Cualquier vulnerabilidad que se pueda detectar, así como el identificarla a tiempo, hace que sea posible un alto nivel de seguridad de los servidores web. Es importante que contemos con un servidor web seguro, porque siendo así, nuestro sitio web podrá funcionar de la manera esperada. Cuando vamos a hacer hardening de un servidor web, es muy importante que podamos responder a tres puntos, estos tienen relación con la seguridad de uno o varios servidores web que tengas funcionando actualmente:

  • Corroborar si nuestro servidor web es vulnerable. Básicamente, esto te indica para determinar si los servidores cuentan o no con vulnerabilidades detectadas. Una de las formas más eficaces de hacerlo es contar con un escáner de vulnerabilidades y hacerlo funcionar de forma periódica. La frecuencia es importante ya que existen múltiples vulnerabilidades de día cero que pueden aparecer. También es recomendable hacer uso de un WAF (web application firewall) para filtrar cualquier posible consulta maliciosa, además, esto mismo se puede realizar vía software en el propio servidor web configurando reglas avanzadas.
  • Nuestro servidor web, ¿está siendo atacado? Si notas alguna irregularidad, lo mejor es poder hacer pruebas directas de solicitudes al servidor web. Si no responde, o bien, no responde de la manera esperada, son altas las posibilidades de que haya sido víctima de algún ataque. Es fundamental que revises los logs para ver qué está ocurriendo, por supuesto, siempre es recomendable tener un sistema de monitorización del estado del servidor, y también un SIEM para correlacionar eventos y detectar posibles ataques.
  • Detectar algún cambio corrupto. Además de las vulnerabilidades, debemos auditar cualquier tipo de cambio que se haya dado en algún archivo o en el peor de los casos, que se haya borrado uno o más archivos.

Como vemos más arriba, los tres puntos que hemos citado son considerados los más importantes al momento de llevar a cabo una estrategia de seguridad para los servidores web. Sin embargo, estas actividades tienen un carácter algo más reactivo. Precisamos agregar algo más de proactividad, de manera que se pueda contar con cada vez más capacidad de prevenir ataques.

 

Acciones para prevenir ataques al servidor web

Sin duda, el más importante tiene que ver con las actualizaciones. Todo software que utilicemos se actualiza con cierta frecuencia, una de las razones por las cuales se actualiza son las mejoras en relación a la seguridad. Dichas actualizaciones de seguridad funcionan como parches que permiten que los servidores web sean más resistentes a varios tipos de ciberataques. Así también, debemos aplicar las actualizaciones lo más pronto posible. Recordemos que una de las razones por las cuales son posibles los ciberataques es el uso de software no actualizado.

Además, los escáneres de vulnerabilidades también necesitan actualizarse. Más aún si estos escáneres cuentan con la capacidad de detectar vulnerabilidades y/o exploits de día cero. Estos últimos son mucho más difíciles de detectar por cuenta propia. Si estamos a cargo de aplicaciones web, también debemos actualizar sus firewalls con los últimos parches y características de seguridad.

 

Ataques, intrusiones e infecciones

Los ataques al servidor web son posibles mediante la posibilidad de que un atacante o persona no autorizada, pueda tener acceso a sus recursos. Incluso, si éstos cuentan con medidas de seguridad implementadas. Una vez más, reforzamos lo que hemos comentado más arriba: mantener las actualizaciones al día, sobre todo las de seguridad. ¿Utilizas servidores Linux? Echa un vistazo a esta guía completa de hardening de servidores Linux para hacerlos mucho más seguros.

Si se percibe el riesgo de una intrusión y/o un evento de filtración de datos, os recomendamos las siguientes acciones:

  • Monitorizar sistemas de archivos en búsqueda de nuevos archivos creados con aspecto sospechoso
  • Tener bajo control a la red para identificar direcciones IP maliciosas que serían responsables de actividad inusual como los ataques de fuerza bruta o bien, si se detecta que hay demasiado tráfico en horarios no convencionales
  • Monitorizar los inicios de sesión, así también los intentos de inicios de sesión. Recordemos que si notamos muchísimos intentos de inicio de sesión en horarios en donde no debería haber actualidad, se podría estar ante un intento de intrusión.
  • Controlar qué archivos de carácter sensible han sufrido algún tipo de modificación irregular.
  • Verificar la presencia de procesos en el sistema que podrían estar afectando al rendimiento, la seguridad o la integridad en sí del servidor web.

No tener en cuenta el control de cualquiera de estos aspectos, podría significar en uno o más eventos en los que el servidor web se vea infectado. En consecuencia, tus aplicaciones o sitios web no estarán respondiendo para los usuarios.

 

Identificar los distintos códigos de status de los servidores web

Al momento de analizar los logs de eventos de los servidores web, es buena práctica el conocer los códigos de status HTTP. Los citamos a continuación:

  • 1xx (Informational): la información de la solicitud ha sido recibida y se procesará.
  • 2xx (Success): las acciones fueron realizadas de manera exitosa, por lo que son aceptadas y comprendidas.
  • 3xx (Redirection): existen acciones a realizar que son como condiciones para que la solicitud HTTP pueda ser completada.
  • 4xx (Client Error): solicitud HTTP del cliente con una sintaxis incorrecta o que no puede ser completada.
  • 5xx (Server Error): el servidor no puede procesar la solicitud debido a un fallo.

Se recomienda lograr determinar los tipos de respuestas a las solicitudes HTTP por parte del lado cliente. Esto, con ayuda de los códigos de status. Debes tener presente que hay que prestar atención a aquellas solicitudes que se realizan a los archivos presentes en el servidor que tienen carácter sensible. Los mismos pueden significar potenciales intentos de intrusión, los cuales derivan en potenciales ciberataques.

 

Alertas de seguridad de los servidores web

Hemos mencionado en más de una ocasión el acto de monitorizar. Nada más importante y eficaz que el monitoreo para que tu servidor web cuente con un robusto escudo protector ante las múltiples amenazas de seguridad. Existen herramientas que pueden ayudar en la emisión y recolección de distintos tipos de alertas a medida que las mismas se vayan dando. Las mismas son consideradas como otras de las herramientas esenciales para poder prevenir ataques.

  • Uptime (Tiempo operativo): Garantizar que el tiempo en que esté activo el servidor web se ajuste a la necesidad de los usuarios que se valen de las aplicaciones y sitios web.
  • Velocidad de carga: Un aspecto que define el éxito de una aplicación o sitio web es el tiempo en que tarda en cargar. La necesidad de inmediatez para acceder a algún recurso web se ha convertido en un requerimiento.
  • Diferenciar entre usuarios reales y bots: Un aspecto que se acostumbra a menospreciar es la cantidad de visitas que recibe tu aplicación o sitio web. Tanto los usuarios reales como los que no lo son, deben ser monitorizados. Sobre todo, aquellos que son bots, ya que los mismos podrían tener la capacidad de realizar acciones maliciosas como inyección SQL en los formularios de contacto o de solicitudes o múltiples solicitudes al servicio web que desemboque en ataques como DDoS.

Un programa que hemos localizado, que es gratuito y de código abierto. Se denomina StatusOK y cuenta con la funcionalidad de generar notificaciones de alertas e integrarlas con aplicaciones como Slack y clientes de correo electrónico SMTP. Dichas alertas contendrán información relacionada a, por ejemplo, si tu servidor web deja de operar o bien, que el tiempo de respuesta para las solicitudes web sea más alto de lo esperado. Lo interesante es que su carácter de código abierto permite la creación de integraciones con más programas. ¿Cómo acceder a esta herramienta? Puedes ingresar a su repositorio oficial en Github en donde encontrarás toda la información necesaria para comenzar a implementar y si necesitas soporte, contarás con mucha información adicional para resolver problemas comunes.

 

Tener actualizado el software y plataforma

Esto es algo básico y que debe estar presente siempre. No importa si estamos usando WordPerss, Joomla o cualquier otro gestor de contenido. Siempre debemos contar con las últimas versiones del software y tener la plataforma correctamente actualizada.

Precisamente estas vulnerabilidades que pueden estar presentes es lo que pueden aprovechar los atacantes. Pueden realizar un ataque investigando qué puntos débiles puede tener un sitio web, como podría ser en algún software que tengamos instalado, el tema que estamos utilizando, la plataforma… Por tanto, el consejo número uno es tener actualizado todo lo que engloba nuestro sitio web.

Seguridad de un sitio web

 

Instalar un certificado SSL

Como sabemos, al navegar por Internet podemos toparnos con sitios que son HTTP y otros que son HTTPS. Este último caso es el más común hoy en día. De hecho los propios motores de búsqueda valoran mucho más los que cuenten con cifrado, ya que protegen los datos de los usuarios. Incluso algunos navegadores comienzan a lanzar advertencias cuando entramos en un sitio HTTP, que sería considerado inseguro.

Por sí mismo un sitio web HTTPS no es seguro, no significa que no pueda haber problemas. Sin embargo vamos a tener mucho ganado en ese sentido. Vamos a dar una buena imagen a los visitantes, posicionaremos mejor la página y evitaremos mensajes en los navegadores que indiquen que nuestra página no es de fiar.

Esto hace que debamos tener en cuenta la importancia de instalar un certificado SSL. Es sin duda un punto clave que no puede faltar en nuestra página.

 

No abusar de los plugins

Los plugins, los complementos, son muy variados en gestores de contenido como WordPress. Tenemos una gran cantidad de opciones que pueden ayudar tanto a administrar nuestra web, como también dar a los usuarios algunas funciones interesantes.

Ahora bien, el problema de los plugins es que pueden ser un peligro en caso de que haya alguna vulnerabilidad o que estén desactualizados. Esto es algo que debemos tener en cuenta, más allá de que también podrían ralentizar nuestra página en algunos casos.

Nuestro consejo es evitar en la medida de lo posible llenar la página de plugins. Debemos instalar únicamente aquellos que sean esenciales y que realmente puedan ayudarnos. Incluso hay algunos orientados en la seguridad que podemos tener en cuenta. Uno de los más populares es Wordfence.

 

Proteger el acceso de los usuarios correctamente

Un punto básico para proteger cualquier servicio online es evitar el acceso indeseado. No hay mejor forma que crear contraseñas que sean fuertes y complejas. No debemos dejar a la improvisación este aspecto, ya que podría servir para que atacantes pudieran entrar.

Lo primero que debemos tener presente es que la clave que vayamos a crear debe ser lo suficientemente fuerte como para evitar que cualquiera la averigüe. Debería tener letras (mayúsculas y minúsculas), números y otros símbolos especiales. Además tiene que ser aleatoria.

Pero no solo importa la contraseña para proteger el acceso a una web, sino que debemos también evitar poner nombres de usuario de administrador típicos como Admin, por ejemplo. Así dificultamos aún más los posibles ataques de fuerza bruta. La URL para acceder al panel de administración también deberíamos modificarlo y no usar el genérico.

Ataque por fuerza bruta para romper contraseñas

 

Escanear la web en busca de amenazas

De forma periódica podemos realizar un escaneo de la página web para buscar amenazas. Esto nos ayuda no solo a detectar posible software malicioso que hayamos subido, como complementos, imágenes, vídeos…

También podemos realizar un análisis para detectar ciertas vulnerabilidades que pueda haber presentes.

 

Realizar copias de seguridad

Por supuesto las copias de seguridad deben realizarse periódicamente. Así lograremos guardar los archivos, publicaciones y todo el contenido en caso de sufrir algún ataque o pérdida de información.

Siempre tendremos todo guardado en otro lugar para poder respaldarlo en caso de necesidad.

 

Evitar comentarios Spam

La ciberseguridad de nuestro sitio web no solo es mantener el buen funcionamiento de esa página y que todo vaya correcto. También debemos tener en cuenta la protección de los visitantes. Una manera en la que podrían infectarse, descargar software malicioso o terminar en páginas inseguras es a través de los comentarios que pueden dejar bots.

Esto podría dar una mala imagen de nuestra página. De ahí que sea muy importante controlar los comentarios a través de filtros para verificar que realmente es un usuario humano y no se trata de un bot que simplemente quiera enviar Spam. Es sin duda una de las mejores formas de proteger los datos de los usuarios.

 

Vulnerabilidades HTTP (+HTML)

Los sitios web forman parte de nuestro día a día. Gracias a los mismos, podemos acceder a la información que necesitamos y es posible realizar todo tipo de actividades. Sin embargo, existen varias actividades en la web que requieren el manejo de datos personales, o bien, cualquier tipo de dato que sea de carácter sensible. La seguridad de cualquier sitio web, incluyendo las aplicaciones web, más que nunca es un aspecto importante no sólo para quien está encargado del desarrollo, sino también, para los usuarios finales. Esta guía os va a explicar todo sobre las vulnerabilidades HTTP, las cuales pueden resultar casi tan severas como las XSS (Cross-Site Scripting), por citar un ejemplo.

El conjunto conformado por HTML y HTTP cuenta con varias aplicaciones con fines maliciosos, o que, simplemente, no se comportan de la manera que uno esperaría. En consecuencia, se convierten en importantes vulnerabilidades que atentan contra la integridad del sitio o aplicación web. Sobre todo, en cuanto a la seguridad de dicho sitio o aplicación.

 

Campos de formularios ocultos

Una de las prestaciones conocidas de HTML es que existe un atributo de formularios que permiten que campos u objetos se marquen como ocultos (hidden). ¿Esto cómo se refleja en una página? Al abrir una página web, el usuario solamente podrá completar los campos visibles, lo demás está oculto. Por supuesto, la mayoría de los usuarios no percibirá que precisamente existen campos de formularios ocultos. El peligro de esto es que el desarrollador de la página podría utilizar este atributo para implementar campos ocultos en formulario que le permitirían almacenar datos de carácter sensible en el servidor web. En muchos casos, es innecesario hacer esto.

En consecuencia, la ética profesional de cada desarrollador determinará si es adecuada la utilización de este particular atributo.

<html>
<input type="hidden" id="precio" name="precio" value="200">
<html>

Más arriba, es posible visualizar un ejemplo de aplicación de campos de formularios ocultos. Este es un supuesto campo oculto que almacena información de precios. Generalmente, en una tienda web, los distintos precios se manejan del lado del servidor. En este caso, dichos datos se manejan del lado del usuario. Es como si fuera que este campo oculto actúa como un supuesto servidor web que almacena datos de cualquier tipo. Aunque a simple vista, esto resulte bastante práctico tiene su riesgo, principalmente porque será posible que el propio usuario manipule los distintos precios simplemente desde el navegador.

Recuerda que es posible visualizar el código fuente de una página web desde el navegador. Google Chrome es el navegador que utiliza la mayoría de las personas y el atajo para acceder a la consola de desarrolladores es «CTRL + Mayús + I«. Con esto podrás hacer, entre otras cosas, guardar una copia en tu ordenador de la página web o valerse de un web proxy para manipular cualquier dato de una página web, sobre todo los campos de formularios.

Volviendo al ejemplo, gracias a los campos ocultos se puede manipular el precio del lado del usuario y aplicar el precio que uno quiera antes de finalizar la compra. Por ende, es recomendable no aplicar este tipo de atributos a los campos de formularios, más aún si se trata de sitios web que manejan valores.

 

URLs mágicas

Uno de los conceptos esenciales de HTML es la URL. Sus siglas en inglés significan Uniform Resource Locator. Es lo que generalmente la gente conoce como link o enlace a una página web cualquiera. En desarrollo web existe un curioso concepto de los enlaces mágicos o URLs mágicas. El estándar HTTP permite que un desarrollador web proporcione datos adicionales que sean relevantes en una URL en forma de verbos o par de claves. Estos datos adicionales, ya sean verbos o par de claves, son componentes esenciales de una URL mágica. Lo que se hace es administrar datos sensibles y/o importantes entre el cliente y el servidor web.

http://www.misitioweb.com?OpDEfgtRDBc&action=view

Más arriba vemos un ejemplo de una URL mágica. Aparentemente, no hay nada raro. Pero, lo que viene después de «.com/OpDEfgtR…» es el verbo o par de clave que lleva consigo estos datos que son tan relevantes para la comunicación entre el cliente y el servidor web. Ahora bien, ¿qué datos se podrían almacenar en URLs mágicas? Pueden ser contraseñas, claves de tipo PIN, números de cuenta bancaria, tarjetas de créditos, cookies de las distintas sesiones en una web y mucho más.

Este es otro caso de una supuesta aplicación práctica de manejo de datos pero que, sin embargo, puede ser bastante más peligrosa. Un cibercriminal puede interceptar la comunicación entre el cliente y el servidor web para poder decodificar la información disponible en ese verbo o par de claves en la URL. Con los recursos disponibles hoy en día, no será tarea muy difícil.

 

Cookies predecibles

A pesar de que es algo difícil evitar asociar la palabra cookie con las deliciosas galletas que todos conocemos, las cookies en la web juegan un papel esencial en la navegación día tras día. Están diseñadas de manera que puedan almacenar datos persistentes del lado cliente, es decir, en el propio dispositivo del cliente. Desde nuestro navegador, podemos administrar nuestras cookies en cualquier momento, y es que, sobre todo, nos ayuda a autenticar nuestra identidad en los distintos servicios web.

from http import cookies

cookieVal= 0
def getCookie():
c = cookies.SimpleCookie()
c['usercookie'] = cookieVal
cookieVal += 1
return c

El problema empieza cuando las cookies son desarrolladas con una lógica de generación predecibles. Es muy difícil que hoy en día se aplique algo así pero no debemos descartar el hecho de que muchas páginas web podrían tener este agujero de seguridad. Supongamos que una página web cualquiera (ver el ejemplo que está más arriba) genere cookies de sesión y a medida que se vayan generando cada una de ellas, el incremento se da de uno en uno. Es decir, cookie con valor «1», cookie con valor «2», cookie con valor «3» y así sucesivamente.

Fijándonos mejor en el código de ejemplo, esta es la línea que hace que el valor de la cookie, que está almacenado en la variable cookieVal, se incremente de a uno:

cookieVal += 1

Las cookies predecibles permiten que un cibercriminal logre acceder a las sesiones web de múltiples usuarios sin la necesidad de conocer las credenciales de acceso. Si una página web ha generado 1000 cookies con la lógica que acabamos de demostrar, si un cibercriminal logra tener control del sitio web, lograría apropiarse de 1000 sesiones de usuarios de dicha página. En consecuencia, es esencial que como desarrollador web apliques las mejores prácticas a la hora de trabajar con las cookies. Recursos gratuitos como los que podemos encontrar en Mozilla Developer Network son útiles, prácticos y accesibles a cualquiera que necesite garantizar la seguridad de las cookies. Puedes acceder a este recurso web en español sobre las cookies HTTP.

No queda dudas de que, sin HTML y HTTP, la web así como la conocemos no existiría. Sin embargo, no se salva de las vulnerabilidades. Esto significa que más que nunca, es importante conocer respecto a las vulnerabilidades citadas y manejarlas para tener un efectivo control de las mismas. Como resultado, las páginas web que llegues a desarrollar serán más robustas en cuanto a la seguridad y al final de cuentas, se traduce en tranquilidad y confianza para el usuario que cada vez más se encuentra expuesto a ciberataques.

 

Por qué es importante que la web cargue rápido

Es importante que la web cargue rápido por diferentes motivos. Por un lado, lógicamente está el poder ofrecer un buen servicio. Los usuarios que entran en un sitio van a querer que cargue rápido, que no tarde más de la cuenta en mostrar todo el contenido y que, en definitiva, no ralentice la navegación. Pero esto también va a ser importante de cara a que esa página aparezca en buscadores. Servicios como Google valoran mucho este tipo de aspectos como es que una web cargue lo más rápido posible. De lo contrario pueden penalizarlo y posicionarse peor en el buscador.

Por todo esto es necesario que la web cargue rápido. Hay diferentes factores que entran en juego y que pueden ralentizar este proceso. Por ejemplo, si tenemos muchas imágenes pesadas, vídeos, complementos… También puede haber diferencias según dónde esté alojada la web. Debemos conocer en todo momento si nuestra página carga bien o genera problemas. Por suerte tenemos herramientas que nos ayudan a obtener esta información. Una de ellas es Treo Site Speed, que es muy sencilla de utilizar y además gratuita. Vamos a ver cómo funciona.

 

Treo Site Speed

Una de las peculiaridades que tiene Treo Site Speed es que se basa en datos reales de los usuarios. De esta forma podemos tener más garantías de que lo que muestra se acerca a la realidad, a lo que en definitiva van a ver los usuarios que entre en nuestra página en un momento determinado.

Se basa en el conjunto de datos de informes de Chrome UX. Treo Site Speed utiliza esos informes y los muestra de una forma sencilla para saber si una web es rápida. Es tan sencillo como introducir la URL de esa página y esperar a que aparezcan los resultados correspondientes.

Para ello lo primero que tenemos que hacer es entrar en Treo Site Speed. Como decimos, es un sitio totalmente gratuito y es muy sencillo e intuitivo de utilizar.

Treo Site Speed

Una vez estemos dentro veremos una barra para poner la dirección que nos interesa, como aparece en la imagen de arriba. Allí simplemente tendremos que poner la URL que queramos y le damos a Find.

Usar Treo Site Speed

Posteriormente nos aparecerá información relacionada con la velocidad de carga del sitio, según el promedio de los usuarios reales. Viene representado en gráfico de barras, para poder tener una mejor visión. Allí aparece el contenido recogido durante los últimos 12 meses.

Podemos poner el cursor del ratón encima de cualquier barra del gráfico y obtener así información más detallada de un mes en concreto. Así nos muestra si la velocidad es correcta o no, para buscar la manera de poder mejorarlo y no tener problemas.

Aparecen diferentes gráficos, por lo que podemos tener información detallada muy variada. Incluso nos muestra también qué cantidad de usuarios utilizan dispositivos móviles o equipos de escritorio, así como la procedencia. Ya sabemos que en muchas ocasiones una web no carga igual de bien en un móvil que en un ordenador, ya que depende de si está correctamente adaptada a todo tipo de dispositivos o no.

En definitiva, Treo Site Speed es una interesante herramienta que podemos usar de forma gratuita en nuestro navegador para conocer si una página web funciona rápida o tiene problemas de velocidad. Esto es fundamental para que nuestro sitio funcione sin problemas, que no genere problemas que puedan afectar tanto a los usuarios como también al posicionamiento de esa web.

 

Por qué es importante controlar el estado del hosting

Cuando tenemos una página web es fundamental controlar diferentes aspectos para que funcione correctamente y no tener problemas de ningún tipo. Algo esencial es el servidor donde está alojada. Tiene que ser el adecuado y que en ningún momento tenga problemas, ya que podría significar errores que afecten a nuestros visitantes.

Es importante controlar el estado del hosting para ver en todo momento cuánto espacio disponible hemos consumido. Cada imagen, cada archivo que subimos a un artículo, va a hacer que el disco que tenemos a nuestra disposición pueda llenarse. Si esto ocurre nos veríamos obligados a aumentarlo (con el coste que eso conlleva) o a reducir lo que subimos.

También podemos comprobar el uso de bases de datos, la memoria física o la CPU. Todo esto va a ser fundamental para el buen funcionamiento y si alguno de estos apartados no ofrece lo que esperamos, podríamos tener problemas en la página web. Podría empezar a cargar lenta o no ofrecer una respuesta adecuada a los visitantes.

Debes tener en cuenta que lo que hoy puede ser suficiente para tu web, tal vez en un tiempo no lo sea. Por ejemplo, si hoy contratas un almacenamiento concreto para alojar archivos o si ese hosting tiene unas características concretas en cuanto a CPU o memoria RAM, puede que ahora sea suficiente para lo que buscas, pero en un futuro quedarse corto. Por ello, controlar el estado en todo momento puede indicarte cuándo debes contratar algo superior. El objetivo es que tu página web funcione siempre bien y no haya un momento en el que no cumpla con lo que esperas.

 

Cómo controlar el estado del servidor web

Podemos controlar el estado de nuestro servidor web de una manera sencilla. El hosting que estemos utilizando va a contar con un apartado de estadísticas donde podemos ver el espacio libre del disco, el consumo de la memoria física, transferencia de ancho de banda, etc. Todo esto estará actualizado y te dará una imagen exacta de qué puedes necesitar y tomar medidas lo antes posible.

¿Cómo podemos ver el estado del servidor web? Para ello lo primero que hay que hacer es iniciar sesión en el hosting que tenemos contratado. Una vez allí tendremos que buscar la información del hosting y acceder a él. Este proceso puede variar según el proveedor, pero los pasos son similares.

Cuando estemos dentro tendremos que pinchar en cPanel (o Plesk o lo que tengamos instalado) y ahí estaremos ya dentro de lo que es el servidor, con todos los apartados disponibles, la administración de dominios, plugins… En definitiva, las diferentes secciones de la página web que podrás administrar.

Dentro de todas las opciones que encontramos, una de ellas es la de Estadísticas. Si hacemos clic nos mostrará una serie de datos relacionados con el estado de nuestro servidor web. Podremos ver el uso del disco duro, la transferencia mensual consumida respecto a la disponible, etc. Por ejemplo, puedes ver de un simple vistazo cuánto espacio de almacenamiento te queda y calcular si se te puede agotar cuando empieces a subir más imágenes o artículos.

Consultar el uso de un servidor web

También podemos obtener información más exacta de cada uno de los apartados. Por ejemplo, si nos interesa saber más en profundidad cuál es el estado de la transferencia mensual, simplemente tenemos que pinchar en esa opción. Automáticamente nos llevará a una nueva ventana con gráficos y datos relacionados con el ancho de banda utilizado durante ese mes.

Ver la transferencia mensual

De cada uno de los apartados podemos analizarlo más en profundidad observando los datos no solo mensuales, sino también semanales, diarios, de todo el año… Así podremos comparar el consumo de recursos que hemos tenido según el mes e incluso poder hacer una previsión. Hay páginas que en determinadas épocas del año pueden tener un aumento de tráfico considerable. Si vemos que, en el mes de diciembre, por ejemplo, del año anterior tuvimos un incremento importante por las navidades, tal vez de cara al siguiente año fuera interesante aumentar ese límite y no tener problemas.

Por otra parte, tenemos también la opción de verificar las bases de datos. Podemos ver en qué estado se encuentran, cuánto espacio consume o analizar si hay algún tipo de error. El propio hosting nos ofrece la posibilidad de realizar pruebas y detectar posibles fallos que puedan interferir en nuestra página web. Esto es importante tenerlo en cuenta en todo momento, ya que puedes detectar posibles caídas que haya habido y errores que impidan que funcione correctamente.

En definitiva, como vemos es sencillo consultar el estado del servidor web. Podemos entrar en ver cada apartado en detalle o simplemente obtener información general, para ver que todo funciona correctamente, que no estamos agotando el espacio en disco o la transferencia mensual. Tener todo esto en orden, sin que haya ningún problema, va a ser importante para poder mantener siempre el buen funcionamiento de un sitio web.

Hay determinados factores que van a ayudar a que tu sitio web se posicione y funcione bien. Dentro de ellos podemos nombrar el uso de la CPU o almacenamiento. Si en un momento dado se queda corto, puede que la página empiece a funcionar peor y no ofrezca a los usuarios lo que buscan realmente. Un problema que puede hacer que esa página pierda posicionamiento en Google y otros motores de búsqueda. Por tanto, recomendamos que lleves a cabo una revisión periódica del estado del hosting y puedas anticiparte a errores que puedan surgir o mejoras que necesites implementar en la web.

 

Monitoriza cambios en tu página web con Visualping

Monitorizar los cambios visuales y de código en las páginas webs, es una tarea muy importante que cualquier administrador de sistemas debería realizar. Uno de los ataques más típicos contra las webs son los defacement, un ataque cuyo objetivo es cambiar la apariencia de nuestra web.

El funcionamiento de la herramienta Visualping es muy sencillo, simplemente tendremos que introducir la página web que queremos monitorizar, automáticamente la herramienta sacará una captura de pantalla de cómo está la web en un determinado momento, y seguirá monitorizando el estado de la web cada 5 minutos como mínimo y cada 1 semana como máximo. Si se detecta un cambio, nos avisará por email inmediatamente para informarnos de lo que ha ocurrido en nuestra web, o en cualquier otra web que estemos nosotros monitorizando.

Los avisos de Visualping se realizan a través de correo electrónico, Slack, Webhook o a través de una API. También podremos configurar el aviso para que únicamente se fije en el aspecto visual de la web, en el texto dentro de la web, e incluso en elementos en concreto de la página web que nosotros estemos monitorizando. Esta última opción permite comprobar en detalle el código fuente de la página web y no los píxeles como ocurre con la opción de visual.

Otras características interesantes son que permite monitorizar únicamente ciertas regiones de la página web, y no toda entera, esto es ideal para «fijarnos» en una zona en concreto y evitar falsos positivos porque se ha modificado otra parte de la web que no nos interesa. También permite configurar si queremos que nos avise con cambios pequeños, medianos o cambios grandes, esto es ideal también para evitar los falsos positivos de un cambio no autorizado en la página web.

Por último, si eres un usuario avanzado o un webmaster, podrás ejecutar ciertas acciones antes de tomar la captura de pantalla de la página web, en el siguiente vídeo podéis ver todos los detalles:

Para acceder a estas acciones avanzadas y utilizarlas correctamente, os recomendamos visitar este completo tutorial de Visualping para peticiones avanzadas.

Lo primero que tenemos que hacer es entrar en la web oficial de Visualping, en el menú principal, sin necesidad de registros, podremos poner la URL o dominio de la página web que nosotros queremos monitorizar, tal y como podéis ver a continuación:

Al pinchar en «Go», automáticamente Visualping.io cargará la web, en este caso la web de RedesZone, y ahora es donde podremos elegir qué parte o zonas queremos monitorizar, o si directamente queremos monitorizar la pantalla principal entera.

En la parte inferior es donde podremos poner nuestra dirección de correo electrónico para el envío de las alertas por email, algo fundamental para enterarnos cuanto antes de que ha habido un cambio en la web. En la zona de la derecha tenemos la posibilidad de configurar la periodicidad de los «checks», es decir, de las comprobaciones.

También podremos configurar si queremos comprobar cambios visuales, de texto o de elementos.

Si elegimos los cambios visuales, podremos configurar el área que queremos monitorizar, si queremos utilizar algún tipo de Proxy para realizar la petición a la página web (por si acaso Visualping está bloqueado) e incluso avisarnos por email si ha habido un cambio pequeño, mediano o un gran cambio en la web desde la última vez.

En el caso de los ataques de defacement, es muy útil la sección de «keyword», esto nos permite monitorizar si una palabra o varias aparecen en la web, y de ser así, también nos avisará, ya que podríamos haber sido atacados.

Tal y como habéis visto, monitorizar el aspecto, texto y los elementos de una página web es realmente sencillo con esta herramienta.

Visualping es totalmente gratuito para un uso muy básico y personal, pero con limitaciones, únicamente nos permitirá monitorizar dos páginas con una periodicidad de un día, en caso de que necesites comprobar más a menudo tu página web, e incluso monitorizar más páginas, deberás comprar las diferentes suscripciones de pago.

En la siguiente captura de pantalla podéis ver las suscripciones de pago que podemos comprar si vamos a realizar las comprobaciones diariamente:

En caso de querer hacer comprobaciones cada 5 minutos, el único plan que puedes contratar es el «Intensive 10K»:

Debemos tener en cuenta que los planes más caros están orientados sobre todo a empresas que se dedican específicamente a las webs, ya que con los planes «Basic» e «Intensive» en la mayoría de los casos debería ser suficiente.

¡Sé el primero en comentar!