-
Utilisation de cman
Salut a tous
J'essaie d'utiliser cman en tant que firewall.je l'ai installé configuré cman.ora avec les rules ,configuré une chaine dans tnsnames pour utiliser l'adresse du serveur cman etc..
J'ai testé ça foncitonne nickel :lol: .
Par contre ce que je comprends pas c'est comment obliger les clients à passer forcement par cman vu que dans leur tnsnames.ora y'a toujours l'adresse réelle du listener.
I
ls peuvent toujours créer un autre alias dans tnsnames en evitant l'adresse du cman.J'ai un leger sentiment que j'ai pas bien assimié le principe 8O
-
CMan est un proxy, pas un firewall (analyse du contenu des trames)
pour obliger les clietns à passer par le proxy, il faut utiliser le restricted node sur le serveur (sqlnet.ora validnode_checking)
http://download-uk.oracle.com/docs/c....htm#sthref873
[EDIT]
Par contre, dans le tnsnames des clients, il n'y a que l'adresse du proxy et le service demandé, il ne doit pas y avoir le serveur !
[/edit]
-
Merci pour la reponse Leo.
Est ce que t'es sur que validnode_checking, invted_nodes et excluded_nodes ont un rapport avec CMAN ? Je crois que ça se met au niveau sqlnet.ora du serveur base de données et que ça fait partie du Oracle Net basic.ça n'a pas besoin de CMAN pour fonctionner non?
Moi je veux pas filtrer au niveau serveur base de données
Je veux un noeud independant surlequel y'a CMAN et d'après ce que j'ai vu sur le support oracle il faut configurer le tnsnames.ora avec l'adresse de la passerelle de CMAN et l'adresse du listener comme ceci :
CMAN_ORCL.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = server5)(PORT = 1630))
(ADDRESS = (PROTOCOL = TCP)(HOST = server5)(PORT = 1521))
(SOURCE_ROUTE = yes)
(FAILOVER = false)
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
-
vous vouliez obliger les clients à passer par CMan, donc la seule solution est le validnode_checking ! ;)
pour la conf du Tnsnames pour utiliser CMan, la conf que vous proposez semble ok.
-
Donc si je comprends bien avec CMAN ou sans y'aura toujours filtrage au niveau serveur base de données :? c'est un peu louche non ?
Pour le tnsnames Leo tu dis que ça semble être bon mais ça contient pas uniquement l'adresse de la passerelle , y'a aussi l'adresse du listener :evilred:
Une autre question :
Je dois mettre quoi pour les invited_nodes et excluded_nodes si je travaille avec cette méthode
-
question inocente:
Pourquoi continuer à ecouter sur le port 1521?
si vous n'écoutez plus sur ce port, les gens seront obligés de passer par cman, non?!
Proposition pour le listener:
CMAN_ORCL.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = server5)(PORT = 1630))
(SOURCE_ROUTE = yes)
(FAILOVER = false)
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
-
peu importe le port...
idéalement, on a 2 machines : "SERVEUR-BD" et "PROXY-CMAN"
sur SERVEUR-BD, on a les bases et le(s) listener(s) sur des ports (1521 ou autres)
sur PROXY-CMAN, on a le proxy CMan qui tourne et qui filtre les accès des clients vers les différents *services* de bases de données
Sur SERVEUR-BDD, on met PROXY-CMAN en white list donc toutes les connections des clients vers SERVEUR-BDD sans passer par la case CMan échoueront.
Il n'est pas question de ports... juste de services et de règles d'accès ! ;)
Ensuite, les clients ne s'adresseront qu'à PROXY-CMAN en disant "je veux le service PAYE" et CMAN :
- Analysera les permissions de l'utilisateur pour le service demandé
- Effectuera la connection vers le serveur approprié (SERVEUR-BD-1, par exemple)
(le client ignore et se moque de savoir quel est le serveur de BD avec lequel il traitera, il ne connait que le proxy)
Donc dans les tnsnames des clients, il ne figure que PROXY-CMAN (d'ailleurs, s'ils voulaient s'amuser à mettre SERVEUR-BD, ils serait jetés par le validenode_checking)