Haciendo recorrido a motores y tecnologías de Big Data de amplio uso, como parte de nuestro trabajo de actualización y mejora de los plugins de Faast, llegamos a Riak. Éste es un motor NoSQL que goza de cierta popularidad por su capacidad de trabajar en clusters distribuidos y es común encontrarlo en auditorías de seguridad.
Figura 1: Big Data Security Tales “Riak NoSQL Database”
Encontrar estos motores haciendo hacking con buscadores no es especialmente complejo. En primer lugar porque en buscadores como Shodan ya cuenta con su catalogación de producto, ya que es fácil localizarlo por los puertos 8087 para el protocolo de comunicación riak y el 8098 para el panel de acceso HTTP.
Figura 2: Riak NoSQL en Shodan
En la parte de acceso web, el servidor web utiliza el HTTP Header del servidor MochiWeb & WebMachine, por lo que es sencillo saber si hay muchas posibilidades o no de encontrarse con un servidor NoSQL de Riak.
Figura 3: Puerto 8098 con el servicio HTTP
Si el servicio HTTP está levantado, lo más probable es que te encuentres con un listado de ficheros en el directorio raíz, donde entre otros estará el archivo de estadísticas, con información general de todos los servidores que forman parte del cluster de Riak.
Figura 4: Contenido del servicio HTTP por el puerto 8098
No muchos de esos archivos son accesibles, y algunos son end-points de peticiones de servicio al motor NoSQL de Riak, pero entre ellos es posible que localices algún panel de adminsitración abierto al público.
Figura 5: Archivo Stats
Son muchos los que tienen el software de Riak Control o Riak Explorer publicados en la carpeta /admin, así que lo único que hay que hacer para ver si están o no publicados al exterior – que no deberían estar sin control – es buscar en esa URL.
Figura 6: Rick Control publicado al exterior de un cluster NoSQL
Con Riak Control se puede ver qué nodos forman parte del cluster y, entre otras cosas de monitorización, parar uno de ellos o hacer cambios en la configuración de cada uno de ellos.
Figura 7: Herramienta para gestionar los nodos de un cluster
Todas las cosas que se pueden hacer con Riak Control las puedes ver en este pequeño vídeo de marketing que hizo la compañía.
Figura 8: Vídeo de explicación de Riak Control
En el caso de Riak Explorer, se pueden crear configuraciones para gestionar los datos almacenados en el cluster NoSQL. Ahí tendrás listados de índices y los cubos de datos que se pueden crear ahí.
Figura 9: Riak Explorer… por HTTP
También se puede acceder a información detallada de cómo está funcionando el sistema y configurar los gráficos de control y monitorización a gusto, para tener los dashboards que se deseen con información de todos los nodos.
Figura 10: Gráficos en Riak Explorer
Tener esta consola de administración de cara a Internet puede ser un peligro, ya que cualquiera puede configurarse los buckets que desee, lo que puede producir errores en el funcionamiento de aplicaciones conectadas al motor.
Figura 11: Publicar una herramienta que puede hacer acciones potencialmente peligrosas en el sistema sin control de acceso no parece lo más oportuno. Ponle un Latch!
Encontrar estas utilidades de adminsitración web publicadas a Internet debería generar una alerta de seguridad para comprobar si están protegidas de forma segura o no. Si tienes un motor Riak en algún revisa su configuración. Sí, yo tampoco he visto mucho HTTPs.