Mejores Prácticas para la Seguridad de Bases de Datos Oracle
Ninguno de los sistemas de gestión de bases de datos es seguro por defecto. Sin embargo, puede evitar la mayoría de las amenazas configurando adecuadamente el entorno. En este artículo, resumimos nuestro conocimiento sobre la seguridad de Oracle Database y enumeramos las medidas que debe considerar al trabajar con Oracle Database.
1. Elimine las Contraseñas Predeterminadas
Lo primero a tratar en lo que se refiere a la seguridad de bases de datos. Si utiliza contraseñas que pueden ser fácilmente hackeadas o forzadas mediante ataques de fuerza bruta, cualquier otra medida de seguridad será tan inútil como una zapatería en la Comarca. Los atacantes comienzan por los métodos más sencillos que causan el máximo daño. Esperamos que, tras los recientes infames ataques a bases de datos MongoDB y MySQL mal configuradas, la mayoría haya comprendido el mensaje. NO deje contraseñas predeterminadas o débiles y asegúrese de que las contraseñas almacenadas estén encriptadas.
Utilice el siguiente script para encontrar cuentas de usuario que tengan contraseñas predeterminadas.
sqlplus sys as sysdba
Ingrese contraseña: 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; Utilice la herramienta Checkpwd para identificar cuentas con contraseñas débiles. Se trata de un comprobador de contraseñas basado en diccionario para bases de datos Oracle. La herramienta lee los hashes de las contraseñas desde la vista dba_users y compara las claves hash locales con las claves hash del archivo de diccionario suministrado. Muestra la lista de cuentas expiradas y contraseñas débiles para que pueda cambiarlas.
checkpwd system/oracle@//127.0.0.1:1521/orcl password_list.txt 2. Actualice y Aplique Parches
El siguiente paso es instalar la versión más reciente del sistema de gestión de bases de datos. Una vez actualizado, podrá trabajar sin errores y otros problemas ya resueltos. Los desarrolladores están constantemente tratando de hacer que Oracle Database sea más seguro, lo cual es especialmente notable en Oracle Database 12c.
Cuatro veces al año, Oracle lanza la Actualización Crítica de Parches que resuelve toneladas de vulnerabilidades críticas de seguridad en diversas plataformas, incluida Oracle Database. Con la actualización, Oracle publica información general sobre las vulnerabilidades corregidas, que los atacantes comienzan a analizar y explotar de inmediato. Según el último informe de Wallarm, transcurren entre 2 y 4 horas hasta que los hackers comienzan a explotar una vulnerabilidad recién reportada. Por lo tanto, no se pierda la actualización.
Consulte el calendario de Actualizaciones Críticas de Parches aquí.
3. Separe las Funciones
¿Conoce esa arquitectura en la que cada miembro del sistema hace únicamente su trabajo y nada más? Suena aburrido, pero debe considerar implementar una arquitectura similar en el entorno corporativo. Piénselo dos veces antes de comenzar a distribuir privilegios como si fueran volantes.
En general, la mejor práctica es eliminar todos los privilegios y comenzar a otorgarlos únicamente sobre la base del “necesario saber”. Haga un nuevo comienzo. Esto le ayudará a evitar situaciones en las que el responsable de seguridad no fue lo suficientemente cuidadoso y no advirtió que un tal John del departamento de gestión tenía acceso a información propietaria y secretos comerciales.
4. Gestione las Contraseñas
Durante años, los administradores almacenaron las contraseñas de las cuentas sin encriptar en un script o un archivo de configuración. Oracle ha lanzado el Almacén Seguro de Contraseñas para abordar este problema. Esta función le permite crear un archivo wallet en el que puede almacenar de forma segura las credenciales de la base de datos.
Oracle Database dispone de un conjunto de herramientas para proteger las contraseñas. Algunas de ellas están deshabilitadas por defecto.
- Verificación de la Complejidad de la Contraseña Existe una función sencilla de verificación de contraseñas en el script PL/SQL UTLPWDMG.SQL ($ORACLE_HOME/rdbms/ admin). El script está deshabilitado por defecto. Para habilitarlo, inicie sesión en SQL*Plus con privilegios administrativos y ejecute el script.
CONNECT SYS/AS SYSDBA Ingrese contraseña: password @$ORACLE_HOME/RDBMS/ADMIN/utlpwdmg.sqlLos parámetros que especifican los requisitos de la contraseña están establecidos por defecto, pero puede cambiar su valor a su criterio. Desde la versión 11g, la sensibilidad a mayúsculas y minúsculas para las contraseñas está habilitada por defecto. - Bloqueo de Cuenta Habilite el bloqueo de cuentas después de 3 intentos inválidos durante un cierto período de tiempo. Esto reducirá considerablemente el riesgo de ataques por fuerza bruta. Configure los siguientes parámetros para especificar el bloqueo de cuentas para un perfil de Oracle:
FAILED_LOGIN_ATEMPTS 3 PASSWORD_LOCK_TIME 10El valor del segundo parámetro está configurado en 10 días. Utilice el parámetro INACTIVE_ACCOUNT_TIME para establecer el período de inactividad tras el cual la cuenta se bloqueará (el valor también se expresa en días).
5. Cambie la Configuración de Auditoría Predeterminada
Oracle 12c ha introducido el Unified Audit Data Trail, que combina SYS.AUD$ para el rastro de auditoría de la base de datos, SYS.FGA_LOG$ para la auditoría de detalle, 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 utiliza una versión anterior, debe habilitar el parámetro para que se auditen los comandos SQL del usuario sys.
Utilice el siguiente comando para habilitarlo y reiniciar el sistema.
SQL> alter system set audit_sys_operations=true scope=spfile;Habilite 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, puede utilizar el modo mixto creando una política con el comando CREATE AUDIT POLICY y luego habilitándola con el comando AUDIT. También puede utilizar políticas predefinidas (consulte aquí para conocer las políticas de auditoría predeterminadas).
6. Implemente 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, Oracle Database admite protocolos y servicios de autenticación de terceros que cumplen con estándares de la industria. Para utilizarlos, implemente algunos cambios de configuración.
- Kerberos Protocolo de autenticación diseñado principalmente para un modelo cliente-servidor que proporciona autenticación mutua.
- Secure Socket Layer (SSL) Protocolo de estándar industrial para asegurar las conexiones de red.
- Remote Authentication Dial-In User Service (RADIUS) Protocolo de seguridad cliente/servidor que permite la autenticación y el acceso remoto.
- Controle el acceso a la base de datos utilizando herramientas como Kerberos, la seguridad de concesiones de Oracle, la seguridad de Oracle wallet y bases de datos virtuales privadas de Oracle.
- Para el acceso remoto a la base de datos, solo se permitirá el acceso mediante llaves seguras (secure shell (SSH) o VPN).
7. Gestione los Datos Sensibles
La filtración de datos sensibles o confidenciales puede acarrear consecuencias devastadoras. Por ello, la información personal identificable, la información de salud protegida, la información propietaria y la propiedad intelectual deben ser tratadas con especial cuidado.
En primer lugar, debe identificar dónde se encuentran dichos datos. Existen varias soluciones diseñadas para buscar datos en múltiples plataformas. Oracle Database dispone de una utilidad integrada de Protección Transparente de Datos Sensibles.
Los DBAs deben administrar las bases de datos, pero no los datos, al igual que los desarrolladores y testers externos. Las soluciones de enmascaramiento de datos pueden ser de gran ayuda en estos casos.
8. Utilice Herramientas Adicionales de Seguridad
El objeto más vulnerable en un entorno de producción es la base de datos, pero la mayoría de las empresas destinan la mayor parte de su presupuesto de seguridad a la protección de la red. La protección de la base de datos merece una atención mayor.
- Monitoreo de Actividad en la Base de Datos Si su empresa puede permitirse herramientas DAM, pueden ser muy útiles. Estas proporcionan visibilidad completa de toda la actividad en la base de datos y de los cambios en el sistema en tiempo real. Notificarán a los DBAs en caso de detectar alguna actividad sospechosa. Integrándolas con un sistema SIEM, obtendrá un análisis en tiempo real de las amenazas de seguridad, lo que le permitirá tomar acciones inmediatas contra ataques inminentes. La opción de Seguridad Avanzada de Oracle Database incluye una herramienta DAM. También se pueden utilizar soluciones de terceros.
- Cortafuegos de Base de Datos Funcionando como un proxy, el cortafuegos de base de datos analiza el tráfico entrante y saliente, y protege contra ataques de inyección SQL y accesos no autorizados. Puede aprender cómo un cortafuegos protege contra los ataques de inyección SQL tomando como ejemplo nuestro producto.
- Encriptación del Tráfico de la Base de Datos La opción de Seguridad Avanzada de Oracle Database incluye una herramienta de encriptación de datos. También se pueden utilizar soluciones de terceros. Estas soluciones convierten datos en texto claro en un texto cifrado ininteligible basado en una clave especial, de modo que solo las partes autorizadas puedan acceder a ellos. Sin el conocimiento del algoritmo de encriptación, es casi imposible recuperar los datos originales a partir del texto cifrado.
9. ¡Enséñeles! Liquidación de la Ignorancia en Ciberseguridad
Ninguna de las medidas mencionadas anteriormente funcionará si sus colegas pegan las 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 tratarse de un empleado malintencionado o de un actor inadvertido.
Organice entrenamientos de seguridad. Explique a los trabajadores la importancia de tomar precauciones. También es útil informarles sobre la legislación en materia de seguridad y las sanciones impuestas por los organismos reguladores por incumplimiento y cibercrímenes.
10. Sea Paranoico
Monitoreamos las noticias sobre seguridad de la información de forma regular, y es sorprendente cómo incluso corporaciones tan enormes son hackeadas. Las empresas que pueden permitirse las mejores aplicaciones de seguridad. ¿Por qué sucede esto? Aparentemente, la respuesta a esta pregunta radica en el enfoque adoptado. Si considera sus procedimientos de trabajo como una rutina aburrida e innecesaria, pasará por alto temas importantes y, de alguna manera, será hackeado. Pero si comprende la responsabilidad de su posición y desea hacerlo bien, debe volverse paranoico. Espere ataques en cualquier momento desde todas las direcciones.
Sea escrupuloso y no permita que nadie descuide las medidas de protección. Revise todas las recomendaciones de seguridad de Oracle (el enlace se puede encontrar en la sección de Referencias). Es un trabajo arduo, pero vale la pena. Rara vez se habla de los ataques repelidos, pero si el nombre de su empresa no aparece en los resúmenes de seguridad, sabemos que es usted, querido profesional de la seguridad, quien ha hecho el trabajo de la manera correcta.
Para la protección total de sus bases de datos Oracle, utilice los siguientes componentes incluidos en DataSunrise Database Security Suite:
- Monitoreo de Actividad de Oracle
- Enmascaramiento de Datos de Oracle
- Cortafuegos de Base de Datos Oracle
- Monitoreo del Rendimiento de Oracle
- Descubrimiento de Datos Sensibles de Oracle
*Referencias
