MongoDB es un software de base de datos NoSQL desarrollado y distribuido como software gratuito y de código abierto. A diferencia de otros tipos de bases de datos este guarda los datos como estructuras JSON con un esquema dinámico, siendo así mucho más fácil de integrar en muchas aplicaciones. Este software de bases de datos lleva en el mercado desde 2007 y cuenta con un gran número de usuarios, sin embargo, si los administradores de sistemas no revisan a fondo la configuración es posible que estén exponiendo las bases de datos en Internet.
Según un grupo de investigadores de seguridad los administradores de sistemas que han estado utilizando versiones no actualizadas y sin parches de MongoDB han estado exponiendo sus datos debido a un fallo en la configuración por defecto de estas bases de datos. Se calcula que la cantidad de datos que están comprometidos por utilizan bases de datos MongoDB mal configuradas es de alrededor de 600TB. Podéis visitar nuestro tutorial para instalar y configurar Bind9 en Linux.
Todas las versiones de MongoDB anteriores a 2.4.14 escuchan por defecto la IP 0.0.0.0 (es decir, todas las interfaces de red). Esto puede permitir a usuarios no autorizados acceder a las bases de datos sin restricciones de red. Esta vulnerabilidad fue reportada hace más de 3 años y fue considerada «crítica», sin embargo no fue solucionada hasta hace dos años. Las versiones más actualizadas de 2.4, aunque cambian este parámetro, configuran su valor como «bind_ip 127.0.0.1«, una configuración también demasiado restrictiva y que termina por exponer los datos si los administradores de sistema no modifican manualmente el fichero de configuración para restringir el acceso a su base de datos.
Según los expertos de seguridad la configuración por defecto de MongoDB debería ser lo más restrictiva posible. Si algún administrador de sistema tiene problemas de acceso él mismo puede cambiarla desde el archivo de configuración, ya que de esa manera sería él quien reduce la seguridad de la base de datos manualmente, y el responsable de lo que pudiera ocurrir.
Aunque en la mayoría de las ocasiones las bases de datos se protegen con contraseña, muchos usuarios utilizan servicios de hosting de terceros como OVH, Amazon, Océano Digital y Linode, plataformas en las que por lo general las bases de datos están «abiertas», o lo que es lo mismo, expuestas.
Las versiones 2.4.x son las más utilizadas, por lo que se recomienda a los administradores de sistemas actualizar sus bases de datos o, por lo menos, revisar los parámetros de configuración para evitar seguir exponiendo los datos en la red. La versión 2.6.x es la tercera más utilizada y, a partir de esta, no se encuentran por defecto los dos fallos de seguridad anteriores.
No es la primera vez que un fallo expone las bases de datos de MongoDB
No es la primera vez que esto ocurre. El pasado mes de febrero un grupo de investigadores alemanes descubrieron que alrededor de 40.000 bases de datos de este software estaban abiertas en la red permitiendo que cualquier usuario pudiera acceder a su información.
Las bases de datos de MongoDB son muy utilizadas por grandes y prestigiosas compañías como eBay, Sourceforge, The New York Times y LinkedIn. Aunque estas compañías sí que tienen sus bases de datos actualizadas y bien configuradas, la mayoría del resto de usuarios utilizan versiones no actualizadas y vulnerables que están exponiendo sus datos en la red.
Se recomienda a todos los administradores de este software de bases de datos que se aseguren de tener instalada la última versión (3.0.2 de abril de 2015) o por lo menos una versión superior a la 2.6.7 para evitar seguir con las bases de datos abiertas en la red.
¿Crees que se debería prestar más atención a la seguridad de las bases de datos?