ISA + Checkpoint + Services Web - Sécurité - Systèmes & Réseaux Pro
Marsh Posté le 11-01-2005 à 11:43:21
Yop,
Apparement j'y arrive. Je vais essayer de te dire comment je m'y suis pris.
Tout se fait dans la console de management ISA.
1. Creer les Destination Sets
Dans la partie "Policy Elements --> Destination Sets", cree autant de destination sets que de backend servers dont tu disposes.
Exemple:
1. Create a new destination set
2. Name: bidule.domaine.fr (le nom est arbitraire)
3. Add destination: bidule.domaine.fr (<-- la il faut que ca match le nom de domaine qu'ISA va voir arriver)
2. Creer les Web Publishing Rules
Dans la partie "Publishing --> Web Publishing Rules", cree autant de web publishing rules que de backend servers dont tu disposes, en specifiant pour chacun:
- Le destination set correspondant
- l'ip (ou le nom interne) du serveur a qui forwarder
Exemple:
1. Create a Web Publisginh Rule
2. Name: bidule.domaine.fr (le nom est arbitraire)
3. Apply this rule to: Specified destination set
4. Selectionne le destination set correspondant
5. Apply rule to: Any request
6. Response to client request: Redirect to internal web server
Le reste, ce sont des options que je te laisses libre d'evaluer.
J'ai teste ca ici avec quelques machines et ca marche.
Marsh Posté le 11-01-2005 à 12:06:58
moi ça déconne
en fait mon gros soucis ce sont les paths que j'ai derrière mes FQDN.
ex : je dois faire la correspondance entre http://bidule.domaine.fr et http://serveurwin:8080/tomcat/monsite.jsp.
j'ai une destination set pour bidule.domaine.fr et une règle pour la publication ou j'indique bien que ce qui vient à l'attention de bidule.domaine.fr est redirigé sur le port 8080 sur le serveur hébergeant le site mais ça déconne.
Alors soit ça plante parce que mes chemins sont erronés, soit parce que le NAT du checkpoint vers le ISA fait perdre la requête telle qu'elle était à l'origine et du coup ISA se paume
Marsh Posté le 11-01-2005 à 13:12:09
Alors la, je peux difficilement t'aider sans etre directement sur les machines pour diagnostiquer de maniere precise.
A ce stade la, moi je ferais peter un coup de Packetyser (ou Ethereal) sur le serveur ISA, pour voir la gueule de ce qu'il recoit du Checkpoint. Et aussi pour voir comment ISA forward cette requete aux servers backend...
Histoire de faire avancer le diagnostique quoi.
De la meme maniere, je pense qu'il faut avoir une approche dichotomique du probleme afin d'isoler la cause. Par exemple, dans un premier, essaye de ne faire qu'un simple forward sans t'occuper des paths, pour valider le concept de base.
Bon courage.
Marsh Posté le 11-01-2005 à 13:51:53
Justement, un simple forward ne marche pas. Parce que sur un serveur Web j'ai modifié les documents d'accueil.
C'est ce qui me fait me poser la question du NAT entre ISA et checkpoint
J'vais effectivement lancer ethereal et regarder ce qui se passe en pareil cas.
J'ai également vu qu'il fallait préférer des FQDN aux IPs pour des questions de sécurité, cf code red. Tu aurais plus d'informations àa ce sujet?
Merci!
Marsh Posté le 11-01-2005 à 14:27:49
Alors, effectivement attention:
Le reverse proxying genere souvent pas mal de problemes:
- Quant a l'utilisation d'IP au lieu de FQDN
- Quant a l'utilisation d'URL asbolues au lieu de relative
- Quant a l'utilisation de server web ecoutant sur un autre port que le port 80
Dans ces 3 cas, si ton serveur web doit envoyer une redirection, ou specifier dynamiquement une URL, si l'un ou l'autre contiennent des parametres locaux (comme par exemple l'IP locale du web server, ou son port local - 8080 par exemple -) et que cela est renvoye au client tel qu'elle, le client sera paume effectivement.
On a eu le probleme dans notre webfarm quelques fois...
A mon avis, si ton checkpoint masque son IP externe (celle vu par les clients) au proxy ISA, celui-ci ne pourra pas faire de forward avec le bon champs "Host", a moins de cocher l'option "Send the original Host header to the publishing server instead of [bla, bla]".
A mon avis cette option devrait etre coche systematiquement.
Pour finir, si la requete atteint bien ton serveur backend, mais que celui ci repond avec un redirect (Header HTTP "Location" dans la reponse) comportant des parametres locaux, ton client sera paume. Mais ca, tu peux vite le voir avec Ethereal en regardant ce qui rentre et sort de ton reverse proxy ISA.
Je sais pas si je suis bien clair en fait...
Marsh Posté le 11-01-2005 à 17:57:15
pfiou, j'suis quasiment paumé
alors reprenons :
vu avec ethereal, le NAT entre checkpoint et ISA fonctionne sans problème. La règle est basique :
any->checkpoint->HTTP->allow puis en NAT
any->checkpoint->HTTP translate any->ISA static->HTTP
Bref, jusque là ça passe (alleluia).
Donc ma requète web est valable et arrive sur mon serveur ISA non-amputée de ses attributs FQDN.
Après c'est là que ça se plante.
ISA ne renvoie rien
La sale bête ne me donne aucune info et je ne sais pas comment se comporte le paquet entre l'adresse 'externe' d'ISA (le listener pour les demandes entrantes) et son IP DMZ qui donne sur les serveurs Web.
Peut-être me suis-je tout simplement trompé dans la publication de mes serveurs et peut-être que je me plantouille dans ma gestion du reverse proxy
auquel cas j'aurais l'air un peu nouille.
sinon j'ai effectivement oublié de cocher la case "send the original..." je vais retester déjà avec ça.
Marsh Posté le 11-01-2005 à 20:49:07
Tiens moi au courant si tu trouves, ca me servira surement
Bon courage
Marsh Posté le 26-01-2005 à 17:20:06
bon ça m'enerve, en fait checkpoint NAT le paquet et au lieu de faire suivre le nom de domaine il fait suivre l'ip.
Donc ISA n'en veut pas
Marsh Posté le 11-01-2005 à 10:39:30
Un cas d'école un peu étrange :
J'ai un pare-feu checkpoint en tête de réseau, suivi d'un serveur proxy ISA (mode integrated), et caché derrière j'ai au moins 3 serveurs Web.
J'ai plusieurs noms de domaine :
bidule.domaine.fr
machin.domaine.fr
trucmuche.domaine.fr
Mais ils pointent tous sur le même adresse IP.
1 des serveurs Web est hébergé sur un serveur linux/apache tandis que les deux autres sont hebergés sur un seul et même serveur, l'un via IIS; l'autre via un tomcat/apache pour win32.
J'ai donc 3 accès différents pour ces sites :
http://serveurlinux/dossierdefault
http://serveurwin/iis/index.html
http://serveurwin:8080/tomcat/monsite.jsp
Depuis mon pare-feu checkpoint, toute demande sur son IP extérieure (celle sur laquelle pointent les 3 noms de domaines) en HTTP est redirigée vers le serveur ISA.
Je souhaiterais que le serveur ISA officie comme Reverse Proxy et que ce soit lui qui publie les trois sites et redirige les demandes en fonction des noms de domaines qui sont appelés par les utilisateurs.
Grosso modo il devrait faire la correspondance entre http://bidule.domaine.fr et http://serveurwin:8080/tomcat/monsite.jsp etc...
Mais je n'y arrive pas
D'une part, je ne peux pas publier sur serveur : ISA n'a pas d'adresse IP external ou considère qu'il n'en a pas (à juste titre d'ailleurs).
D'autre part si je tente une publication web je fais un ensemble de destination pour mes trois domaines mais ensuite je ne sais pas les rediriger vers les bons serveurs et en plus ça ne marche pas de toute façon.
Sauriez-vous m'aiguiller?
Merci!