4 – Utilisation de Pfsense pour faire office de firewall et de reverse proxy Partie 2

Notre Pfsense est donc installé, il va maintenant falloir y accéder. 2 possibilités :

Vous avez une IP fixe, vous jouez avec IPTABLES pour autoriser l’accès à son interface web depuis l’extérieur depuis votre ip seulement. Solution que je n’utilise pas, donc que nous ne verrons pas ici.

Vous installez une VM avec interface graphique que vous allumerez quand vous en aurez besoin. Un Windows, un Linux, peu importe du moment qu’il y a une interface graphique. J’ai pour ma part installé une Debian avec LXDE, histoire de ne pas trop utiliser de ressources sur mon serveur.

Téléchargement de l’iso

On va voir ici la seconde façon de mettre une iso sur le Proxmox, qui est la solution à privilégier puisqu’elle est nettement plus rapide que celle que nous avons vue dans la précédente partie.

On se connecte en ssh sur le proxmox et on se rend dans le bon répertoire :

Cd /vz/template/iso

Et on télécharge l’iso souhaitez. Ici la dernière version de Debian (à l’heure où j’écris ces lignes). :

On retourne sur l’interface web du proxmox et on clique sur « créer VM.

On donne un nom à la vm, on choisit le type d’OS (dans le cas de la Debian 8, Linux 4.X) on sélectionne l’iso qu’on vient de télécharger, on lui donne un cpu, de la ram (pas besoin de grand-chose) et on lui met vmbr2 en carte réseau.

Je ne détaillerais pas l’installation d’une Debian, si vous suivez ces tutos je me doute que vous savez le faire.

Une fois terminé, on passe enfin à la configuration de Pfsense.

Configuration de Pfsense

Premiers réglages

Un assistant se lance, logiquement on n’a rien à changer puisque tout ce qui nous est demandé a déjà été configuré pendant l’installation. Important tout de même : changer le mot de passe admin à la fin de l’assistant.

On se rend ensuite directement dans le menu system puis advenced et on change le port de l’interface web du Pfsense.

On va ensuite dans le menu interfaces puis LAN et on décoche les 2 dernières cases : « Block private networks » et « Block bogon networks ».

On retourne dans « system »  puis packages et on installe squid3.

Si vous avez bien suivi, je vous ai fait télécharger une ancienne version de Pfsense. Dans les versions supérieures à 2.2 il y a un bug qui nécessite de ruser pour faire du reverse proxy comme nous le souhaitons. Dans les versions antérieures ce n’est pas le cas.

Reverse Proxy

Reverse Proxy HTTP

On se rends maintenant dans « services » puis « reverse proxy »

Dans l’onglet général :

  • Reverse proxy interface : WAN
  • External FQDN : on indique son nom de domaine
  • Enable reverse proxy HTTP mode : on coche la case
  • Reverse HTTP mode port : 80

Dans l’onglet web server on clique sur le petit + pour créer un nouveau web server

  • On n’oublie pas de cocher la case : Enable this peer
  • Peer alias : On donne un nom à notre serveur (exemple : domaine)
  • Peer IP : on donne l’adresse ip de la VM vers laquelle on souhaite que pointe le domaine/sous domaine. Exemple : 192.168.1.40
  • On indique le port par lequel le http doit passer : 80 (ça pourrait être un autre port, comme le 9091 d’un serveur transmission ou le 32400 d’un serveur plex par exemple).
  • Peer protocol : http
  • Description : on note une description nous permettant de nous rappeler vers quoi ce reverse proxy va pointer.

On valide.

On clique ensuite sur Mappings, on clique sur le petit + pour créer un nouveau mapping

  • On n’oublie pas de cocher la case : Enable this Url
  • On donne un nom à ce mapping (exemple : domaine)
  • Group Description : on note une description nous permettant de nous rappeler vers quoi ce reverse proxy va pointer.
  • Peers : on sélectionne le peer qu’on vient de créer
  • Url’s : on indique l’url que l’on souhaite rerouter. Exemples : http://domaine.com ou http://sous.domaine.com
  • Le reverse proxy est maintenant opérationnel, oui mais …

Le flux arrive sur notre Pfsense mais on ne l’a pas autorisé à passer. I¨l va donc falloir se rendre dans « firewall » puis « rules » et on créé une nouvelle règle :

  • Action : Pass
  • Interface : WAN
  • Destination port rand : from http to http

Et on enregistre la règle, et on active. Le reverse proxy fonctionne pour la partie http.

Reverse proxy HTTPS

Pour faire du reverse proxy en https, il va d’abord falloir créer le certificat. On se rend donc dans « sysem » puis « Cert Manager »

On créé le l’authority manager :

Onglet Cas :

  • On clique sur le petit + pour rajouter une autorité
  • Descriptive name : CA domaine.com
  • Method : Create an internal Certificate Authority
  • On renseigne les valeurs dans Distinguished name

On valide

 

On créé ensuite le certificat :

Onglet Certificates

  • On clique sur le petit + pour rajouter un certificat
  • Method : Create an internal Certificate
  • Descriptive name : CA domaine.com
  • On renseigne les valeurs dans Distinguished name

On valide

Une fois le certificat créé, on retourne dans « services » puis « reverse proxy » Onglet « général » on coche « Enable HTTPS reverse proxy et on va pouvoir créer les Web Servers et Mappings de la même façon qu’en HTTP.

La partie reverse proxy est donc terminée, on va pouvoir accéder à tous nos sous domaines par les ports 80 et 443 quelque soit la machine virtuelle sur lesquels ils sont installés.

 NAT

Imaginons un serveur de mail sur une autre VM, il va falloir ouvrir les ports nécessaires pour l’atteindre, et indiquer à Pfsense sur quelle machine il se trouve. Il faudra en premier lieu s’occuper d’IPTABLES sur le proxmox comme indiqué dans la partie “scripts IPTABLES” de ce billet.

Une fois les ports transférés sur notre pfsense, il va falloir lui indiquer ou il doit les router.

Ca se passe dans “firewall” puis “NAT”. On créé une nouvelle règle :

  • Interface : WAN
  • Destination port range
  • from : le port à rediriger
  • to : le port à rediriger
  • Redirect target IP : l’adresse ip de la VM à atteindre
  • Redirect target port : le port à atteindre sur la VM

On valide et on applique.

Et s’en est terminé de cette partie sur Pfsense.

Sources :

Ophyde

Adminpabete

Xj1

It community

Ganbaranai

vogonswiki

 

Pour marque-pages : Permaliens.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.