Firewall et bases Oracle /*+restriction port*/

Vous avez peut-être été confronté à des équipes sécurité qui restreignent les ports accessibles sur leurs machines de base de données avec des pare-feux. Si c’est le cas, ou que vous travaillez avec des DMZ, n’utilisez pas une configuration Shared Server (aka MTS), ce n’est pas fait pour ça ! Vous pouvez biensûr utiliser une configuration Shared Server, et pour d’autres raisons.

Le protocole TCP permet d’utiliser des sockets qui dialoguent sur le même port, coté serveur, que le port sur lequel le programme est initialement en LISTEN. A priori Oracle utilise cette possibilité sur Unix et Linux. J’ai vérifié sur Oracle Enterprise Linux (ou Redhat Enterprise Linux 4), c’est bien le cas ! Si votre listener utilise le port 1521, tapez :

$ netstat -a |grep 1521

Vous verrez les connexions client/serveur avec les bases de données. Sous Windows, par défaut, ce n’est pas le cas. Si vous voulez activer cette possibilité, il faut modifier la base des registres comme suit :

[HKEY_LOCAL_MACHINESOFTWAREORACLEHOME0]
« USE_SHARED_SOCKET » = « TRUE »

où HOME0 le repertoire correpondant au bon ORACLE_HOME du Listener ! Biensûr ce paramétrage n’est pas dynamique.

GarK!