Conexiones Oracle seguras con cifrado SQL*Net y sumas de comprobación

    Publicado 20. septiembre 2022

    Actualizado en octubre de 2025


    Introducción

    Las herramientas Oracle de KeepTool (a partir de la versión 15) admiten funciones de seguridad avanzadas, como el cifrado SQL*Net y la comprobación de la integridad de los datos mediante sumas de comprobación. Estas funciones ayudan a proteger el tráfico de la base de datos y garantizan la detección de manipulaciones.

    En este artículo, mostraremos:

    1. Cómo habilitar el cifrado SQL*Net y la suma de comprobación tanto en el servidor como en el cliente

    2. Cómo KeepTool (y Hora) admite estas funciones, incluso con su modo TCP/IP directo

    3. Cómo supervisar qué sesiones están cifradas y cuáles no

    Vamos a ello.


    Habilitar el cifrado SQL*Net en el servidor de la base de datos

    En el lado del servidor, realice los ajustes necesarios en el archivo sqlnet.ora :

      SQLNET.ENCRYPTION_SERVER=REQUIRED
      SQLNET.ENCRYPTION_TYPES_SERVER = (AES256,DES)
    • SQLNET.ENCRYPTION_SERVER acepta valores como ACCEPTED, REJECTED, REQUESTED o REQUIRED.

      • ACCEPTED permite tanto el tráfico cifrado como el no cifrado (el valor predeterminado).

      • REQUIRED obliga a que todas las conexiones estén cifradas.

    • SQLNET.ENCRYPTION_TYPES_SERVER enumera los algoritmos permitidos (por ejemplo AES256, DES).
      Si se omite, se permiten todos los algoritmos de forma predeterminada.

    Puede encontrar la lista oficial de métodos de cifrado válidos de Oracle en su documentación.


    Habilitación del cifrado SQL*Net en el cliente

    En su cliente o estación de trabajo, refleje la configuración en su propio sqlnet.ora:

      SQLNET.ENCRYPTION_CLIENT=REQUIRED
      SQLNET.ENCRYPTION_TYPES_CLIENT = (AES256)
    • SQLNET.ENCRYPTION_CLIENT siguen las mismas opciones de valor que en el servidor.

    • La negociación del cifrado entre el cliente y el servidor determina si el tráfico se cifra, se descifra o se rechaza.

    Oracle proporciona una matriz de negociación que muestra las combinaciones permitidas de ajustes de cifrado del servidor/cliente.


    Uso del cifrado con conexiones TCP/IP directas

    KeepTool admite conexiones TCP/IP directas (es decir, sin pasar por el cliente Oracle) mediante el análisis de la sintaxis de la cadena de conexión. Por ejemplo, cadenas de conexión como:

    • <hostname>:<port>/<service_name>

    • <hostname>:<port>:<SID>

    activan un modo TCP/IP directo en lugar del modo SQL*Net tradicional.

    Dado que el TCP/IP directo no utiliza sqlnet.ora, el cifrado no se puede configurar en los archivos habituales. En su lugar, KeepTool proporciona la configuración en el panel de configuración de TCP/IP directo.
    Encontrará un cuadro combinado denominado «Cifrado» (resaltado en verde). Por defecto: «Aceptado», pero puede cambiar a «Requerido» para aplicar el cifrado. (La opción «Solicitado» está actualmente desactivada/en gris).

    Direct TCP/IP settings for encryption

    Configuración TCP/IP directa para el cifrado

    Importante:

    • Para permitir el cifrado, configúrelo en Aceptado

    • Para forzar el cifrado, utilice «Requerido»


    Supervisión del cifrado de red en Hora

    Hora añade soporte dedicado para que pueda comprobar qué sesiones utilizan el cifrado:

    • Abra la pestaña Sesiones > Cliente de red

    • Muestra una cuadrícula con los módulos adaptadores cargados por la sesión; si se ha cargado un adaptador de cifrado, esa conexión está cifrada (SQLNET.ENCRYPTION).

    • Debajo de la cuadrícula, se muestra información adicional del cliente (por ejemplo, versión de OCI, juego de caracteres).

    Viewing Network Encryption Details for a DB session in Hora

    Visualización de los detalles de cifrado de red para una sesión de base de datos en Hora

    En la cuadrícula de resumen de sesiones habitual, aparece una nueva columna «Cifrado» debajo de Máquina cliente. Las sesiones
    con cifrado habilitado se resaltan (por ejemplo, en verde) para que pueda ver inmediatamente qué conexiones están protegidas.

    Network Encryption Information in Hora's Session Monitor

    Información de cifrado de red en el monitor de sesiones de Hora

    Esta visibilidad facilita la auditoría del cumplimiento de las normas de seguridad de su entorno.


    Sumas de comprobación de integridad de datos (comprobaciones criptográficas)

    Existe otra función de seguridad de datos para la integridad de los datos. Se puede configurar de forma muy similar al cifrado SQL*Net utilizando los parámetros sqlnet.ora:

    Además del cifrado, también puede habilitar las sumas de comprobación para proteger contra la manipulación de datos. La configuración se controla de forma similar a través de sqlnet.ora:

    En el servidor:

      SQLNET.CRYPTO_CHECKSUM_SERVER 
      SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER

    En el cliente:

      SQLNET.CRYPTO_CHECKSUM_CLIENT 
      SQLNET.CRYPTO_CHECKSUM_TYPES_CLIENT

    Estos aceptan los mismos valores de negociación que la configuración de cifrado. Los algoritmos de suma
    de comprobación compatibles (Oracle 12c+) incluyen MD5, SHA1, SHA256, SHA384 y SHA512.
    Si no se especifica ningún algoritmo, se utiliza SHA256 de forma predeterminada.

    En el modo TCP/IP directo, KeepTool también proporciona un cuadro combinado «Suma de comprobación criptográfica», paralelo a la configuración de SQL*Net.
    La cuadrícula Sesiones también muestra una columna «Suma de comprobación» (resaltada, por ejemplo, en amarillo) para indicar qué conexiones tienen habilitada la suma de comprobación.


    Conclusión

    • Puede combinar el cifrado SQL*Net y la suma de comprobación incluso cuando utilice conexiones TCP/IP directas.

    • Hora le muestra el estado de ambas funciones por sesión para que pueda supervisar qué conexiones están cifradas y cuáles no.

    • Esto le ofrece visibilidad en tiempo real de su cumplimiento de las políticas de seguridad y le ayuda a detectar fácilmente el tráfico no cifrado o no verificado.


    ➡️ Pruebe KeepTool gratis

    Las herramientas Oracle de KeepTool están diseñadas específicamente para desarrolladores, administradores de bases de datos (DBA) y equipos de soporte. Con más de 25 años de experiencia, optimizamos continuamente nuestro software para que el análisis y la documentación de sus bases de datos sean más rápidos, eficientes y claros.