Guías de seguridad para cargas de trabajo de Oracle en el acelerador de zonas de aterrizaje de Azure Virtual Machines

En este artículo se describe cómo ejecutar cargas de trabajo de Oracle de forma segura en el acelerador de zonas de aterrizaje de Azure Virtual Machines en cada fase de su ciclo de vida. En el artículo se describen componentes de diseño específicos y se proporcionan sugerencias centradas en la seguridad de infraestructura como servicio (IaaS) de Azure para cargas de trabajo de Oracle.

Información general

La seguridad es esencial para cualquier arquitectura. Azure ofrece una amplia gama de herramientas que le ayudarán a proteger eficazmente la carga de trabajo de Oracle. El objetivo de este artículo es proporcionar recomendaciones de seguridad para el plano de control de Azure relacionado con las cargas de trabajo de aplicaciones de Oracle que se implementan en Virtual Machines. Para obtener información detallada e instrucciones de implementación sobre las medidas de seguridad dentro de Oracle Database, consulte la guía de seguridad de Oracle Database.

La mayoría de las bases de datos almacenan datos confidenciales. La implementación de la seguridad solo en el nivel de base de datos no es suficiente para proteger la arquitectura en la que se implementan estas cargas de trabajo. La defensa en profundidad es un enfoque integral de la seguridad que implementa varias capas de mecanismos de defensa para proteger los datos. En lugar de basarse en una sola medida de seguridad en un nivel específico, como, por ejemplo, centrarse solo en mecanismos de seguridad de red, la estrategia de defensa en profundidad utiliza una combinación de diferentes medidas de seguridad de capa para crear una posición de seguridad sólida. Puede diseñar el enfoque de defensa en profundidad para cargas de trabajo de Oracle mediante un marco de autenticación y autorización seguro, seguridad de red protegida y cifrado de datos en reposo y datos en tránsito.

Puede implementar cargas de trabajo de Oracle como un modelo de nube de IaaS en Azure. Revise la matriz de responsabilidades compartidas para tener un conocimiento más claro de las tareas y responsabilidades específicas asignadas tanto al proveedor de nube como al cliente. Para más información, consulte Responsabilidad compartida en la nube.

Debe evaluar periódicamente los servicios y las tecnologías que utiliza para asegurarse de que las medidas de seguridad se alinean con el panorama de amenazas cambiante.

Uso de la administración centralizada de identidades

La administración de identidades es un marco fundamental que rige el acceso a recursos importantes. La administración de identidades se convierte en un aspecto fundamental cuando se trabaja con diferentes tipos de personal, como becarios temporales, empleados a tiempo parcial o empleados a tiempo completo. Estos empleados requieren diferentes niveles de acceso que deben supervisarse, mantenerse y revocarse rápidamente según sea necesario. Hay cuatro casos de uso distintos de administración de identidades que se deben tener en cuenta para las cargas de trabajo de Oracle y cada caso de uso requiere una solución de administración de identidades diferente.

  • Aplicaciones de Oracle: los usuarios pueden acceder a las aplicaciones de Oracle sin tener que volver a escribir sus credenciales una vez que se hayan autorizado a través del inicio de sesión único (SSO). Use la integración de Microsoft Entra ID para acceder a las aplicaciones de Oracle. En la tabla siguiente se muestra la estrategia de SSO compatible para cada solución de Oracle.

    Aplicación de Oracle Vínculo a documento
    Suite E-Business (EBS) Habilitación del inicio de sesión único para EBS R12.2
    JD Edwards (JDE) Configuración del inicio de sesión único de JDE
    PeopleSoft Habilitación del inicio de sesión único para PeopleSoft
    Hyperion Documento de soporte técnico de Oracle n.º 2144637.1
    Siebel Documento de soporte técnico de Oracle n.º 2664515.1
  • Seguridad de nivel de sistema operativo: las cargas de trabajo de Oracle se pueden ejecutar en diferentes variantes del sistema operativo Linux o Windows. Las organizaciones pueden mejorar la seguridad de las máquinas virtuales Windows y Linux en Azure mediante la integración con Microsoft Entra. Para más información, vea:

  • Azure Key Vault para almacenar credenciales: Key Vault es una potente herramienta para servicios y aplicaciones en la nube que puede utilizar para proteger el almacenamiento de secretos, como contraseñas y cadenas de conexión de base de datos. Puede usar Key Vault para almacenar las credenciales de las máquinas virtuales Windows y Linux de forma centralizada y segura, independientemente del sistema operativo.

    • Con Azure Key Vault, puede evitar la necesidad de almacenar credenciales en texto sin formato dentro del código o los archivos de configuración. Puede recuperar las credenciales de Key Vault en tiempo de ejecución, que agrega una capa adicional de seguridad a la aplicación y ayuda a evitar el acceso no autorizado a las máquinas virtuales. Key Vault se integra sin problemas con otros servicios de Azure, como Virtual Machines, y puede controlar el acceso a Key Vault mediante Azure Active Directory (Azure AD). Este proceso garantiza que solo los usuarios y aplicaciones autorizados puedan acceder a las credenciales almacenadas.
  • Imágenes de sistema operativo protegidas: una imagen protegida de Center for Internet Security (CIS) para Windows o Linux en Azure puede proporcionar varias ventajas. Los puntos de referencia de CIS se reconocen globalmente como los procedimientos recomendados para proteger los datos y los sistemas de TI. Estas imágenes están preconfiguradas para cumplir las recomendaciones de seguridad del CIS, lo que puede ahorrar tiempo y esfuerzo en la protección del sistema operativo. Las imágenes del sistema operativo protegidas pueden ayudar a las organizaciones a mejorar su posición de seguridad y cumplir con marcos de seguridad como el National Institute of Standards and Technology (NIST) y la interconexión de componentes periféricos (PCI).

Protección del sistema operativo

Asegúrese de que el sistema operativo esté protegido para eliminar las vulnerabilidades que podrían aprovecharse para atacar Oracle Database.

  • Use pares de claves Secure Shell (SSH) para el acceso a la cuenta de Linux en lugar de las contraseñas.
  • Deshabilite las cuentas de Linux protegidas con contraseña y habilítelas solo a petición durante un breve período.
  • Deshabilite el acceso de inicio de sesión para las cuentas de Linux con privilegios (raíz u Oracle), lo que permite el acceso de inicio de sesión solo a cuentas personalizadas.
  • En lugar del acceso de inicio de sesión directo, use sudo para conceder acceso a cuentas de Linux con privilegios desde cuentas personalizadas.
  • Capture los registros de pista de auditoría de Linux y los registros de acceso sudo en los registros de Azure Monitor mediante la utilidad SYSLOG de Linux.
  • Aplique parches de seguridad y revisiones o actualizaciones del sistema operativo periódicamente solo desde orígenes de confianza.
  • Implemente restricciones para limitar el acceso al sistema operativo.
  • Restrinja el acceso no autorizado al servidor.
  • Controle el acceso al servidor en el nivel de red para mejorar la seguridad general.
  • Considere la posibilidad de usar el demonio de firewall de Linux como protección local anterior, además de los grupos de seguridad de red (NSG) de Azure.
  • Configure el demonio de firewall de Linux para que se ejecute automáticamente en el inicio.
  • Examine los puertos de red que se escuchan para comprender los posibles puntos de acceso y asegúrese de que los grupos de seguridad de red de Azure o el demonio de firewall de Linux controlan el acceso a esos puertos. Use el comando netstat –l de Linux para buscar los puertos.
  • Ponga un alias a los comandos Linux potencialmente destructivos, como rm y mv, para forzarlos al modo interactivo, de forma que se le pregunte al menos una vez antes de ejecutar un comando irreversible. Los usuarios expertos pueden ejecutar un comando unalias si es necesario.
  • Configure los registros del sistema unificado de Oracle Database para enviar copias de los registros de auditoría de Oracle a registros de Azure Monitor mediante la utilidad SYSLOG de Linux.

Uso de la seguridad de red

La seguridad de red es el componente fundamental de un enfoque de seguridad en capas para cargas de trabajo de Oracle en Azure.

  • Uso de grupos de seguridad de red (NSG): puede usar un grupo de seguridad de red de Azure para filtrar el tráfico de red entre los recursos de Azure en una red virtual de Azure. Un NSG contiene reglas de seguridad que permiten o deniegan el tráfico de red entrante hacia recursos de Azure o el tráfico de red saliente desde recursos de Azure. Los NSG pueden filtrar el tráfico entre redes locales hacia y desde Azure también mediante intervalos de direcciones IP y puertos específicos. Para más información, consulte Grupo de seguridad de red.

    En la tabla siguiente se enumeran las asignaciones de puertos de entrada para las máquinas virtuales de Oracle Database:

    Protocolo Número de puerto Nombre del servicio Comentario
    TCP 22 SSH Puerto de administración para máquinas virtuales Linux
    TCP 1521 Agente de escucha de TNS de Oracle Otros números de puertos que se usan con frecuencia para la seguridad o con fines de equilibrio de carga de conexión
    TCP 3389 RDP Puerto de administración para máquinas virtuales Windows
  • Decidir cómo conectarse a la máquina virtual: la máquina virtual en la que reside la carga de trabajo de Oracle Database debe protegerse contra el acceso no autorizado. El acceso de administración es confidencial debido a los permisos más altos necesarios para los usuarios de administración. En Azure, los usuarios autorizados tienen varios mecanismos disponibles para administrar la máquina virtual de forma segura.

    • El acceso Just-In-Time (JIT) de Microsoft Defender for Cloud hace uso inteligente de los mecanismos de seguridad de red de Azure para proporcionar oportunidades limitadas de tiempo para acceder a los puertos de administración en la máquina virtual.
    • Azure Bastion es una solución de plataforma como servicio (PaaS) que se implementa en Azure. Azure Bastion hospeda un jumpbox.

Puede usar cualquiera de las soluciones para proteger la administración de la máquina virtual de Oracle Database. Si lo desea, puede combinar ambas soluciones para unenfoque avanzado de varias capas.

En general, el acceso JIT minimiza pero no elimina la exposición a riesgos al restringir los tiempos en los que están disponibles los puertos de administración para SSH o RDP. JIT deja abierta la posibilidad de acceso por parte de otras sesiones al realizar un seguimiento de cerca durante una ventana JIT obtenida. Estos seguidores todavía deben interrumpirse más allá de los puertos SSH o RDP expuestos, por lo que el riesgo de exposición es pequeño. Sin embargo, estas exposiciones pueden hacer que el acceso JIT sea menos aceptable para bloquear el acceso desde Internet abierto.

Azure Bastion es básicamente un jumpbox protegido que ayuda a evitar el acceso desde Internet abierto. Sin embargo, hay numerosas limitaciones en Azure Bastion para que tenga en cuenta.

  • Use X-Windows y Virtual Networking Computing (VNC): el software de Oracle Database normalmente requiere que use X-Windows, ya que la conectividad entre la máquina virtual Linux en Azure y el equipo portátil o de escritorio podría atravesar firewalls y grupos de seguridad de red de Azure. Por este motivo, debe usar el reenvío de puertos SSH para tunelizar las conexiones X-Windows o VNC a través de SSH. Para obtener un ejemplo que use el parámetro -L 5901:localhost:5901, consulte Apertura de un cliente VNC y prueba de la implementación.

  • Opciones de interconexión entre nubes: habilite la conectividad entre cargas de trabajo de Oracle Database que se ejecutan en Azure y cargas de trabajo en Oracle Cloud Infrastructure (OCI). Puede crear vínculos privados o canalizaciones entre aplicaciones mediante la interconexión de Azure u OCI entre regiones específicas de Azure y OCI. Para más información, consulte Configuración de una interconexión directa entre Azure y Oracle Cloud Infrastructure. Este artículo no cubre la creación de firewalls en ninguno de los lados de la interconexión de Azure u OCI, que suele ser un requisito para cualquier entrada o salida entre nubes. Este enfoque emplea las recomendaciones de redes de Microsoft Confianza cero.

Seguridad basada en directivas de Azure

No hay definiciones específicas de directivas de Azure integradas para cargas de trabajo de Oracle en el acelerador de zonas de aterrizaje de Virtual Machines. Sin embargo, Azure Policy ofrece una cobertura completa de los recursos fundamentales que usa cualquier solución de Oracle en Azure, incluidas las máquinas virtuales, el almacenamiento y las redes. Para más información, consulte Definiciones de directiva integradas de Azure Policy.

También puede crear directivas personalizadas para abordar los requisitos de su organización para salvar la brecha. Por ejemplo, use directivas personalizadas de Oracle para aplicar el cifrado de almacenamiento, administrar reglas de NSG o prohibir la asignación de la dirección IP pública a una máquina virtual de Oracle.

Uso del cifrado para almacenar datos

  • Cifrado de datos en tránsito: se aplica al estado de los datos que se mueven de una ubicación a otra, normalmente a través de una conexión de red. Los datos en tránsito se pueden cifrar de varias maneras, en función de la naturaleza de la conexión. De manera predeterminada, debe habilitar manualmente el cifrado de datos para los datos en tránsito dentro de los centros de datos de Azure. Para más información en la documentación de Azure, consulte Cifrado de datos en tránsito.

  • Cifrado de datos en reposo: también debe proteger los datos cuando se escriben en el almacenamiento, mientras está en reposo. Los datos confidenciales se pueden exponer o modificar cuando se quitan los elementos multimedia de almacenamiento durante el uso, o bien cuando se accede a ellos. Por lo tanto, los datos deben cifrarse para asegurarse de que solo los usuarios autorizados y autenticados puedan verlos o modificarlos. Azure proporciona tres capas de cifrado en reposo.

    • Todos los datos se cifran en el nivel más bajo cuando se conservan en cualquier dispositivo de Azure Storage con el cifrado del lado del servicio de Storage. El cifrado del lado del servicio garantiza que no sea necesario borrar o destruir los elementos multimedia de almacenamiento cuando un inquilino de Azure se realiza mediante el almacenamiento. Los datos que siempre se cifran en reposo se pueden perder permanentemente si se descarta la clave administrada por la plataforma. El cifrado del lado del servicio es más rápido y seguro que intentar eliminar todos los datos del almacenamiento.
    • Azure también ofrece la oportunidad de realizar un cifrado doble de los datos almacenados en la infraestructura de Storage mediante el cifrado de infraestructura de Storage, que usa dos claves administradas por la plataforma independientes.
    • Además, Azure Disk Encryption es el cifrado de datos en reposo que se administra dentro del sistema operativo invitado (BitLocker para Windows y DM-CRYPT para Linux).

La infraestructura de Storage tiene hasta tres capas posibles de cifrado de datos en reposo. Si tiene la opción Oracle Advanced Security, Oracle Database también puede cifrar los archivos de base de datos con cifrado de datos transparente (TDE) y proporcionar otro nivel de cifrado en reposo.

La opción Oracle Advanced Security también ofrece una característica denominada redacción de datos, que es una forma de enmascaramiento dinámico de datos. Cuando la base de datos recupera datos, enmascara el valor de datos, sin modificar el valor de datos almacenado.

Estas múltiples capas de cifrado en reposo representan la definición de defensa en profundidad. Si por alguna razón se pone en peligro una de las formas de cifrado en reposo, todavía hay otras capas de cifrado para proteger los datos.

  • Administración de claves: si decide implementar Oracle TDE como otra capa de cifrado, es importante tener en cuenta que Oracle no admite las soluciones de administración de claves nativas (por ejemplo, Azure Key Vault) proporcionadas por Azure u otros proveedores de nube. En su lugar, la ubicación predeterminada de Oracle Wallet está dentro del sistema de archivos de la máquina virtual de Oracle Database.

Para más información, consulte Aprovisionamiento de Oracle Key Vault en Azure para aprender a usar Oracle Key Vault como una solución de administración de claves de Azure.

Integración de pistas de auditoría

La supervisión del registro de aplicaciones es esencial para detectar amenazas de seguridad en el nivel de aplicación. Use la solución Microsoft Sentinel para cargas de trabajo de Oracle Database. El conector de auditoría de Oracle Database recupera e ingiere todos los registros de auditoría de base de datos de Oracle en los registros de Azure Monitor mediante una interfaz SYSLOG estándar del sector. Este proceso permite que esos registros se revisen junto con los registros de auditoría de infraestructura de Azure y los registros de auditoría del sistema operativo invitado (Linux o Windows). La solución de Microsoft Sentinel es una solución de administración de eventos e información de seguridad nativa de la nube (SIEM) creada para la carga de trabajo de Oracle que se ejecuta en una máquina virtual Linux o Windows. Para obtener más información, consulte Conector de auditoría de Oracle Database para Microsoft Sentinel.

Paso siguiente

Para comprender cómo planear los requisitos de capacidad para cargas de trabajo de Oracle en Azure, consulte Planificación de capacidad para migrar cargas de trabajo de Oracle a zonas de aterrizaje de Azure.