Mejores Prácticas para la Seguridad de la Base de Datos Oracle
Ninguno de los sistemas de gestión de bases de datos es seguro por defecto. Sin embargo, puedes evitar la mayoría de las amenazas configurando el entorno adecuadamente. En este artículo, resumimos nuestro conocimiento sobre la seguridad de la Base de Datos Oracle y enumeramos las medidas que deberías considerar al trabajar con dicha base de datos.
1. Elimina Contraseñas Predeterminadas
El primer paso a tratar cuando se trata de la seguridad de la base de datos. Si utilizas contraseñas que pueden ser fácilmente hackeadas o forzadas, cualquier otra medida de seguridad será tan inútil como una zapatería en La Comarca. Los atacantes comienzan con métodos fáciles que causan el mayor daño. Esperamos que después de los infames ataques recientes a bases de datos MongoDB y MySQL mal configuradas, la mayoría haya recibido el mensaje. NO dejes contraseñas predeterminadas o débiles y asegúrate de que las contraseñas almacenadas estén encriptadas.
Usa el siguiente script para encontrar cuentas de usuario que tienen contraseñas predeterminadas.
sqlpus sys as sysdba
Enter password: password
SELECT d.username, u.account_status
FROM DBA_USERS_WITH_DEFPWD d, DBA_USERS u
WHERE d.username = u.username
ORDER BY 2,1;
Usa la herramienta Checkpwd para identificar cuentas con contraseñas débiles. Es una herramienta de verificación de contraseñas basada en diccionario para bases de datos Oracle. La herramienta lee los hashes de las contraseñas desde la vista dba_users y compara los hashkeys locales con los hashkeys del archivo de diccionario suministrado. Muestra la lista de cuentas expiradas y contraseñas débiles para que puedas cambiarlas.
checkpwd system/oracle@//127.0.0.1:1521/orcl password_list.txt
2. Actualiza y Aplica Parches
El siguiente paso es instalar la última versión del sistema de gestión de bases de datos. Una vez actualizada, puedes trabajar sin errores y otros problemas ya solucionados. Los desarrolladores están constantemente intentando hacer más segura la Base de Datos Oracle, lo cual es especialmente notable en Oracle Database 12c.
Cuatro veces al año, Oracle publica la Actualización Crítica de Parches que resuelve toneladas de vulnerabilidades críticas de seguridad en varias plataformas, incluida la Base de Datos Oracle. Con la actualización, Oracle publica la información general sobre las vulnerabilidades corregidas, que los atacantes empiezan a analizar y explotar instantáneamente. Según el último informe de Wallarm, toma de 2 a 4 horas hasta que los hackers comienzan a explotar una vulnerabilidad recién reportada. Por lo tanto, no te pierdas la actualización.
Consulta el calendario de Actualizaciones Críticas de Parches aquí.
3. Separa las Funciones
¿Conoces esa arquitectura de tuberías donde cada miembro del sistema hace solo su trabajo y nada más? Suena aburrido pero aun así, deberías considerar implementar una arquitectura similar en el entorno corporativo. Piensa dos veces antes de comenzar a distribuir privilegios como volantes.
En general, la mejor práctica es eliminar todos los privilegios y comenzar a otorgarlos según un criterio de ‘necesidad de saber’. Consigue un nuevo comienzo. Te ayudará a evitar los escenarios cuando un tipo de seguridad no fue lo suficientemente cuidadoso para notar que un Juan del departamento de gestión tenía acceso a información propietaria y secretos comerciales.
4. Gestiona las Contraseñas
Durante años, los administradores almacenaron las contraseñas de las cuentas sin cifrar en un script o un archivo de configuración. Oracle ha lanzado el Almacén Seguro de Contraseñas para abordar el problema. La función te permite crear un archivo de billetera donde puedes almacenar de forma segura las credenciales de la base de datos.
La Base de Datos Oracle tiene un conjunto de herramientas para proteger las contraseñas. Algunas de ellas están deshabilitadas por defecto.
- Verificación de Complejidad de Contraseñas Hay una función simple de verificación de contraseñas en los scripts PL/SQL UTLPWDMG.SQL ($ORACLE_HOME/rdbms/ admin). El script está deshabilitado por defecto. Para habilitarlo, inicia sesión en SQL*Plus con privilegios administrativos y ejecuta el script.
CONNECT SYS/AS SYSDBA Enter password: password @$ORACLE_HOME/RDBMS/ADMIN/utlpwdmg.sql
Los parámetros que especifican los requisitos de las contraseñas están establecidos por defecto, pero puedes cambiar su valor a tu discreción. Desde la versión 11g, la sensibilidad de las contraseñas a mayúsculas y minúsculas está habilitada por defecto. - Bloqueo de Cuenta Habilita el bloqueo de cuentas después de 3 intentos fallidos durante un cierto período de tiempo. Reducirá considerablemente el riesgo de ataques de fuerza bruta. Establece los siguientes parámetros para especificar bloqueos de cuentas para un perfil Oracle:
FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 10
El argumento del segundo parámetro está establecido en 10 días. Usa el parámetro INACTIVE_ACCOUNT_TIME para establecer el período de inactividad después del cual la cuenta será bloqueada (el valor también se expresa en días).
5. Cambia la Configuración de Auditoría Predeterminada
Oracle 12c ha introducido el Registro de Auditoría Unificada que combina SYS.AUD$ para el rastro de auditoría de la base de datos, SYS.FGA_LOG$ para auditorías de grano fino, DVSYS.AUDIT_TRAIL$ para Oracle Database Vault y Oracle Label Security.
En Oracle 12c el valor predeterminado de audit_sys_operations es TRUE, pero si usas una versión anterior, necesitas habilitar el parámetro para que los comandos SQL del usuario sys sean auditados.
Usa el siguiente comando para habilitarlo y reinicia el sistema.
SQL> alter system set audit_sys_operations=true scope=spfile;
Habilita el audit_trail para auditar los comandos SQL.
SQL> alter system set audit_trail=DB,EXTENDED scope=spfile;
Al comenzar a trabajar con Oracle Database 12c, puedes usar el modo mixto creando una política con el comando CREATE AUDIT POLICY y luego habilitarla con el comando AUDIT. También puedes usar políticas predefinidas (consulta aquí para aprender sobre las políticas de auditoría predeterminadas).
6. Implementa Métodos de Autenticación Fuertes
La autenticación de la identidad del usuario es imperativa en entornos distribuidos. Además de la autenticación predeterminada, la Base de Datos Oracle admite protocolos y servicios de autenticación estándar de la industria de terceros. Para utilizarlos, implementa algunos cambios de configuración.
- Kerberos Protocolo de autenticación diseñado principalmente para un modelo cliente-servidor y proporciona autenticación mutua.
- Secure Socket Layer (SSL) Protocolo estándar de la industria para asegurar conexiones de red.
- Remote Authentication Dial-In User service (RADIUS) Protocolo de seguridad cliente/servidor que permite la autenticación y el acceso remoto.
- Controla el acceso a la base de datos usando herramientas como Kerberos, seguridad de concesión de Oracle, seguridad de billetera Oracle, bases de datos privadas virtuales Oracle.
- Para el acceso remoto a la base de datos, solo se permitirá el acceso seguro mediante clave (acceso seguro shell (SSH) o VPN).
7. Gestiona Datos Sensibles
Filtrar datos sensibles o confidenciales puede llevar a consecuencias negativas. Por lo tanto, la información que pueda identificar a una persona, la información protegida de salud, la información propietaria y la propiedad intelectual deben tratarse con especial cuidado.
En primer lugar, necesitas indicar dónde se encuentra. Existen varias soluciones diseñadas para buscar datos en múltiples plataformas. La Base de Datos Oracle tiene una utilidad integrada de Protección Transparente de Datos Sensibles.
Los DBAs deben administrar bases de datos pero no los datos, igual que los desarrolladores y probadores de terceros. Las soluciones de enmascaramiento de datos pueden ser de gran ayuda en este caso.
8. Usa Herramientas de Seguridad Adicionales
El objeto más vulnerable en un entorno de producción es la base de datos, pero la mayoría de las empresas gastan la mayor parte del dinero de su fondo de seguridad en seguridad de red. Se debe prestar más atención a la protección de la base de datos.
- Monitoreo de Actividades de la Base de Datos Si tu empresa puede permitirse herramientas DAM, pueden ser muy útiles. Proporcionan visibilidad completa de toda la actividad de la base de datos y cambios del sistema en tiempo real. Notificará a los DBAs en caso de que se detecte alguna actividad sospechosa. Intégralo con un sistema SIEM y obtendrás análisis en tiempo real de amenazas de seguridad para que puedas tomar acciones inmediatas contra ataques incipientes. La opción avanzada de seguridad de la base de datos Oracle incluye una herramienta DAM. También se pueden usar soluciones de terceros.
- Firewall de Base de Datos Funcionando como un proxy, el firewall de base de datos procesa el tráfico de base de datos entrante y saliente y protege contra inyecciones SQL e intentos de acceso no autorizados. Puedes aprender cómo un firewall protege contra ataques de inyección SQL en el ejemplo de nuestro producto.
- Encriptación del Tráfico de la Base de Datos La opción avanzada de seguridad de la base de datos Oracle incluye una herramienta de encriptación de datos. También se pueden utilizar soluciones de terceros. Estas soluciones convierten los datos en texto plano en un texto cifrado ininteligible basado en una clave especial para que solo las partes autorizadas puedan acceder a él. Sin el conocimiento del algoritmo de cifrado, es casi imposible recuperar los datos originales del texto cifrado.
9. ¡Edúcalos! Erradicación de la Analfabetización en Ciberseguridad
Ninguna de las medidas mencionadas anteriormente funcionará si tus colegas pegan contraseñas en sus monitores y descargan archivos adjuntos de correos electrónicos maliciosos. Según el último informe de IBM Security, el 60% de las amenazas de ciberseguridad provienen del interior. Puede ser un insider malicioso o un actor inadvertido.
Organiza una capacitación en seguridad. Explica a los trabajadores regulares la importancia de tomar precauciones. También es útil informarles sobre la legislación de seguridad y las sanciones impuestas por los órganos reguladores por incumplimiento y delitos cibernéticos.
10. Sé Paranoico
Monitoreamos las noticias sobre seguridad de la información con regularidad, y es sorprendente cómo corporaciones tan inmensamente grandes son hackeadas. Las empresas que pueden permitirse las mejores aplicaciones de seguridad. ¿Por qué está pasando esto? Aparentemente, la respuesta a esta pregunta radica en el enfoque del asunto. Si consideras tus procedimientos de trabajo como una rutina aburrida e innecesaria, dejarás de prestar atención a algunos de los problemas importantes y, de alguna manera, serás hackeado. Pero si comprendes la responsabilidad de tu posición y quieres hacerlo bien, deberías volverte paranoico. Espera ataques en cualquier momento y en cualquier dirección.
Sé meticuloso y no dejes que nadie descuide las medidas de protección. Revisa todas las recomendaciones de seguridad de Oracle (el enlace se puede encontrar en la sección de Referencias). Es un trabajo duro pero vale la pena el esfuerzo. Rara vez se habla de ataques repelidos, pero si el nombre de tu empresa no aparece en los resúmenes de seguridad, sabemos que eres tú, querido hombre de seguridad, quien ha hecho el trabajo como debería hacerse.
Para la protección total de tus bases de datos Oracle, utiliza los siguientes componentes incluidos en el paquete de seguridad de la base de datos DataSunrise:
- Monitoreo de Actividades de Oracle
- Enmascaramiento de Datos de Oracle
- Firewall de Base de Datos
- Monitoreo de Rendimiento de Oracle
- Descubrimiento de Datos Sensibles de Oracle
*Referencias
https://docs.oracle.com/cd/B28359_01/network.111/b28531/toc.htm
“`