SUR CETTE PAGE
SQLNET ALG
Le protocole SQLNET est utilisé par les serveurs ORACLE SQL pour exécuter des commandes SQL à partir de clients, y compris l’équilibrage de charge et les services spécifiques aux applications. Pour prendre en charge le pare-feu à états et les services NAT, vous devez configurer l’ALG SQLNET pour le port TCP 1521. L’ALG surveille les paquets de contrôle, ouvre les flux de manière dynamique pour le trafic de données et effectue des réécritures d’adresse NAT et de port.
Comprendre l’ALG SQLNET
La passerelle de couche application (ALG) SQLNET traite les paquets REDIRECT TNS (Transparent Network Substrate) pour les adresses IP et les informations de port. L’ALG SQLNET effectue la traduction des adresses réseau (NAT) sur la charge utile du paquet REDIRECT TNS, ouvre un trou d’épingle pour une nouvelle connexion d’un client à un serveur et transfère des données entre un client et un serveur situé sur les côtés opposés d’un équipement Juniper Networks.
SQLNET ALG prend en charge les types de modes de transfert de données suivants :
Mode de redirection : type connexion-redirection
Mode inter-liaison — type connexion-acceptation
Équilibrage de charge : type connect-redirect-connect-redirect
SQLNET permet d’accéder aux données à distance entre les applications et la base de données Oracle, ou entre plusieurs bases de données Oracle. SQLNET établit et maintient principalement la connexion entre une application cliente et un serveur de base de données Oracle. SQLNET dispose de plusieurs couches de communication qui permettent aux clients et aux serveurs de base de données de partager, modifier et manipuler des données.
Les serveurs ORACLE SQL utilisent le protocole SQLNET pour exécuter des commandes SQL provenant de clients, y compris l’équilibrage de charge et les services spécifiques aux applications. Le protocole SQLNET utilise TNS comme architecture réseau, et tout le trafic SQLNET est encapsulé dans le format de paquet TNS.
L’ALG SQLNET surveille les paquets de contrôle, ouvre un trou d’épingle pour le trafic de données et effectue des réécritures NAT et port. La prise en charge du pare-feu à états et des services NAT est nécessaire pour configurer l’ALG SQLNET pour le port TCP 1521.
Exemple : configuration de l’ALG SQLNET
L’ALG SQLNET traite les paquets TNS REDIRECT, effectue le NAT et ouvre un trou d’épingle pour une nouvelle connexion d’un client à un serveur.
Cet exemple montre comment configurer l’ALG SQLNET en mode routage ou NAT, autoriser le trafic SQLNET à passer par un équipement et transférer des données entre un client et un serveur situé sur les côtés opposés d’un équipement Juniper Networks.
Exigences
Cet exemple utilise les composants matériels et logiciels suivants :
Un équipement SRX Series
Deux PC (client et serveur)
Avant de commencer :
Comprenez les concepts sous-jacents aux ALG. Voir la présentation d’ALG.
Découvrez les bases de SQLNET ALG . Voir Comprendre l’ALG SQLNET.
Aperçu
Dans cet exemple, vous devez d’abord configurer les interfaces réseau sur l’équipement. Créez des zones de sécurité et attribuez des interfaces aux zones, et configurez une stratégie pour permettre au trafic SQLNET de passer par un équipement SRX Series.
Ensuite, vous créez un ensemble de règles NAT statique rs1 avec une règle r1 qui correspond à l’adresse de destination 40.0.172.10/32, et vous créez un préfixe NAT statique avec l’adresse 40.0.172.45/32.
Ensuite, vous créez un pool NAT source src-p1 avec un ensemble de règles source src-rs1 pour traduire les paquets de l’interface fe-3/0/0/0 vers l’interface fe-3/0/1.0. Pour les paquets correspondants, l’adresse source est traduite en adresse IP dans le pool src-p1.
Ensuite, vous créez un pool NAT de destination des-p1 avec un ensemble de règles de destination des-rs1 pour traduire les paquets de zone de confiance en adresse de destination 40.0.172.10/32. Pour les paquets correspondants, l’adresse de destination est traduite en adresse IP dans le pool des-p1. Enfin, vous activez les options de suivi SQLNET ALG.
Configuration
Pour configurer l’ALG SQLNET, effectuez les tâches suivantes :
- Configuration d’un mode de routage
- Configuration d’un ensemble de règles NAT statique
- Configuration d’un pool NAT source et d’un ensemble de règles
- Configuration d’un pool NAT de destination et d’un ensemble de règles
- Activation de SQLNET ALG
- Activation des options de trace SQLNET ALG
Configuration d’un mode de routage
Configuration rapide cli
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez les détails nécessaires pour correspondre à la configuration de votre réseau, copiez et collez les commandes dans la CLI au niveau de la [edit]
hiérarchie, puis entrez commit
à partir du mode de configuration.
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
Procédure étape par étape
Dans l’exemple suivant, vous devez parcourir différents niveaux de la hiérarchie de configuration. Pour obtenir des instructions sur la façon d’y parvenir, reportez-vous à la section Utilisation de l’éditeur CLI en mode de configuration dans le guide de l’utilisateur CLI.
Pour configurer le mode de routage :
Configurez les 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
Configurez les zones et attribuez des interfaces aux zones.
[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
Configurez une stratégie SQL qui autorise le trafic SQL de la zone de confiance à la zone de non confiance.
[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
Résultats
À partir du mode de configuration, confirmez votre configuration en entrant le show interfaces
, show security zones
et show security policies
les commandes. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.
Par souci de concision, cette show
sortie inclut uniquement la configuration pertinente pour cet exemple. Toute autre configuration du système a été remplacée par des ellipses (...).
[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 vous avez fini de configurer l’équipement, saisissez commit
à partir du mode de configuration.
Configuration d’un ensemble de règles NAT statique
Configuration rapide cli
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez les détails nécessaires pour correspondre à la configuration de votre réseau, copiez et collez les commandes dans la CLI au niveau de la [edit]
hiérarchie, puis entrez commit
à partir du mode de configuration.
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
Procédure étape par étape
Dans l’exemple suivant, vous devez parcourir différents niveaux de la hiérarchie de configuration. Pour obtenir des instructions sur la façon d’y parvenir, reportez-vous à la section Utilisation de l’éditeur CLI en mode de configuration dans le guide de l’utilisateur CLI.
Pour configurer un ensemble de règles NAT statiques :
Créez un ensemble de règles NAT statiques.
[edit security nat static rule-set rs1] user@host#set from zone trust
Définissez une règle qui correspond à l’adresse de destination.
[edit security nat static rule-set rs1] user@host# set rule r1 match destination-address 40.0.172.10/32
Définissez un préfixe NAT statique pour l’équipement.
[edit security nat static rule-set rs1] user@host# set rule r1 then static-nat prefix 40.0.172.45/32
Résultats
À partir du mode configuration, confirmez votre configuration en entrant la show security nat
commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.
[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 vous avez fini de configurer l’équipement, saisissez commit
à partir du mode de configuration.
Configuration d’un pool NAT source et d’un ensemble de règles
Configuration rapide cli
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez les détails nécessaires pour correspondre à la configuration de votre réseau, copiez et collez les commandes dans la CLI au niveau de la [edit]
hiérarchie, puis entrez commit
à partir du mode de configuration.
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
Procédure étape par étape
Dans l’exemple suivant, vous devez parcourir différents niveaux de la hiérarchie de configuration. Pour obtenir des instructions sur la façon d’y parvenir, reportez-vous à la section Utilisation de l’éditeur CLI en mode de configuration dans le guide de l’utilisateur CLI.
Pour configurer un pool NAT source et un ensemble de règles :
Créez un pool NAT source.
[edit security nat source] user@host#set pool src-p1 address 40.0.172.100/32 to 40.0.172.101/32
Créez un ensemble de règles NAT source.
[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
Configurez une règle qui correspond aux paquets et traduit l’adresse source en adresse du pool source.
[edit security nat source] user@host# set rule-set src-rs1 rule r1 match source-address 30.0.0.0/8
Configurez une règle qui correspond aux paquets et traduit l’adresse de destination en une adresse du pool source.
[edit security nat source] user@host# set rule-set src-rs1 rule r1 match destination-address 40.0.0.0/8
Configurez un pool NAT source dans la règle.
[edit security nat source] user@host# set rule-set src-rs1 rule r1 then source-nat pool src-p1
Résultats
À partir du mode configuration, confirmez votre configuration en entrant la show security nat
commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.
[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 vous avez fini de configurer l’équipement, saisissez commit
à partir du mode de configuration.
Configuration d’un pool NAT de destination et d’un ensemble de règles
Configuration rapide cli
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez les détails nécessaires pour correspondre à la configuration de votre réseau, copiez et collez les commandes dans la CLI au niveau de la [edit]
hiérarchie, puis entrez commit
à partir du mode de configuration.
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
Procédure étape par étape
Dans l’exemple suivant, vous devez parcourir différents niveaux de la hiérarchie de configuration. Pour obtenir des instructions sur la façon d’y parvenir, reportez-vous à la section Utilisation de l’éditeur CLI en mode de configuration dans le guide de l’utilisateur CLI.
Pour configurer un pool nat de destination et un ensemble de règles :
Créez un pool NAT de destination.
[edit security nat destination] user@host#set pool des-p1 address 40.0.172.45/32
Créez un ensemble de règles NAT de destination.
[edit security nat destination] user@host# set rule-set des-rs1 from zone trust
Configurez une règle qui correspond aux paquets et traduit l’adresse source en l’adresse du pool.
[edit security nat destination] user@host# set rule-set des-rs1 rule des-r1 match source-address 30.0.172.12/32
Configurez une règle qui correspond aux paquets et traduit l’adresse de destination en l’adresse du pool.
[edit security nat destination] user@host# set rule-set des-rs1 rule des-r1 match destination-address 40.0.172.10/32
Configurez un pool NAT source dans la règle.
[edit security nat destination] user@host# set rule-set des-rs1 rule des-r1 then destination-nat pool des-p1
Résultats
À partir du mode configuration, confirmez votre configuration en entrant la show security nat
commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.
[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 vous avez fini de configurer l’équipement, saisissez commit
à partir du mode de configuration.
Activation de SQLNET ALG
Configuration rapide cli
À partir de La version 15.1X49-D10 de Junos OS et de la version 17.3R1 de Junos OS, la passerelle de la couche applicative SQLNET est activée par défaut.
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez les détails nécessaires pour correspondre à la configuration de votre réseau, copiez et collez les commandes dans la CLI au niveau de la [edit]
hiérarchie, puis entrez commit
à partir du mode de configuration.
set security alg sql
Procédure étape par étape
Dans l’exemple suivant, vous devez parcourir différents niveaux de la hiérarchie de configuration. Pour obtenir des instructions sur la façon d’y parvenir, reportez-vous à la section Utilisation de l’éditeur CLI en mode de configuration dans le guide de l’utilisateur CLI.
Pour activer SQLNET ALG :
Activez SQLNET ALG.
[edit ] user@host#set security alg sql
Activation des options de trace SQLNET ALG
Configuration rapide cli
Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez les détails nécessaires pour correspondre à la configuration de votre réseau, copiez et collez les commandes dans la CLI au niveau de la [edit]
hiérarchie, puis entrez commit
à partir du mode de configuration.
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
Procédure étape par étape
Dans l’exemple suivant, vous devez parcourir différents niveaux de la hiérarchie de configuration. Pour obtenir des instructions sur la façon d’y parvenir, reportez-vous à la section Utilisation de l’éditeur CLI en mode de configuration dans le guide de l’utilisateur CLI.
Pour activer les options de trace SQLNET ALG :
Activez les options de suivi SQLNET ALG.
[edit security alg] user@host#set sql traceoptions flag all
Configurez un nom de fichier pour recevoir le résultat de l’opération de suivi.
[edit security alg] user@host#set traceoptions file trace
Spécifiez la taille maximale du fichier de trace.
[edit security alg] user@host#set traceoptions file size 1g
Spécifiez le niveau de sortie de suivi.
[edit security alg] user@host#set traceoptions level verbose
Résultats
À partir du mode configuration, confirmez votre configuration en entrant la show security alg
commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.
[edit] user@host# show security alg traceoptions { file trace size 1g; level verbose; } sql traceoptions flag all;
Si vous avez fini de configurer l’équipement, saisissez commit
à partir du mode de configuration.
Vérification
Vérifiez que la configuration fonctionne correctement.
- Vérification de la session de contrôle ALG SQLNET
- Vérification de l’ALG SQLNET
- Vérification du groupe de ressources SQLNET ALG
- Vérification des informations sur les ressources SQLNET ALG
Vérification de la session de contrôle ALG SQLNET
But
Vérifiez que la commande SQL est exécutée et que toutes les sessions de données et de contrôle SQL sont créées.
Action
Depuis le mode opérationnel, saisissez la show security flow session
commande.
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
Sens
Session ID— Numéro qui identifie la session. Utilisez cet ID pour obtenir plus d’informations sur la session, telles que le nom de la stratégie, le nombre de paquets entrants et sortants.
Policy name— Nom de la stratégie qui a autorisé le trafic.
In— Flux entrant (adresses IP source et de destination avec leurs numéros de port source et de destination respectifs, la session est TCP et l’interface source de cette session est fe-3/0/0.0).
Out— Flux inverse (adresses IP source et destination avec leurs numéros de port source et de destination respectifs, session est TCP, et l’interface de destination pour cette session est fe-3/0/1.0).
Vérification de l’ALG SQLNET
But
Vérifiez que l’ALG SQLNET est activé.
Action
Depuis le mode opérationnel, saisissez la show security alg status
commande.
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
Sens
Le résultat affiche l’état de l’ALG SQLNET comme suit :
Activé : affiche l’ALG SQLNET est activé
Désactivé : affiche que l’ALG SQLNET est désactivé.
Vérification du groupe de ressources SQLNET ALG
But
Vérifiez le nombre total de groupes de gestionnaires de ressources et de groupes actifs utilisés par l’ALG SQLNET.
Action
Depuis le mode opérationnel, saisissez la show security resource-manager group active
commande.
user@host>show security resource-manager group active Group ID 1: Application - SQL ALG Total groups 677, active groups 1
Vérification des informations sur les ressources SQLNET ALG
But
Vérifiez le nombre total de ressources et de ressources actives utilisées par l’ALG SQLNET.
Action
Depuis le mode opérationnel, saisissez la show security resource-manager resource active
commande.
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