Está en la página 1de 15

Universidad Del Istmo

Licenciatura En Ingeniería En Ciberseguridad

Tema: Ejercicio Individual #2. Seguridad de Base de Datos - CIS SO

Seguridad de Base de Datos

Profesor: Abelardo Suira

Estudiante: Richard A. Corella W.

8-1009-963
Tabla Contenido
Tabla Contenido.................................................................................................................................1
Introducción.......................................................................................................................................2
CIS_MariaDB_10.6_Benchmark_v1.0.0..............................................................................................3
CIS_Microsoft_SQL_Server_2022_Benchmark_v1.0.0.......................................................................5
CIS Oracle Database 19c Benchmark v1.1.0.......................................................................................6
CIS_Oracle_MySQL_Enterprise_Edition_8.0_Benchmark_v1.3.0.......................................................9
CIS_PostgreSQL_15_Benchmark_v1.0.0...........................................................................................11
Conclusión.......................................................................................................................................13
Bibliografía.......................................................................................................................................14
Introducción
La seguridad de las bases de datos es un aspecto crítico en la protección de la información
en las organizaciones modernas. Las bases de datos almacenan grandes volúmenes de
datos confidenciales, desde información de clientes hasta secretos comerciales, por lo que
su compromiso puede tener graves consecuencias. Por ello, es esencial implementar
controles y medidas de seguridad sólidas para prevenir accesos no autorizados, proteger la
integridad de los datos, y asegurar la disponibilidad y continuidad del servicio.

Existen benchmarks o estándares de seguridad reconocidos que proporcionan una guía de


las mejores prácticas para securizar bases de datos, como los provistos por el Center for
Internet Security (CIS). En este documento se resumen las recomendaciones de seguridad
de CIS para diversos sistemas de gestión de bases de datos, entre ellos MariaDB, SQL
Server, Oracle Database, MySQL, PostgreSQL y Debian Linux.

Estas recomendaciones abarcan aspectos como la gestión de cuentas y permisos mediante


el principio de mínimo privilegio, el uso de contraseñas robustas, la aplicación de parches y
actualizaciones, la restricción de acceso a la red, la encriptación de datos sensibles, el
registro detallado de auditoría, la realización de copias de seguridad, y la implementación
de planes ante incidentes. También se mencionan políticas relacionadas con pruebas de
penetración, concienciación de usuarios, gestión de vulnerabilidades y cumplimiento
normativo.

La adopción de estas medidas de acuerdo a las necesidades específicas y el entorno


tecnológico de cada organización, permite crear una sólida estrategia de defensa en
profundidad para proteger los valiosos datos almacenados en bases de datos frente a
crecientes ciberamenazas. Mantener un enfoque proactivo y continuo en seguridad de
bases de datos es clave para garantizar la confidencialidad, integridad y disponibilidad de
la información.
CIS_MariaDB_10.6_Benchmark_v1.0.0

1. Configurar auditoría de inicio de sesión fallido (Failed Login Audit)

Audita los intentos fallidos de inicio de sesión para detectar ataques de fuerza bruta y
acceso no autorizado.

2. Deshabilitar cuentas y perfiles predeterminados (Disable Default Accounts and


Profiles)

Elimina cuentas vulnerables y perfiles de acceso con amplios privilegios que vienen
configurados por defecto.

3. Habilitar control de acceso basado en roles (Enable Role-Based Access Control)

Asigna solo los privilegios necesarios a cada usuario mediante roles predefinidos en lugar
de acceso irrestricto.

4. Limitar privilegios de cuentas poderosas (Limit Powerful Account Privileges)

Restringe los amplios privilegios de cuentas críticas como sys y system solo al acceso
necesario.

5. Habilitar autenticación fuerte (Enable Strong Authentication)

Requiere autenticación multifactor para el acceso a cuentas con altos privilegios,


agregando una capa extra de seguridad.
6. Encriptar columnas confidenciales (Encrypt Sensitive Columns)

Cifra columnas de datos confidenciales en reposo para prevenir acceso y exposición no


autorizados.

7. Restringir acceso de red (Restrict Network Access)

Limita el tráfico entrante hacia los puertos de la base de datos desde direcciones IP
específicas.

8. Habilitar registro de auditoría (Enable Audit Logging)

Registra eventos críticos de seguridad para su análisis y detección temprana de amenazas.

9. Aplicar parches de seguridad (Apply Security Patches)

Mantiene el software de base de datos actualizado instalando los últimos parches de


vulnerabilidades.

10. Realizar copias de respaldo (Perform Backups)

Crea copias de seguridad regulares de los datos críticos con fines de recuperación ante
desastres.

11. Cifrar respaldos (Encrypt Backups)

Cifra los archivos de copias de seguridad para prevenir acceso no autorizado a los datos
confidenciales.
12. Restringir cuenta LOCAL (Restrict LOCAL Account)

Limita el acceso de la cuenta LOCAL interna usada por Database Vault solo a las funciones
necesarias.

CIS_Microsoft_SQL_Server_2022_Benchmark_v1.0.0

1. Política de respaldo y recuperación de la información: establece los lineamientos para


garantizar la disponibilidad, integridad y confidencialidad de la información ante
posibles incidentes o desastres que afecten los sistemas de información.

2. Política de prevención de programa malicioso informático: define las medidas de


protección para prevenir, detectar y eliminar el software malicioso que pueda
comprometer la seguridad de la información y los recursos informáticos.

3. Política de gestión de identidad: regula el proceso de creación, asignación,


modificación y eliminación de las cuentas de usuario y los privilegios de acceso a los
sistemas de información.

4. Política de seguridad física: establece los requisitos mínimos de seguridad física para
proteger los activos informáticos de amenazas externas o internas que puedan causar
daños o pérdidas.

5. Política de tercerización de servicios TI: establece los criterios y controles para la


contratación y gestión de servicios de tecnologías de la información que involucren el
acceso, procesamiento o almacenamiento de información sensible o crítica.

6. Política de uso correcto de estaciones de trabajo: establece las normas de conducta y


responsabilidad para el uso adecuado de las estaciones de trabajo por parte de los
usuarios finales.
7. Política de uso correcto de servidores y redes: establece las normas de conducta y
responsabilidad para el uso adecuado de los servidores y redes por parte de los
administradores y operadores de sistemas.

8. Política de archivo y correspondencia: establece los lineamientos para la gestión


documental de las comunicaciones recibidas y generadas por la entidad, así como para
el control y distribución de la correspondencia.

9. Política de formulación de políticas públicas: establece la metodología y los pasos para


la identificación, análisis, priorización, viabilidad y diseño de las políticas públicas que
buscan atender los problemas y demandas de la población.

10. Política de auditoría de políticas públicas: establece los mecanismos de seguimiento,


evaluación y control de las políticas públicas, así como los criterios de rendición de
cuentas y transparencia.

11. Política de seguridad de las políticas públicas: establece las medidas de seguridad para
proteger la confidencialidad, integridad y disponibilidad de la información relacionada
con las políticas públicas, así como para prevenir y mitigar los riesgos asociados.

12. Política de acceso a la información pública: establece los principios y procedimientos


para garantizar el derecho de acceso a la información pública que posee la entidad, así
como para promover la participación ciudadana y la cultura de la transparencia.

CIS Oracle Database 19c Benchmark v1.1.0

1. Establecer una contraseña segura para el usuario SYS y el usuario SYSTEM. Esta política busca
proteger el acceso a la base de datos Oracle, ya que estos dos usuarios tienen privilegios
especiales para administrarla. Una contraseña segura debe tener al menos 12 caracteres,
incluyendo letras, números y símbolos, y no debe ser fácil de adivinar o relacionada con el
nombre del usuario o de la base de datos.
2. Deshabilitar o eliminar los usuarios predeterminados que no se necesiten. Esta política busca
reducir el riesgo de que un atacante pueda acceder a la base de datos usando un usuario que
no se usa o que tiene una contraseña débil. Oracle Database 19c crea varios usuarios
predeterminados durante la instalación, pero no todos son necesarios para el funcionamiento
normal de la base de datos. Por ejemplo, el usuario ANONYMOUS se puede deshabilitar si no
se usa el protocolo HTTP para conectarse a la base de datos.

3. Asignar los privilegios mínimos necesarios a cada usuario o rol. Esta política busca limitar el
alcance de las acciones que puede realizar cada usuario o rol en la base de datos, evitando que
puedan acceder, modificar o eliminar datos o recursos que no les corresponden. Los privilegios
son los permisos que se otorgan a los usuarios o roles para realizar ciertas operaciones en la
base de datos, como crear tablas, ejecutar consultas o hacer copias de seguridad. Los
privilegios se pueden asignar de forma individual o mediante roles, que son conjuntos de
privilegios relacionados con una función específica.

4. Aplicar el principio de mínimo privilegio a los objetos de la base de datos. Esta política busca
restringir el acceso a los objetos de la base de datos, como tablas, vistas, procedimientos o
secuencias, a los usuarios o roles que los necesiten para realizar su trabajo. Los objetos de la
base de datos son las entidades que almacenan o manipulan los datos en la base de datos.
Cada objeto tiene un propietario, que es el usuario que lo creó o que tiene el privilegio de
crearlo, y un conjunto de permisos, que determinan qué operaciones se pueden realizar sobre
el objeto, como leer, escribir o ejecutar.

5. Proteger los archivos de configuración y los archivos de datos contra accesos no autorizados.
Esta política busca evitar que un atacante pueda leer, modificar o borrar los archivos que
contienen la información o los parámetros de la base de datos, comprometiendo su integridad,
disponibilidad o confidencialidad. Los archivos de configuración son los que almacenan las
opciones y los valores que definen el comportamiento de la base de datos, como el nombre, el
modo de operación o los límites de recursos. Los archivos de datos son los que almacenan los
datos propiamente dichos, como las tablas, los índices o los registros de transacciones. Estos
archivos se deben ubicar en directorios seguros, con permisos restringidos y con medidas de
cifrado o control de acceso.

6. Habilitar la auditoría de las actividades de los usuarios y los administradores. Esta política
busca registrar y supervisar las acciones que se realizan en la base de datos, tanto por parte de
los usuarios normales como de los administradores, para detectar posibles anomalías,
violaciones o amenazas a la seguridad. La auditoría consiste en guardar un registro de los
eventos que ocurren en la base de datos, como las conexiones, las consultas, las
modificaciones o los errores, con información sobre el usuario, la fecha, la hora y el resultado
de la acción. Estos registros se pueden almacenar en tablas, archivos o destinos externos, y se
pueden consultar o analizar posteriormente.

7. Configurar el cifrado de los datos en tránsito y en reposo. Esta política busca proteger los datos
de la base de datos frente a posibles interceptaciones, robos o fugas, tanto cuando se
transmiten por la red como cuando se almacenan en el disco. El cifrado consiste en
transformar los datos en un formato ilegible para quien no tenga la clave adecuada para
descifrarlos. El cifrado de los datos en tránsito se puede realizar mediante protocolos seguros,
como SSL o TLS, que garantizan la confidencialidad y la integridad de los datos que se envían o
reciben desde la base de datos. El cifrado de los datos en reposo se puede realizar mediante
algoritmos criptográficos, como AES o DES, que impiden que los datos se puedan leer o
modificar sin la clave correspondiente.

8. Implementar una política de copias de seguridad y recuperación. Esta política busca asegurar la
continuidad del servicio y la preservación de los datos en caso de que ocurra un fallo, un error
o un desastre que afecte a la base de datos. Una copia de seguridad es una copia de los datos
o de los archivos de la base de datos que se guarda en un medio externo, como un disco, una
cinta o una nube, y que se puede restaurar en caso de necesidad. Una política de copias de
seguridad y recuperación define los criterios y los procedimientos para realizar, almacenar y
recuperar las copias de seguridad, como la frecuencia, el tipo, el tamaño, el formato o el
destino de las mismas.

9. Actualizar el software de la base de datos con los últimos parches de seguridad. Esta política
busca mantener el software de la base de datos al día con las últimas correcciones y mejoras
que se publican por parte del fabricante, para prevenir posibles vulnerabilidades, errores o
incompatibilidades que puedan afectar a la seguridad o al rendimiento de la base de datos. Un
parche de seguridad es un conjunto de cambios o modificaciones que se aplican al software de
la base de datos para solucionar un problema específico, como una brecha de seguridad, un
fallo de funcionamiento o una mejora de funcionalidad. Los parches de seguridad se deben
descargar e instalar siguiendo las instrucciones y las recomendaciones del fabricante, y se
deben probar antes de aplicarlos en un entorno de producción.

10. Utilizar herramientas de análisis de vulnerabilidades para evaluar el nivel de seguridad. Esta

política busca identificar y corregir las debilidades o los riesgos que pueda tener la base de
datos, tanto en su configuración como en su operación, para mejorar su seguridad y su
resistencia frente a posibles ataques. Una herramienta de análisis de vulnerabilidades es un
programa o una aplicación que examina la base de datos y sus componentes, como los
usuarios, los privilegios, los objetos o los archivos, y que genera un informe con los resultados
del análisis, indicando las vulnerabilidades encontradas, su nivel de gravedad y las posibles
soluciones o recomendaciones para mitigarlas o eliminarlas.

11. Seguir las mejores prácticas de codificación segura para prevenir ataques de inyección SQL.

Esta política busca evitar que un atacante pueda ejecutar comandos SQL maliciosos en la base
de datos, aprovechando las vulnerabilidades que pueda haber en el código de las aplicaciones
que se conectan a la base de datos. Un ataque de inyección SQL consiste en introducir una
cadena de texto con instrucciones SQL en un campo de entrada de una aplicación, como un
formulario web, que se envía a la base de datos para su procesamiento, y que puede alterar,
borrar o robar los datos de la base de datos. Las mejores prácticas de codificación segura
incluyen el uso de parámetros, la validación de las entradas, la limitación de los privilegios o la
gestión de los errores, entre otras.

12. Restringir el acceso a la red mediante listas de control de acceso y cortafuegos. Esta política

busca controlar el tráfico de datos que entra y sale de la base de datos, filtrando las conexiones
y los paquetes según unas reglas definidas, para evitar que un atacante pueda acceder a la
base de datos desde una fuente no autorizada o enviar datos maliciosos o dañinos. Una lista
de control de acceso es un mecanismo que permite o deniega el acceso a la base de datos
según la dirección IP, el puerto o el protocolo del origen o del destino de la conexión. Un
cortafuegos es un dispositivo o un software que actúa como una barrera entre la base de datos
y la red, analizando y bloqueando el tráfico sospechoso o no deseado.

CIS_Oracle_MySQL_Enterprise_Edition_8.0_Benchmark_v1.3.0
1. Instalación segura de MySQL:
Este es un script que se utiliza para mejorar la seguridad del servidor MySQL,
eliminando usuarios anónimos, bases de datos de prueba, acceso remoto al root y
otras configuraciones inseguras.

2. Enlace el servidor de la base de datos a la dirección de bucle invertido:

Esta es una medida que impide que el servidor MySQL acepte conexiones desde
otras máquinas que no sean la local, reduciendo así el riesgo de ataques externos.

3. Deshabilitar ARCHIVO LOCAL en MySQL:

Esta es una opción que evita que los usuarios carguen o descarguen archivos desde
el servidor MySQL, lo que podría comprometer la seguridad de los datos o del
sistema.

4. Cambiar el puerto predeterminado de MYSQL:

Esta es una forma de ocultar el servicio MySQL de los escaneos de puertos,


dificultando que los atacantes encuentren el servidor y lo exploten.

5. Habilitar el registro de MySQL:

Esta es una función que permite guardar un historial de las consultas y las acciones
realizadas en el servidor MySQL, lo que facilita la auditoría y la detección de
anomalías.

6. Establezca el permiso apropiado en los archivos MySQL:

Esta es una práctica que consiste en asignar los permisos mínimos necesarios a los
archivos y directorios que contienen los datos y la configuración de MySQL,
evitando así que usuarios no autorizados puedan acceder o modificarlos.

7. Eliminar el historial de MySQL Shell:

Esta es una precaución que implica borrar el archivo que almacena los comandos
introducidos en la consola de MySQL, para evitar que se revele información
sensible o se repitan acciones no deseadas.
8. No ejecute comandos MySQL desde la línea de comandos:

Esta es una recomendación que sugiere usar una interfaz gráfica o una aplicación
web para interactuar con el servidor MySQL, en lugar de usar la línea de comandos,
que podría exponer las contraseñas o los datos en texto plano.

9. Autenticación y autorización:

Esta es una medida que implica implementar un sistema robusto de autenticación


para asegurarse de que solo los usuarios autorizados tengan acceso a la base de
datos, y asignar roles y permisos adecuados para limitar el acceso a la información
según la necesidad del usuario.

10. Encriptación:

Esta es una técnica que consiste en proteger los datos almacenados mediante el
uso de algoritmos que los hacen ilegibles para quienes no tengan la llave de
encriptación.

11. Contraseñas seguras:

Esta es una política que consiste en establecer contraseñas sólidas y requerir


cambios periódicos de las mismas, para evitar que se puedan adivinar o robar
fácilmente.

12. Respaldos de los datos de forma periódica:

Esta es una acción que consiste en realizar copias de seguridad periódicas de la


base de datos y almacenarlas de manera segura, para poder recuperar los datos en
caso de una falla o un ataque.

CIS_PostgreSQL_15_Benchmark_v1.0.0
1. Política de autenticación: Define cómo se autentican los usuarios y cómo se
manejan las contraseñas.
2. Política de autorización: Define qué permisos tienen los usuarios y cómo se
otorgan.

3. Política de encriptación: Define cómo se encriptan los datos y cómo se manejan las
claves de encriptación.

4. Política de auditoría: Define qué eventos se registran y cómo se manejan los


registros.

5. Política de gestión de contraseñas: Define cómo se manejan las contraseñas de los


usuarios y cómo se asegura su fortaleza.

6. Política de gestión de usuarios: Define cómo se crean, modifican y eliminan las


cuentas de usuario.

7. Política de gestión de roles: Define cómo se crean, modifican y eliminan los roles
de usuario.

8. Política de gestión de permisos: Define cómo se otorgan y revocan los permisos de


usuario.

9. Política de gestión de sesiones: Define cómo se manejan las sesiones de usuario y


cómo se asegura su integridad.

10. Política de gestión de errores: Define cómo se manejan los errores y cómo se
asegura la integridad de los datos.

11. Política de gestión de logs: Define cómo se manejan los registros y cómo se
asegura su integridad.

12. Política de gestión de backups: Define cómo se realizan los backups y cómo se
asegura su integridad.
Conclusión

En conclusión, la seguridad de las bases de datos es un elemento fundamental en la


estrategia de ciberseguridad de cualquier organización, dado el valor y sensibilidad de los
datos que contienen. Los benchmarks de CIS analizados ofrecen una guía integral de
medidas técnicas y de políticas para proteger efectivamente los entornos de bases de
datos más utilizados, como MariaDB, SQL Server, Oracle, MySQL, PostgreSQL y Linux.

La implementación de controles como autenticación fuerte, control de accesos granular,


monitoreo y registro de actividades, encriptación de datos sensibles, parcheo constante,
análisis de vulnerabilidades, copias de seguridad y planes de continuidad, siguiendo las
recomendaciones de estas guías, permite crear una robusta defensa para evitar accesos no
autorizados, mantener la integridad de la información, y garantizar la disponibilidad de los
sistemas de bases de datos.

Mantener un enfoque proactivo, medible y verificable en la seguridad de las bases de


datos debe ser una máxima prioridad para todos los responsables de tecnología y
seguridad de la información, dada la criticidad de estos activos en prácticamente todas las
actividades de negocio. El compromiso con el más alto nivel de ciber-resiliencia empieza
con la protección de los cimientos de datos de cualquier organización.
Bibliografía

CIS Downloads. (s. f.). https://downloads.cisecurity.org/#/

También podría gustarte