[Résolu] - pfsense tout nue sur internet avec haproxy



  • Bonjour @Tous,

    Ceci est ma première demande, j'espère convenir au règles du "A LIRE EN PREMIER" ;)

    Contexte : installation personnel pour la maison, niveau débutant ++

    Besoin : j'ai plusieurs serveur web "HTTP"/"HTTPS", que je souhaite utiliser sur le même port (80 et 443 évidemment)

    WAN (modem/routeur/box) : j'ai une box SFR 4K fibre en mode bridge sur une VM (pfsense évidemment :) )

    LAN : 1 seul réseau LAN

    Autres interfaces : J'ai une interface vLAB pour séparer mes serveur virtuel de mon réseau LAN

    Règles NAT : on va en reparler dans mon problème

    Règles Firewall : idem "Règles NAT"

    Packages ajoutés : haproxy, open-vm-tools

    Question : Lorsque j'active haproxy et que je paramètre les règles 80/443, et bien évidemment l'interface de paramétrage de pfsense est accessible depuis internet. MAIS ce n'est pas ce que je souhaite. Les seuls interfaces web accessible doit être celle que je souhaite et rien d'autre.

    Pistes imaginées

    Recherches : heu, a part les personnes qui conseil d'utiliser un serveur dédié a cela, bloquer les règles entrante sur l'interface localhost qui de fait bloque les connexions de haproxy.

    Autre but: Je souhaite avoir quelque service hébergé chez moi, mais avoir quand même un peu de sécurité.

    Merci par avance pour votre aide.

    Une très bonne soirée à tous.

    EDIT: Je n'avais pas encore trouvé ceci (https://github.com/PiBa-NL/pfsense-haproxy-package-doc/wiki) je vais lire un peu ;)



  • C'est une bonne base que de mettre sa demande sous la forme A LIRE EN PREMIER !

    C'est courant de se poser les questions :

    • comment offrir des services vers l'extérieur ?
    • comment offrir plusieurs HTTP et/ou HTTPS vers l'extérieur ?

    Une bonne réponse commence par DMZ (voire plusieurs DMZ).
    Pour HTTP et HTTPS, une bonne réponse passe par 'reverse proxy'.
    Et HA Proxy fait reverse proxy (entre autres choses).

    Il y a donc un choix :

    • utiliser HA Proxy, module non officiel de pfSense,
    • utiliser un autre reverse proxy, soit avec un serveur dédié soit sur le premier serveur web.

    L'un et l'autre choix sont complexes et demandent expertise.
    Mais le choix 2 est préférable : cela protège le firewall de ne pas utiliser un package non officiel !
    Et on évite des effets de bord car HA Proxy ne fait pas que ça !

    En particulier, si on laisse l'administration de pfSense sur le port par défaut (HTTPS), comment espérer que HA proxy n'est pas une influence sur cet accès puisque lui aussi agit sur ce port !
    (C'est plus facile à comprendre une fois qu'on l'a écrit !)

    Donc, bonne pratique, que je recommande,

    • on change le port d'admin de pfSense,
    • on configure pfSense en faisant passer tout le trafic HTTP et HTTPS vers le premier serveur web qui utilisera un 'reverse proxy' pour fera le tri vers le bon serveur !

    De plus, il est assez facile de trouver des choses pour faire la méthode 2 : exemple, avec Squid :



  • hello @jdh ,

    Merci beaucoup pour ta réponse.

    Effectivement, suite à mes lectures, la redirection du port 80 du webGUI a été désactivée et j'ai changé le port. Merci pour ce point :)

    Dans mes recherches, j'ai également suivi ce tuto (https://blog.devita.co/pfsense-to-proxy-traffic-for-websites-using-pfsense/) que j'ai réussi à mettre en oeuvre à 100% de mes attentes. En fait, HAProxy est vraiment simple à mettre en place.

    MAIS du coup, ta réponse me fais maintenant douter du peu de sécurité que j'essaie de mettre en place ...

    En fait il y a deux raison pour lesquelles je souhaitais utiliser pfSense, d'une part ça évite de devoir installer une énième VM et également le fait qu'il y est une interface graphique.

    Je pense pouvoir clôturer le sujet étant donner que la réponse/résolution du problème est donnée qui est pour rappel:
    si l'on souhaite utiliser pfsense en tant que reverse proxy ET éviter de retrouver la webGUI de pfSense sur le net, il faut changer le port de l'interface de la webGUI (System/Advanced/TCP Port) et désactiver la "redirection de l'interface web"

    Si je dis des anneries, n'hésiter pas à me corriger.

    Merci et bonne soirée @tous



  • Si ton interface d'admin tourne sur un port différent de ceux configurés pour HAproxy, en prenant également en compte que, avec des règles de FW correctes, ce port d'administration n'est pas autorisé autrement que, idéalement, sur ton réseau d'admin, ou alors ton LAN, alors je ne vois pas bien où se situe le risque avec le HAproxy de pfSense.
    Il faut bien sûr également avoir configuré, dans les options "advanced" l'option qui active par défaut la règle de redirect sur le port 80.

    Mais comme tu as déjà fait tout ça, de mon point de vue, le risque en terme de sécurité n'est pas pire avec et sans HAproxy.



  • bonsour @chris4916 ,

    Merci pour ta réponse.

    Etant encore en phase d'apprentissage avec pfsense, je suis partis du principe de bloquer tous les ports, et de les ouvrir un à un lorsque j'en ai besoin. Mais cela fera sans nul doute parti d'un ou plusieurs autre topic afin d'en discuter et évoluer sur cette partie.

    Merci encore :)


Log in to reply