CloudBleed, filtración de información en servicios de CloudFlare

Cloud Bleed

Un severo fallo de seguridad fue descubierto en los servicios ofrecidos por CloudFlare, el fallo en cuestión ha ocasionado que un gran número de sitios web de renombre filtraran datos privados en Internet. Entre los datos filtrados se cuentan: cookies HTTP, tokens de autenticación, cuerpos de peticiones HTTP POST, contraseñas, datos personales y otros, además, estos datos filtrados pueden haber sido cacheados por algunos motores de búsqueda, lo que hace que estén disponibles en Internet aún después de haber sido corregido el problema.

El origen de la vulnerabilidad se encuentra en un bug del código que usa CloudFlare para analizar y modificar de forma dinámica las páginas HTML antes de entregarlas a los clientes, lo que ocasionaba un desbordamiento de buffer y el filtrado de memoria, y permitía que fragmentos aleatorios de datos de otras páginas servidas por CloudFlare se incluyeran en las respuestas HTML que entregaba el servicio (más información).

CloudFlare asegura que las llaves privadas de los certificados SSL de sus clientes no fueron filtradas y que el fallo ha sido corregido, además dicen no tener evidencia de que esta vulnerabilidad haya sido explotada de forma activa, pero, teniendo en cuenta que las primeras filtraciones de información tuvieron lugar en septiembre de 2016, podemos asumir con certeza que una gran cantidad de datos privados fueron filtrados a Internet.

Es imposible determinar con certeza que sitios fueron afectados, pero, teniendo en cuenta la gran cantidad de sitios servidos por CloudFlare, recomendamos cambiar las contraseñas de todas tus cuentas y habilitar la autenticación en dos pasos cuando sea posible, pues, independientemente de si tu sitio web usa los servicios de CloudFlare, es muy probable que hayas visitado algún sitio web que sí lo hace, y este sitio podría haber filtrado tus datos.

Entre los sitios servidos por CloudFlare se cuentan los siguientes:

  • 4chan.org
  • authy.com
  • change.org
  • crunchyroll.com
  • discordapp.com
  • feedly.com
  • hardsextube.com
  • medium.com
  • nationalreview.com
  • pastebin.com
  • patreon.com
  • petapixel.com
  • putlocker.ws
  • puu.sh
  • thepiratebay.org
  • tineye.com
  • uber.com
  • yelp.com
  • zendesk.com

Y tu, ¿cuánto hacía que no cambiabas tus contraseñas?

Si te interesa este tipo de contenido y no quieres perderte nuestros artículos, puedes registrarte para recibir notificaciones de contenido nuevo en tu correo, o darle like a nuestra Facebook Page. Para conocer nuestros planes de hosting ingresa hosting.smartbox.host.

No olvides comentar ?

Protocolo SFTP o SSH File Transfer Protocol

SSH File Transfer Protocol

En el artículo del día de hoy vamos a conocer qué es el protocolo SFTP (SSH File Transfer Protocol) y por qué es importante implementarlo en nuestro servicio de hosting, pero, antes de comenzar a hablar de SFTP, es necesario mencionar un par de protocolos anteriores: FTP (File Transfer Protocol) y SSH (Secure SHell).

Debido a que este post es sobre SFTP, simplemente vamos a revisar en qué consisten los protocolos FTP y SSH sin profundizar en ello (ese será tema para futuros posts).

FTP o File Transfer Protocol

El protocolo FTP, como su nombre lo indica, es un protocolo de transferencia de archivos, además de ser uno de los más viejos y populares de Internet. El objetivo de este protocolo es poder transmitir archivos entre dos equipos de una red de manera sencilla, esto es: usando un conjunto de comandos estándar muy simples, sin que el usuario deba conocer cómo usar el sistema remoto y sin que el usuario deba iniciar sesión en el sistema remoto. Al ser un protocolo tan antiguo, FTP no encripta los datos de usuario y contraseña al momento de autenticarse contra el sistema remoto.

SSH o Secure SHell

El protocolo SSH es un protocolo que permite establecer comunicaciones seguras entre dos equipos de una red, permitiendo de esta manera, a un usuario, conectarse a un host remoto. A diferencia de FTP, SSH sí encripta los datos de la conexión, lo que hace imposible que algún atacante malintencionado pueda obtener la cotraseña si nencriptar.

¿Ahora ves por donde va el asunto de SFTP? Así es, este protocolo es una especie de híbrido entre SSH y FTP.

SFTP o SSH File Transfer Protocol

SFTP es un protocolo de red que ofrece las siguientes características de forma segura:

  • Acceso a archivos
  • Transferencia de archivos
  • Administración de archivos
  • Reanudación de transferencias interrumpidas
  • Listado de directorios
  • Eliminación remota de archivos
  • Asociación de atributos básicos sobre archivos subidos, como los sellos de tiempo

Este protocolo fue diseñado como una extensión del protocolo SSH versión 2.0, para proveer capacidades de transferencia de archivos segura. Este protocolo asume que se está ejecutando sobre un canal seguro como SSH, que el servidor ya ha autenticado al cliente y que la identidad del usuario cliente está disponible para ser usada por el protocolo. El protocolo en sí mismo no proporciona autenticación y seguridad, sino que espera que el protocolo subyacente lo asegure por el.

SFTP no debe considerarse como FTP ejecutado sobre SSH, sino más bien, como un protocolo nuevo diseñado desde cero, además, se debe tener cuidado de no confundirlo con el protocolo Simple File Transfer Protocol.

Importancia de SFTP para la transferencia de archivos

En este punto ya deberías tener una idea bastante clara de por qué es es importante implementar SFTP en tu servicios de hsoting, pero vamos a darte unas cuantas pistas mas.

Los datos enviados a través de Internet está expuestos a multitud de amenazas, por ejemplo, un usuario malintencionado puede:

  • Interceptar nombres de usuario y contraseña
  • Suplantar a un usuario legítimo de un sistema
  • Modificar los datos que están siendo enviados
  • Hacerse con el control de un servidor

SFTP provee el más alto nivel de protección; es el único protocolo de transferencia de archivos que ofrece protección contra ataques en cualquier momento del proceso de transferencia de datos, lo que lo hace el protocolo preferido este tipo de tareas. Entre las técnicas usadas por SFTP para hacer frente a las diferentes vulnerabilidades durante una operación de transferencia de archivos se encuentran:

  • Las credenciales de inicio de sesión de un usuario (contraseña, clave pública, etc.) son verificadas durante el proceso de autenticación del usuario
  • El servidor es autenticado a través de la verificación de la identidad del host, un proceso que involucra las llaves del host
  • Al usar SFTP, solamente se establece una conexión segura, a través de la cual se transmiten todos los datos (información de autenticación, datos de archivo, etc.). SFTP garantiza la integridad y la seguridad de los datos mediante la aplicación de SSH2 Message Authentication Code (MAC), a los paquetes de datos hasheados que están encriptados en el flujo de datos

En SmartBox, los planes de hosting VPS y hosting dedicado implementan SFTP para las transferencias de archivos. Y tu proveedor de hosting, ¿que protocolo para transferencia de archivos implementa?

Si te interesa este tipo de contenido y no quieres perderte nuestros artículos, puedes registrarte para recibir notificaciones de contenido nuevo en tu correo, o darle like a nuestra Facebook Page. Para conocer nuestros planes de hosting ingresa hosting.smartbox.host.

No olvides comentar ?

 

Denegación de servicio en OpenSSL

Logo Open SSL

El día 16 de febrero se ha publicado una nueva versión de OpenSSL que busca corregir una vulnerabilidad de tipo Denegación de Servicio o DoS (por su siglas en inglés) de severidad alta.

OpenSSL es un proyecto open source que provee un completo kit de herramientas, robusto y de grado comercial, para los protocolos Transport Layer Security (TLS) y Secure Sockets Layer (SSL), además de ser una biblioteca criptográfica de propósito general.

La vulnerabilidad reside en que, si durante una renegociación, la extensión Encrypt-Then-Mac está presente, pero no lo estaba en la negociación original (o viceversa), esto puede causar el bloqueo de OpenSSL (dependiendo de la suite de cifrado). Tanto los clientes como servidores se ven afectados.

La vulnerabilidad ha sido identificada con CVE-2017-3733. Se recomienda actualizar la librería OpenSSL a la versión 1.1.0e. Esta vulnerabilidad no afecta la versión 1.0.2. Además, se recuerda que el soporte para la versión 1.0.1 finalizó el 31 de diciembre de 2016, y que el soporte para las versiones 0.9.8 y 1.0.0 finalizaron el 31 de diciembre de 2015, dichas versiones no recibirán mas actualizaciones de seguridad.

Más información en: https://www.openssl.org/news/secadv/20170216.txt.

En SmartBox este tipo de actualizaciones se incluyen en nuestro servicio y las gestionamos por ti, consulta con tu proveedor de servicios de hosting actual si ya ha aplicado la actualización requerida.

Si te interesa este tipo de contenido y no quieres perderte nuestros artículos, puedes registrarte para recibir notificaciones de contenido nuevo en tu correo, o darle like a nuestra Facebook Page. Para conocer nuestros planes de hosting ingresa hosting.smartbox.host.

No olvides comentar ?

 

Ataques Cross-Site Scripting (XSS)

Corss-Site Scripting

En este artículo vamos a conocer qué son los ataques Cross-Site Scripting (XSS), en qué consisten, qué riesgo implican y qué tipos de ataque existen. En un artículo posterior veremos cómo podemos defendernos de este tipo de ataques.

Si te interesa este tipo de contenido y no quieres perderte nuestros artículos, puedes registrarte para recibir notificaciones de contenido nuevo en tu correo.

Qué es XSS

Cross-Site Scripting es un tipo de ataque de inyección de código, cuyo objetivo fundamental es lograr la ejecución de código JavaScript malicioso del lado del cliente, en el contexto del explorador web. Este tipo de ataques pueden ser dirigidos o no, dependiendo del tipo de ataque XSS que se esté explotando.

En qué consiste un ataque XSS

Los ataques XSS son posibles gracias a la existencia de sitios web vulnerables. En este tipo de ataques, el atacante explota un sitio web vulnerable para conseguir que dicho sitio web entregue el contenido JavaScript malicioso por él, de esta forma, un visitante que llegue al sitio web comprometido recibirá el contenido JavaScript malicioso directamente desde el sito web. El explorador web de la víctima no sabrá que el contenido entregado por el sitio web contiene código JavaScript malicioso, ya que desde su punto de vista, el contenido se origina de forma legítima en el sitio web. Así, pues, el sitio web se ve involucrado de forma involuntaria en el ataque.

Riesgos

A primera vista se podría pensar que este tipo de ataques no implican mucho riesgo para las víctimas, ya que el código JavaScript se ejecuta normalmente del lado del cliente, y los exploradores web controlan el nivel de acceso que dicho código tiene sobre la computadora y los datos del usuario, pero el nivel de peligrosidad de estos ataques se hace evidente cuando se analizan con detenimiento. Ya sabemos que el código malicioso se ejecuta en el contexto del explorador web de la víctima, y en este contexto el código malicioso puede realizar peticiones HTTP a través de objetos XMLHttpRequest, acceder a información sensible de la víctima, como la información almacenada en las cookies, y modificar la página actual con métodos de manipulación del Document Object Model (DOM).

Para ilustrar los riesgos de este tipo de ataques considere el siguiente escenario:

Un atacante logra explotar un sitio web vulnerable e inyecta código JavaScript malicioso en dicho sitio web. Este sitio web es uno de sus sitios preferidos, el cual usted visita con frecuencia.

Ahora considere las siguientes opciones que puede realizar dicho código JavaScript, todas ellas verdaderas:

  • El código malicioso inyectado modifica el DOM de la página de tal forma que genera un formulario de forma dinámica ofreciendo algún beneficio por registrarse; usted diligencia el formulario y al hacer click para enviar los datos del formulario, sus datos son enviados al servidor del atacante usando una petición HTTP en vez de ser enviados al servidor legítimo.
  • El código malicioso inyectado se ejecuta en su navegador web y accede a los datos de su cookie a través de la propiedad document.cookie, luego, a través de una petición HTTP, envía estos datos al servidor remoto del atacante, el atacante puede usar estos datos para suplantarlo a usted en el servidor legítimo.
  • El código malicioso inyectado registra un escuchador de eventos para los eventos del teclado, así, cada vez que usted pulsa una tecla en su computadora, el escuchador de eventos registra la tecla pulsada, almacenando de esta manera todo lo que usted digita en su teclado, luego, estos registros son enviados al servidor remoto del atacante.
Tipos de ataque

Anteriormente estos ataques se clasificaban en tres categorías:

  • XSS almacenados (persistentes o tipo I). Este tipo de ataques almacenan el código JavaScript malicioso de forma permanente en el servidor, en una base de datos, mensaje de foro, etc. Cuando la víctima solicita la página que contiene el código malicioso, este se descarga y se ejecuta. Actualmente, este tipo de ataques puede almacenar el código malicioso de forma permanente del lado del cliente, en el explorador web.
  • XSS reflejados (no persistentes o tipo II). Este tipo de ataques ocurren cuando los datos ingresados por el usuario son retornados inmediatamente a manera de respuesta por la aplicación web, de manera total o parcial, como en el caso de un mensaje de error o el resultado de una búsqueda.
  • XSS basado en DOM (tipo 0). En este tipo de ataque todo el flujo de datos maliciosos se da en el explorador web, es decir, el código HTML no contiene el código malicioso, en vez de esto, el código malicioso se genera y se ejecuta de forma dinámica en el tiempo de ejecución, y solo puede ser observado analizando el DOM de la página.

Actualmente, este tipo de ataques se organizan en dos grupos:

  • XSS de servidor. Este tipo de ataque ocurre cuando una entrada de datos no confiable proporcionada por el usuario es usada por el servidor web para generar una página HTML y enviarla al explorador web. El origen de esta entrada de datos puede ser una petición web por parte del usuario o información almacenada por el servidor. De esta forma, la vulnerabilidad se da por completo del lado del servidor, y el explorador web simplemente interpreta la página enviada por el servidor y ejecuta cualquier JavaScript incrustado en ella. Como se puede ver, existen XSS de servidor reflejados y XSS de servidor almacenados.
  • XSS de cliente. Este tipo de ataques ocurre cuando una entrada de datos no confiable proporcionada por el usuario es usada para actualizar el DOM por una llamada de JavaScript insegura. Una llamada de JavaScript se considera insegura si esta puede ser usada para introducir código JavaScript válido dentro del DOM. El origen de esta entrada de datos puede ser el DOM o  el servidor (vía una llamada AJAX o carga de página). El último origen de estos datos puede ser de una petición o de una ubicación almacenada en el cliente o en el servidor. Como se puede ver, existen XSS de cliente reflejados y XSS de cliente almacenados.

Hemos llegado al final de nuestro primer artículo sobre ataques XSS, ahora tenemos una visión general de este tipo de ataques y sabemos en que consisten. En nuestro siguiente artículo veremos como protegernos contra este tipo de ataques.

Si te interesa este tipo de contenido y no quieres perderte nuestros artículos, puedes registrarte para recibir notificaciones de contenido nuevo en tu correo, o darle like a nuestra Facebook Page. Para conocer nuestros planes de hosting ingresa hosting.smartbox.host.

No olvides comentar ?

¿Cómo crear contenedores con OpenVZ?

Logo OpenVZ

Este es el tercer y último artículo de la serie de tres artículos sobre OpenVZ; en este artículo vamos a conocer cómo crear un contenedor en nuestro HN y habilitar el acceso a internet.

Los prerequisitos para seguir este artículo de forma práctica son:

  • Haber realizado los pasos del segundo artículo relacionado a OpenVZ.
  • Dirección IP pública del HN.
  • Nombre de la interface de red del HN.
  • Rango de red que se usará para los contenedores.

Muy bien, teniendo los puntos anteriores listos y habiendo iniciado sesión como root en nuestro HN estamos listos para comenzar.

1. Lo primero que vamos a hacer es descargar un template del sistema operativo que vamos a instalar en nuestro contenedor. En esta ubicación puedes encontrar un listado de templates publicados por la comunidad de OpenVZ. Una vez hayamos elegido nuestro template procedemos a descargarlo en /vz/template/cache sin descomprimirlo, en nuestro caso vamos a instalar la versión minimal de CentOS 7

wget /vz/template/cache/ http://download.openvz.org/template/precreated/centos-7-x86_64-minimal.tar.gz;

2. El siguiente paso es crear nuestro contenedor. Este contenedor lo vamos a crear con la cantidad de recursos físicos que se asignan por defecto, pero estos valores pueden ser modificados al momento de crear el contenedor. Par mas información sobre como limitar los recursos puedes consultar el manual de vzctl. Para crear el contenedor vamos indicar un identificador y el template que deseamos usar; nuestro identificador será 100 y el template será el que descargamos en el paso anterior. Es posible listar los templates disponibles con el comando ls /vz/template/cache/

vzctl create 100 --ostemplate centos-7-x86_64;

3. Una vez creado nuestro contenedor procedemos a asignarle su nombre de host, dirección IP y el nameserver que usará para las resoluciones DNS; en el comando debemos indicar el identificador del contenedor al cual le vamos a asignar estos valores. Para este ejemplo vamos a usar la IP de uno de los servidores DNS de Google

vzctl set 100 --hostname example.com --ipadd 192.168.0.100 --namesever 8.8.8.8 --save;

4. Ahora que tenemos nuestro contenedor con la configuración básica vamos a iniciarlo

vzctl start 100;

5. En este punto ya hemos creado y configurado nuestro contenedor y lo hemos iniciado; el comando vzlist permite ver los contenedores que se encuentran en ejecución actualmente. El paso siguiente será agregar las reglas necesarias en IPtables para permitir que el contenedor se conecte a internet (en el comando siguiente ip_publica representa la IP pública de tu HN)

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to ip_publica;

6. ¡Listo! Nuestro contenedor ha quedado creado, configurado y con acceso a internet. Solo queda acceder a nuestro contenedor y probar el acceso a internet

vzctl enter 100;
wget --server-response http://www.google.com;

Espero que estos tres sencillos artículos te hayan servido para darte cuenta del potencial de OpenVZ.

Si te interesa este tipo de contenido y no quieres perderte nuestros artículos, puedes registrarte para recibir notificaciones de contenido nuevo en tu correo, o darle like a nuestra Facebook Page. Para conocer nuestros planes de hosting ingresa hosting.smartbox.host.

No olvides comentar ?

Nueva actualización de seguridad para WordPress.

Logo WordPress

Hace algunos días se ha hecho pública una actualización para WordPress que busca solucionar cuatro vulnerabilidades de tipo exposición de información, inyección de SQL, cross-site scripting y escalación de privilegios.

La primera vulnerabilidad reside en la interfaz de usuario para asignar términos de taxonomía en Press; esto se muestra a usuario que no tienen permisos para usarlo. Por otra parte, WP_Query es vulnerable a inyección de SQL cuando se le pasan datos inseguros; el core de WordPress no es directamente vulnerable a este problema, pero se han agregado medidas de seguridad para prevenir que plugins y temas causen vulnerabilidades accidentalmente. Adicionalmente, una vulnerabilidad de tipo cross-site scripting fue descubierta en la tabla de lista de posts. Finalmlente, una vulnerabilidad de escalación de privilegios sin autenticación fue descubierta en un punto final de la API REST.

Se recomienda a todos los usuarios de WordPress actualizar a la última versión de este sofware desde el sitio oficial o desde el dashboard: Actualizaciones (Updates), Actualizar Ahora (Update Now).

Si te interesa este tipo de contenido y no quieres perderte nuestros artículos, puedes registrarte para recibir notificaciones de contenido nuevo en tu correo, o darle like a nuestra Facebook Page. Para conocer nuestros planes de hosting ingresa hosting.smartbox.host.

No olvides comentar ?