EN ESTA PÁGINA
SQLNET ALG
Los servidores SQL de Oracle utilizan el protocolo SQLNET para ejecutar comandos SQL desde clientes, incluidos los servicios de equilibrio de carga y específicos de la aplicación. La compatibilidad con firewall con estado y servicios NAT requiere que configure SQLNET ALG para el puerto TCP 1521. El ALG supervisa los paquetes de control, abre flujos dinámicamente para el tráfico de datos y realiza reescrituras de direcciones NAT y puertos.
Descripción del ALG de SQLNET
La puerta de enlace de capa de aplicación (ALG) de SQLNET procesa paquetes REDIRECT de sustrato de red transparente (TNS) para direcciones IP e información de puertos. El ALG de SQLNET realiza la traducción de direcciones de red (NAT) en la carga del paquete TNS REDIRECT, abre un agujero para una nueva conexión de un cliente a un servidor y transfiere datos entre un cliente y un servidor ubicado en lados opuestos de un dispositivo de Juniper Networks.
SQLNET ALG admite los siguientes tipos de modos de transferencia de datos:
Modo de redireccionamiento: tipo connect-redirect
Modo de intercalado: tipo connect-accept
Equilibrio de carga: tipo connect-redirect-connect-redirect
SQLNET permite el acceso remoto a datos entre aplicaciones y la base de datos Oracle, o entre múltiples bases de datos Oracle. SQLNET establece y mantiene principalmente la conexión entre una aplicación cliente y un servidor de base de datos Oracle. SQLNET tiene varias capas de comunicación que permiten a los clientes y servidores de bases de datos compartir, modificar y manipular datos.
Los servidores SQL de Oracle utilizan el protocolo SQLNET para ejecutar comandos SQL desde clientes, incluidos servicios de equilibrio de carga y específicos de la aplicación. El protocolo SQLNET utiliza TNS como arquitectura de red, y todo el tráfico SQLNET se encapsula en formato de paquete TNS.
El ALG de SQLNET supervisa los paquetes de control, abre agujeros para el tráfico de datos y realiza reescrituras de puertos y NAT. Se requiere compatibilidad con firewall de estado y servicios NAT para configurar SQLNET ALG para el puerto TCP 1521.
Ejemplo: configurar SQLNET ALG
SQLNET ALG procesa paquetes TNS REDIRECT, realiza NAT y abre un agujero para una nueva conexión desde un cliente a un servidor.
En este ejemplo se muestra cómo configurar el ALG de SQLNET en modo de ruta o NAT, permitir que el tráfico SQLNET pase a través de un dispositivo y transferir datos entre un cliente y un servidor ubicado en lados opuestos de un dispositivo de Juniper Networks.
Requisitos
En este ejemplo se utilizan los siguientes componentes de hardware y software:
Un firewall de la serie SRX
Dos PC (cliente y servidor)
Antes de empezar:
Comprender los conceptos detrás de los ALG. Consulte Descripción general de ALG.
Comprender los conceptos básicos de SQLNET ALG . Consulte Descripción de SQLNET ALG.
Visión general
En este ejemplo, primero se configuran las interfaces de red en el dispositivo. Cree zonas de seguridad y asigne interfaces a las zonas, y configure una directiva para permitir que el tráfico SQLNET pase por un firewall de la serie SRX.
A continuación, se crea un conjunto de reglas NAT estáticas rs1 con una regla r1 para que coincida con la dirección de destino 40.0.172.10/32 y se crea un prefijo NAT estático con la dirección 40.0.172.45/32.
A continuación, cree un grupo NAT de origen src-p1 con un conjunto de reglas de origen src-rs1 para traducir paquetes de la interfaz fe-3/0/0.0 a la interfaz fe-3/0/1.0. Para paquetes coincidentes, la dirección de origen se traduce a una dirección IP en el grupo src-p1.
A continuación, se crea un grupo de NAT de destino des-p1 con un conjunto de reglas de destino des-rs1 para traducir paquetes de confianza de zona a la dirección de destino 40.0.172.10/32. Para paquetes coincidentes, la dirección de destino se traduce a una dirección IP en el grupo des-p1. Por último, habilite las opciones de seguimiento de SQLNET ALG.
Configuración
Para configurar el ALG de SQLNET, realice estas tareas:
- Configuración de un modo de ruta
- Configuración de un conjunto de reglas NAT estáticas
- Configuración de un conjunto de reglas y un grupo NAT de origen
- Configuración de un grupo NAT de destino y un conjunto de reglas
- Habilitar SQLNET ALG
- Habilitar las opciones de seguimiento de SQLNET ALG
Configuración de un modo de ruta
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, a continuación, ingrese commit
desde el [edit]
modo de configuración.
set interfaces ge-0/0/0 unit 0 family inet address 10.208.172.58/21 set interfaces fe-3/0/0 unit 0 family inet address 30.3.3.149/8 set interfaces fe-3/0/1 unit 0 family inet address 40.4.4.149/8 set security zones security-zone trust host-inbound-traffic system-services all set security zones security-zone trust host-inbound-traffic protocols all set security zones security-zone trust interfaces fe-3/0/0.0 set security zones security-zone untrust host-inbound-traffic system-services all set security zones security-zone untrust host-inbound-traffic protocols all set security zones security-zone untrust interfaces fe-3/0/1.0 set security policies from-zone trust to-zone untrust policy sql match source-address any set security policies from-zone trust to-zone untrust policy sql match destination-address any set security policies from-zone trust to-zone untrust policy sql match application junos-sqlnet-v2 set security policies from-zone trust to-zone untrust policy sql then permit
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para configurar el modo de ruta:
Configurar interfaces.
[edit interfaces] user@host# set ge-0/0/0 unit 0 family inet address 10.208.172.58/21 user@host# set fe-3/0/0 unit 0 family inet address 30.3.3.149/8 user@host# set fe-3/0/1 unit 0 family inet address 40.4.4.149/8
Configure zonas y asigne interfaces a las zonas.
[edit security zones security-zone] user@host# set trust host-inbound-traffic system-services all user@host# set trust host-inbound-traffic protocols all user@host# set trust interfaces fe-3/0/0.0 user@host# set untrust host-inbound-traffic system-services all user@host# set untrust host-inbound-traffic protocols all user@host# set untrust interfaces fe-3/0/1.0
Configure una directiva SQL que permita el tráfico SQL desde la zona de confianza a la zona que no es de confianza.
[edit security policies from-zone trust to-zone untrust ] user@host# set policy sql match source-address any user@host# set policy sql match destination-address any user@host# set policy sql match application junos-sqlnet-v2 user@host# set policy sql then permit
Resultados
Desde el modo de configuración, escriba los comandos , y show security policies
para confirmar la show interfaces
configuración. show security zones
Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.
Para mayor brevedad, este resultado incluye solo la configuración relevante para este show
ejemplo. Cualquier otra configuración en el sistema ha sido reemplazada por puntos suspensivos (...).
[edit] user@host# show interfaces ge-0/0/0 { unit 0 { family inet { address 10.208.172.58/21; } } } fe-3/0/0 { unit 0 { family inet { address 30.3.3.149/8; } } } fe-3/0/1 { unit 0 { family inet { address 40.4.4.149/8; } } }
[edit] user@host# show security zones ... security-zone trust { host-inbound-traffic { system-services { all; } protocols { all; } } interfaces { fe-3/0/0.0; } } security-zone untrust { host-inbound-traffic { system-services { all; } protocols { all; } } interfaces { fe-3/0/1.0; } } ...
[edit] user@host# show security policies from-zone trust to-zone untrust { policy sql { match { source-address any; destination-address any; application junos-sqlnet-v2; } then { permit; } } }
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Configuración de un conjunto de reglas NAT estáticas
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, a continuación, ingrese commit
desde el [edit]
modo de configuración.
set security nat static rule-set rs1 from zone trust set security nat static rule-set rs1 rule r1 match destination-address 40.0.172.10/32 set security nat static rule-set rs1 rule r1 then static-nat prefix 40.0.172.45/32
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para configurar un conjunto de reglas NAT estáticas:
Cree un conjunto de reglas NAT estáticas.
[edit security nat static rule-set rs1] user@host#set from zone trust
Defina una regla que coincida con la dirección de destino.
[edit security nat static rule-set rs1] user@host# set rule r1 match destination-address 40.0.172.10/32
Defina un prefijo NAT estático para el dispositivo.
[edit security nat static rule-set rs1] user@host# set rule r1 then static-nat prefix 40.0.172.45/32
Resultados
Desde el modo de configuración, confirme la configuración introduciendo el show security nat
comando. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.
[edit] user@host# show security nat static { rule-set rs1 { from zone trust; rule r1 { match { destination-address 40.0.172.10/32; } then { static-nat { prefix { 40.0.172.45/32; } } } } } }
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Configuración de un conjunto de reglas y un grupo NAT de origen
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, a continuación, ingrese commit
desde el [edit]
modo de configuración.
set security nat source pool src-p1 address 40.0.172.100/32 to 40.0.172.101/32 set security nat source rule-set src-rs1 from interface fe-3/0/0.0 set security nat source rule-set src-rs1 to interface fe-3/0/1.0 set security nat source rule-set src-rs1 rule r1 match source-address 30.0.0.0/8 set security nat source rule-set src-rs1 rule r1 match destination-address 40.0.0.0/8 set security nat source rule-set src-rs1 rule r1 then source-nat pool src-p1
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para configurar un conjunto de reglas y un grupo NAT de origen:
Cree un grupo NAT de origen.
[edit security nat source] user@host#set pool src-p1 address 40.0.172.100/32 to 40.0.172.101/32
Cree un conjunto de reglas NAT de origen.
[edit security nat source] user@host# set rule-set src-rs1 from interface fe-3/0/0.0 user@host# set rule-set src-rs1 to interface fe-3/0/1.0
Configure una regla que coincida con los paquetes y traduzca la dirección de origen a una dirección del grupo de origen.
[edit security nat source] user@host# set rule-set src-rs1 rule r1 match source-address 30.0.0.0/8
Configure una regla que coincida con los paquetes y traduzca la dirección de destino a una dirección del grupo de origen.
[edit security nat source] user@host# set rule-set src-rs1 rule r1 match destination-address 40.0.0.0/8
Configure un grupo NAT de origen en la regla.
[edit security nat source] user@host# set rule-set src-rs1 rule r1 then source-nat pool src-p1
Resultados
Desde el modo de configuración, confirme la configuración introduciendo el show security nat
comando. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.
[edit] user@host# show security nat source { pool src-p1 { address { 40.0.172.100/32 to 40.0.172.101/32; } } rule-set src-rs1 { from interface fe-3/0/0.0; to interface fe-3/0/1.0; rule r1 { match { source-address 30.0.0.0/8; destination-address 40.0.0.0/8; } then { source-nat { pool { src-p1; } } } } } }
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Configuración de un grupo NAT de destino y un conjunto de reglas
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, a continuación, ingrese commit
desde el [edit]
modo de configuración.
set security nat destination pool des-p1 address 40.0.172.45/32 set security nat destination rule-set des-rs1 from zone trust set security nat destination rule-set des-rs1 rule des-r1 match source-address 30.0.172.12/32 set security nat destination rule-set des-rs1 rule des-r1 match destination-address 40.0.172.10/32 set security nat destination rule-set des-rs1 rule des-r1 then destination-nat pool des-p1
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para configurar un grupo NAT de destino y un conjunto de reglas:
Cree un grupo NAT de destino.
[edit security nat destination] user@host#set pool des-p1 address 40.0.172.45/32
Cree un conjunto de reglas NAT de destino.
[edit security nat destination] user@host# set rule-set des-rs1 from zone trust
Configure una regla que coincida con los paquetes y traduzca la dirección de origen a la dirección del grupo.
[edit security nat destination] user@host# set rule-set des-rs1 rule des-r1 match source-address 30.0.172.12/32
Configure una regla que coincida con los paquetes y traduzca la dirección de destino a la dirección del grupo.
[edit security nat destination] user@host# set rule-set des-rs1 rule des-r1 match destination-address 40.0.172.10/32
Configure un grupo NAT de origen en la regla.
[edit security nat destination] user@host# set rule-set des-rs1 rule des-r1 then destination-nat pool des-p1
Resultados
Desde el modo de configuración, confirme la configuración introduciendo el show security nat
comando. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.
[edit] user@host# show security nat destination { pool des-p1 { address { 40.0.172.45/32; } } rule-set des-rs1 { from zone trust; rule des-r1 { match { source-address 30.0.172.12/32; destination-address 40.0.172.10/32; } then { destination-nat { pool { des-p1; } } } } }
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Habilitar SQLNET ALG
Configuración rápida de CLI
A partir de Junos OS versión 15.1X49-D10 y Junos OS versión 17.3R1, la puerta de enlace de capa de aplicación SQLNET está habilitada de forma predeterminada.
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, a continuación, ingrese commit
desde el [edit]
modo de configuración.
set security alg sql
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para habilitar SQLNET ALG:
Habilite SQLNET ALG.
[edit ] user@host#set security alg sql
Habilitar las opciones de seguimiento de SQLNET ALG
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red, copie y pegue los comandos en la CLI en el nivel de jerarquía y, a continuación, ingrese commit
desde el [edit]
modo de configuración.
set security alg sql traceoptions flag all set security alg traceoptions file trace set security alg traceoptions file size 1g set security alg traceoptions level verbose
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar por varios niveles en la jerarquía de configuración. Para obtener instrucciones sobre cómo hacerlo, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de CLI.
Para habilitar las opciones de seguimiento de SQLNET ALG:
Habilite las opciones de seguimiento de SQLNET ALG.
[edit security alg] user@host#set sql traceoptions flag all
Configure un nombre de archivo para recibir los resultados de la operación de seguimiento.
[edit security alg] user@host#set traceoptions file trace
Especifique el tamaño máximo del archivo de seguimiento.
[edit security alg] user@host#set traceoptions file size 1g
Especifique el nivel de salida del seguimiento.
[edit security alg] user@host#set traceoptions level verbose
Resultados
Desde el modo de configuración, confirme la configuración introduciendo el show security alg
comando. Si el resultado no muestra la configuración deseada, repita las instrucciones de configuración en este ejemplo para corregirla.
[edit] user@host# show security alg traceoptions { file trace size 1g; level verbose; } sql traceoptions flag all;
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Verificación
Confirme que la configuración funciona correctamente.
- Comprobar la sesión de control de SQLNET ALG
- Comprobar el ALG de SQLNET
- Comprobar el grupo Administrador de recursos ALG de SQLNET
- Comprobar la información de recursos de SQLNET ALG
Comprobar la sesión de control de SQLNET ALG
Propósito
Compruebe que se ha ejecutado el comando SQL y que se han creado todas las sesiones de datos y control SQL.
Acción
Desde el modo operativo, ingrese el show security flow session
comando.
user@host>show security flow session Session ID: 10880, Policy name: sql, Timeout: 2, Valid In: 30.0.172.12/52315 --> 40.0.172.35/1521;tcp, If: fe-3/0/0.0, Pkts: 6, Bytes: 492 Out: 40.0.172.35/1521 --> 30.0.172.12/52315;tcp, If: fe-3/0/1.0, Pkts: 4, Bytes: 227 Session ID: 10881, Policy name: sql, Timeout: 1800, Valid Resource information : SQLV2 ALG, 5, 18 In: 30.0.172.12/45944 --> 40.0.172.35/1114;tcp, If: fe-3/0/0.0, Pkts: 18, Bytes: 4240 Out: 40.0.172.35/1114 --> 30.0.172.12/45944;tcp, If: fe-3/0/1.0, Pkts: 15, Bytes: 3989 Total sessions: 2
Significado
Session ID: número que identifica la sesión. Utilice este ID para obtener más información sobre la sesión, como el nombre de la directiva, el número de paquetes entrantes y salientes.
Policy name: nombre de la política que permitió el tráfico.
In—Flujo entrante (direcciones IP de origen y destino con sus respectivos números de puerto de origen y destino, la sesión es TCP y la interfaz de origen para esta sesión es fe-3/0/0.0).
Out—Flujo inverso (direcciones IP de origen y destino con sus respectivos números de puerto de origen y destino, la sesión es TCP y la interfaz de destino para esta sesión es fe-3/0/1.0).
Comprobar el ALG de SQLNET
Propósito
Compruebe que el ALG de SQLNET está habilitado.
Acción
Desde el modo operativo, ingrese el show security alg status
comando.
user@host>show security alg status ALG Status : DNS : Enabled FTP : Enabled H323 : Disabled MGCP : Disabled MSRPC : Enabled PPTP : Enabled RSH : Disabled RTSP : Disabled SCCP : Disabled SIP : Disabled SQL : Enabled SUNRPC : Enabled TALK : Enabled TFTP : Enabled IKE-ESP : Disabled
Significado
El resultado muestra el estado de SQLNET ALG de la siguiente manera:
Habilitado: muestra que el ALG de SQLNET está habilitado.
Deshabilitado: muestra que el ALG de SQLNET está deshabilitado.
Comprobar el grupo Administrador de recursos ALG de SQLNET
Propósito
Compruebe el número total de grupos del administrador de recursos y grupos activos que utiliza la ALG de SQLNET.
Acción
Desde el modo operativo, ingrese el show security resource-manager group active
comando.
user@host>show security resource-manager group active Group ID 1: Application - SQL ALG Total groups 677, active groups 1
Comprobar la información de recursos de SQLNET ALG
Propósito
Compruebe el número total de recursos y recursos activos que utiliza la ALG de SQLNET.
Acción
Desde el modo operativo, ingrese el show security resource-manager resource active
comando.
user@host>show security resource-manager resource active Resource ID 2: Group ID - 1, Application - SQL ALG Resource ID 1: Group ID - 1, Application - SQL ALG Total Resources 4044, active resources 2