PfSense + proxy externe (firewall rules)



  • Bonjour,

    Je débute en pfSense et j'ai quelques questions sur mon infrastructure réseau (qui n'est peut être pas correcte).

    La voici :

    • un firewall pfSense (192.168.0.1) avec 3 interfaces (WAN, LAN en 192.168.0.0/24 et DMZ en 192.168.1.0/24)

    • un certain nombre de serveur dans la DMZ

    • un certain nombre de serveur dans le LAN + postes clients

    • un serveur proxy Squid (transparent) sur le LAN en 192.168.0.2:3128

    Je dois faire en sorte que les postes clients du LAN (et serveurs) passent obligatoirement par le serveur proxy. Aujourd'hui, dans ma configuration de base, ces postes peuvent accéder au web sans passer par le proxy.

    Seulement quelques concepts m'échappent pour l'instant :(
    J'ai fais quelques tests sans succès.
    Pouvez-vous m'éclairez (sans forcément me donner la réponse, je suis là avant tout pour apprendre et comprendre) ?

    J'ai consulté ces différents topics sur le même sujet (sans succès) : topic 1, topic 2.

    J'éditerais surement ce message pour vous faire part de mes différents tests de mises en place de règles.



  • Pour rendre le passage par le proxy obligatoire mon réseau actuel (composé de 2 sous réseau : LAN + DMZ) n'est en fait pas adapté ?

    Il faudrait plutôt que je parte sur l'infrastructure suivante :

    • un sous réseau en 192.168.0.0/24 pour le pfSense + proxy

    • un sous réseau en 192.168.1.0/24 pour le LAN

    • un sous-réseau en 192.168.2.0/24 pour la DMZ

    ?



  • Un proxy "transparent" n'est certainement pas la meilleure idée car … il y a de sérieux inconvénients (que je vous laisse trouver) !
    (Je pense même que le proxy transparent est une fausse bonne idée !)

    Une bonne (meilleure) solution est WPAD : Web Proxy AutoDiscovery protocol
    cf http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol ou http://irp.nain-t.net/doku.php/220squid:050_wpad (Merci Mr Christian CALECA)

    NB : à la fin du 2ième lien, Mr CALECA nous indique même les "bonnes questions" !

    Un bon positionnement pour le proxy serait la DMZ.
    Bien évidemment, le proxy sera l'unique machine autorisée à traverser le firewall pour les protocoles http, https, ftp (puisqu'ils sont supportés par Squid).



  • Bonsoir,

    Merci d'avoir répondu à ce topic.

    J'ai du, après relecture, mal m'exprimer sur le terme "proxy transparent" puisque l'adresse du serveur proxy, dans ma configuration actuelle, doit être spécifié manuellement sur les postes clients / serveurs du LAN.

    Ma première question reste entière :

    Je dois faire en sorte que les postes clients du LAN (et serveurs) passent obligatoirement par le serveur proxy. Aujourd'hui, dans ma configuration de base, ces postes peuvent accéder au web sans passer par le proxy.

    Comment configurer pfSense (quelle règle créer) pour faire ça ?
    Mon infra structure est-elle compatible avec ce souhait ? (à mon avis non, mais celle de mon 2nd post devrait l'être ?)

    Edit : ce topic est similaire à ma demande



  • Le proxy est dans le LAN ?

    Donc il doit accéder à Internet pour les protocoles http, https, et ftp.
    Puis le reste ne doit pas accéder à Internet pour ces mêmes protocoles.

    2 phrases, dans l'ordre = 2 règles, dans l'ordre
    Il suffit juste d'y aller …

    NB : commencer par créer un alias de port avec 80, 443, 21



  • Actuellement oui, le proxy est dans le LAN.

    Architecture du réseau :

           [WEB]
             |
             | WAN 
             |
       [   pfSense  ]
       [192.168.0.1 ]------ DMZ - 192.168.1.0/24
             |
             |
             | LAN - 192.168.0.0/24
             |
          [SWITCH]
             |  |__________
             |             |
     [Proxy squid]    [divers serveurs...] [postes clients]
     [192.168.0.2]   
    

    Donc il doit accéder à Internet pour les protocoles http, https, et ftp.
    Puis le reste ne doit pas accéder à Internet pour ces mêmes protocoles.

    2 phrases, dans l'ordre = 2 règles, dans l'ordre
    Il suffit juste d'y aller …

    Dans Firewall > Rules (fais dans une VM en attendant de pouvoir tester sur l'infra demain) :

    J'ai en plus rajouté une règle pour que les postes clients puissent dialoguer avec le proxy squid (0.2).
    Correct au niveau de ces règles ?

    Edit : tiré de "The definitive guide to the pfSense"
    Dans le cas d'un proxy transparent (désolé, mes réflexions partent dans tout les sens !) :

    7.2.6. Traffic Redirection with Port Forwards:

    The system you are directing this traffic to must reside on a different interface of
    the firewall. Otherwise its own network traffic will be redirected back to itself. In
    the case of a HTTP proxy server with a redirection port forward on LAN, its own
    requests will never be able to leave the network unless the server resides on an
    OPT interface. There is no way to negate a port forward on an internal interface in
    pfSense 1.2.x, though there is a feature request open on that and it may be included
    in 2.0.

    Remember the server you are redirecting to must reside on a different interface than the one used
    in the port forward, as previously described.

    Cas similaire sur ce topic.

    Est-ce toujours le cas avec pfSense 2.x ?



  • Aucune idée ?  ::)



  • Je suis surpris par la traduction depuis le français des règles :

    • http=80/tcp, https=443/tcp donc TCP et non TCP+UDP
    • la notation 80-443 désigne tous les ports entre 80 et 443 donc 80-443 = 80, 81, 82, …, 442, 443 : erreur !!

    Enfin pourquoi écrire une règle (règle n° 3) qui ne sera jamais exécuté :

    • d'abord elle devrait précéder les règles 1 et 2,
    • mais elle concerne un flux direct entre un pc et le proxy qui ... ne passe pas par le firewall.

    La redirection vers un proxy, comme indiqué, ne peut fonctionner que pour un proxy en DMZ !
    Et puis, le proxy transparent est une fausse bonne idée (d'ailleurs cela ne fonctionne que pour http !).


Log in to reply