echeide.com

En muchas ocasiones, las empresas no son conscientes de los peligros de seguridad y los datos que están exponiendo públicamente sin saberlo. Para ilustrar este hecho, les traigo una pequeña experiencia personal que me ocurrió.

Recientemente, trabajando la comunicación de un cliente, tras el envío de un boletín informativo de correo, el sistema me notificó que uno de los usuarios se había dado de baja del boletín. La curiosidad me llevó a hacer una búsqueda en Google, para saber un poco más sobre ese correo y entonces di por casualidad con un agujero de seguridad.

La búsqueda del correo me llevó a un fichero en Excel, de más de 300 empresas, donde figuraba el nombre de la empresa, la persona responsable y su correo electrónico, lo cual me empezó a oler un poco a chamuscado.

Seguí tirando un poco de la madeja y por medio de la IP pública (ya que ni siquiera el servidor tenía dominio), conseguí acceder a una Intranet privada de una gran empresa, donde podía acceder a programas de gestión, herramientas internas y a muchos datos del personal interno y de clientes. El acceso de la Intranet estaba protegida con contraseña, pero su contenido NO, con lo que, si te saltabas la página de acceso, podías acceder a TODO.

fallo_seguridad2

Captura de pantalla de los datos a los que pude acceder

Con un poco más de esfuerzo y tiempo, no creo que me resultara demasiado difícil acceder a cosas más críticas. Por ejemplo, con la lista de empleados y un listado de contraseñas, me hubiera resultado fácil a acceder, por fuerza bruta, a los programas de ventas y de almacén.

Escribí un correo al responsable de informática de la empresa, comentándole el problema de seguridad que había encontrado para que pusiera remedio a la situación. Otro tipo de personas quizás se hubiera aprovechado de la situación y se habría puesto en contacto con la competencia, para venderle la información, o le hubiera hecho alguna faena a la empresa.

Lo sorprendente fue su respuesta:

Ante todo muchas gracias por la información y por tomarte la molestia de buscar vulnerabilidades.

Comentarte que actualmente estamos en transición hacia una intranet en raills y no en php (la intranet surgió inicialmente para temas puntuales y se ha ido aumentando).

Ciertamente tenemos vulnerabilidades para ciertos apartados de la intranet en php que consideramos que no son de relevancia y somos conscientes de ellos, a pesar de lo cual, estamos migrándola a ruby para que por mínimos que nos parezcan, no se den en un futuro.

Esperamos solventar dichos problemas lo antes posible.

Este ejemplo demuestra la poca importancia que se toman muchas empresas en materia de protección de datos y de exposición de información. No había ninguna preocupación porque esos datos estuvieran expuestos y se estaba echando la culpa a la tecnología: «una intranet en raills y no en php», como si ese fuera el problema.

Pienso que, aunque se esté mejorando una Intranet, hacerla menos vulnerable es bastante sencillo.

¿Qué pasos debo seguir para tener una Intranet segura?

Evitar que los buscadores indexen el contenido de tu Intranet

Lo primero que deberíamos hacer es evitar que los «robots» de Google accedan a tu Intranet, para evitar que tus páginas sean mostradas en resultados de búsquedas. Esto se puede consiguir de varias formas:

Colocando una metaetiqueta en la sección <head> de cada página, que informe a los robots de búsqueda que no indexen el contenido:

<meta name="robots" content="noindex">

También se puede crear un fichero llamado «robot.txt» donde se indique las URL que deben ser indexadas y las que no.

La sintaxis  del texto para utilizar las palabras clave es la siguiente:

User-agent: [the name of the robot the following rule applies to]

Disallow: [the URL path you want to block]

Allow: [the URL path in of a subdirectory, within a blocked parent directory, that you want to unblock]

Más información sobre este tipo de archivos aquí

Bloquear IP externas a tu Intranet

Si estamos hablando de una Intranet, normalmente nos referimos a un tipo de red donde el acceso debería limitarse al ámbito del lugar de trabajo. Podríamos crear un fichero que limite el acceso a los ficheros a unas IP determinadas, evitando que cualquier usuario externo pueda acceder a tu sitio.

en el fichero .Htacces podemos poner algo como esto:

 order allow,deny
deny from all
allow from 123.456.786

Proteger acceso a carpetas con contraseña

Si no puedes limitar el acceso por IP, ya sea porque utilizas IPS dinámicas o por otro motivo, puedes proteger tu página mediante HTACCES. No es la solución más óptima, pero al menos protegerán tus datos de miradas indiscretas externas. Existen muchos tutoriales en Internet que te explican cómo hacerlo.

Ocultar vista de archivos del apache

Cuando accedemos mediante el navegador a carpetas del servidor, si esta carpeta no tiene un fichero index.hmtl, mostrará el contenido de la carpeta, ofreciendo información al usuario sobre su contenido. Una forma de evitar esto es creando un fichero index.html, completamente en blanco, y añadiéndolo a todas las carpetas de tu Intranet.

Con estos cuatro consejos podrás evitar visitas extrañas y el acceso a tu información. Lo ideal es contar con un sistema de gestión de usuarios para tu Intranet, pero eso dependerá del tamaño de la empresa y de cómo se tomen en serio la seguridad los que mandan.