Creo que todos sabemos de primera mano o de forma bastante cercana, lo que significa un usuario con altos privilegios administrativos, mejor conocido como Super Admin, root, Administrator, etc. Ya des entender un poco el punto, el problema de la seguridad en base de datos es que no definimos claramente que debe hacer cada usuario.
Seguridad en Base de Datos, qué hacer para lograrlo?
En mi experiencia, he visto que por facilitar el proceso de puesta en marcha de algún sistema, los administradores y/o programadores, no prestan la suficiente atención a los detalles requeridos para garantizar la seguridad en base de datos. Ciertos procesos, no requieren de un nivel de privilegio elevado, en la mayoría de los casos, los programas solo requieren unos pocos accesos a la base de datos que podría garantizar las seguridad en base de datos, por ejemplo: ALTER, CREATE, CREATE TEMPORARY TABLES, DELETE, DROP, INDEX, INSERT, LOCK TABLES, SELECT, UPDATE.
Estos permisos son casi básicos para toda plataforma, un usuario con estos 10 permisos, será capaz de escribir y leer, pero no podrá modificar cierta estructura, para eso necesitaría el permiso de root, lo que asegura un poco el acceso no autorizado, es más, creo que frenaría un poquito las inyecciones SQL que sufren muchos portales.
No es la intención decir, que has hecho un mal trabajo, de seguro inviertes mucho tiempo en desarrollar una aplicación, pero tal vez, solo tal vez, debemos poner un poco mas de esfuerzo en asegurar los permisos que se asignan a los usuarios en pro de la seguridad en base de datos.
Te contaré algo, hace unas semanas, pase por una mediana empresa, allí tenían un sistema de facturación, este sistema necesitaba conexión a MS SQL Server, note de inmediato algunas brechas de seguridad, la primera fue que usaron Admin/admin2016 como usuario y contraseña, respectivamente, estamos hablando de un programa de facturación, control de nomina, inventario, entre otros módulos que se consideran confidenciales y muy apetecibles para los cibercriminales, en la red se notó comportamiento extraño y/o sospechoso, al activa un IPS temporal, vimos que se solicitaba conexión al puerto TCP 3127 hacia Hong Kong, de inmediato imaginamos lo peor, una fuga de información, al inspeccionar el servidor de DB se identifico un registro que se realizaron conexiones desde una ubicación remota y se había programado un respaldo cada 2 horas.
Todo esto por dos descuidos, un usuario despistado con privilegios elevados y una clave de aficionados.
Por eso el consejo de prestar atención, a los privilegios que se asignan a los usuarios de forma que podamos garantizar la seguridad en base de datos de una organización o servidor web que utilices, indaga cuales son los permisos mínimos requeridos y trabaja con ellos.
Recuerda, si te gusto este artículo, puedes compartirlo, sígueme en las redes sociales.