
Problemas y Desafíos de Seguridad en Bases de Datos
En la actualidad, es difícil imaginar una organización que no use bases de datos en sus actividades diarias. La base de datos es uno de los activos más significativos y valiosos para cualquier empresa. Dado que la base de datos puede almacenar información muy sensible o confidencial, la protección de la base de datos es la tarea principal para un equipo de soporte de bases de datos, ya que cualquier fuga de información puede ser desastrosa.
Hay varios métodos básicos que se utilizan comúnmente para robar datos, a saber:
- Directamente de los archivos de la base de datos
- De los archivos de respaldo de la base de datos
- Intercepción del tráfico de la base de datos
- Uso de acceso no autorizado
- Vulnerabilidades en el núcleo del RDBMS
Desafortunadamente, es imposible excluir la posibilidad de fuga de datos, pero si sigues reglas simples, puedes hacer este proceso muy difícil. Estas reglas son:
- Restringir el acceso al servidor de la base de datos y al servidor de respaldo de la base de datos. No solo se debe restringir el acceso remoto al servidor de la base de datos, sino también restringir el acceso físico.
- Almacenar los archivos de la base de datos en un sistema de archivos cifrado. Esto puede ayudar en el caso de que se roben los medios de almacenamiento físico, ya que será muy difícil obtener datos de un sistema de archivos cifrado.
- Si la base de datos admite el cifrado de archivos de datos, actívelo. En la situación en que se copien los archivos de la base de datos, estos archivos no se pueden usar sin haberlos descifrado.
- Almacenar las copias de seguridad de la base de datos en el sistema de archivos cifrado. Si los archivos de copia de seguridad se transfieren a otro servidor, asegúrate de que el tráfico de red esté cifrado.
- Si la base de datos admite la copia de seguridad cifrada, actívala. Si no, usa soluciones de terceros para cifrar los archivos de respaldo.
- Limitar el acceso a la red a la base de datos. El acceso solo debería permitirse a aquellas máquinas que se comuniquen con esta base de datos. Por ejemplo, si solo el servidor de aplicaciones usa la base de datos, sería una buena idea permitir el acceso solo desde el servidor de aplicaciones.
- Muchas bases de datos admiten el cifrado del tráfico de red entre la máquina cliente y el RDBMS. Si ese es el caso, actívalo.
- Los usuarios de la base de datos deben tener el mínimo conjunto de privilegios requerido. Intenta evitar dar el rol de administrador a los usuarios de la aplicación. Ejecuta scripts regularmente que rastreen a los usuarios con privilegios administrativos para un análisis futuro.
- Usando perfiles de base de datos, limita la posibilidad de establecer contraseñas de usuario débiles. Configura el perfil de la base de datos que exige a los usuarios cambiar periódicamente su contraseña de inicio de sesión.
- Analiza los registros de acceso a la base de datos. Analiza no solo los intentos de inicio de sesión fallidos, sino también los exitosos. Pueden haber situaciones en las que un usuario inicie sesión desde su lugar de trabajo con las credenciales de otro usuario.
- La aplicación debe estar construida de tal forma que almacene todos los datos sensibles en formato cifrado. Si una aplicación almacena las contraseñas de los usuarios en texto plano y el usuario, debido a algunas circunstancias, obtiene acceso a esta tabla, esto puede representar un gran problema para la seguridad de la base de datos.
- Al igual que cualquier software, las bases de datos pueden tener vulnerabilidades de seguridad que permiten eludir las reglas especificadas. Actualiza periódicamente el software de la base de datos. Realiza un seguimiento de los parches de seguridad y aplícalos inmediatamente una vez que se publiquen.
Siguiendo estas pautas puedes proteger tu base de datos y reducir muy significativamente las posibilidades de pérdida o robo de datos.