Accéder à distance à son firewall peut s’avérer utile dans certains cas surtout pour une infrastructure de tests quand on a la flemme de jongler avec les machines virtuelles, petit tuto/astuce pour voir comment faire smile


Accès à pfsense depuis le WAN

/!\ AVERTISSEMENT : Il faut être conscient qu’ouvrir un accès à quoi que ce soit depuis le WAN peut être une source de danger, il faut donc bien gérer ses règles et n’autoriser que ce qui est vraiment nécessaire. Je recommande l’utilisation de ce tuto dans le cadre d’un labo avec des VMs dans lequel il est parfois plus pratique d’accéder à son pfsense depuis sa machine physique.

Commençons par illustrer le labo utilisé dans cet article pour bien visualiser les choses :

Le but du jeu étant que depuis « PC-WAN » qui représente un PC lambda situé sur le réseau étendu (WAN), je puisse aller sur l’interface web de mon firewall pfsense qui protège mon réseau local (LAN). Evidemment les IP publiques seront simulées.

Info + : Je pars du principe que votre Pfsense est déjà installé et fonctionnel sinon je vous renvoie sur ce lien « Installation d’un routeur/pare-feu pfSense ».

Le firewall a reçu automatiquement une IP sur son interface côté WAN qui représente son adresse IP publique (10.255.255.253) et dispose bien entendu d’une IP fixe côté LAN (192.168.99.1).

Sur le réseau WAN, je dispose de PC-WAN dont l’IP, attribuée automatiquement, représente également son adresse publique.

C’est donc depuis ce PC hors du réseau local que je veux accéder à mon firewall par sa patte WAN car elle est finalement dans le même réseau que mon PC.

L’interface web de pfsense est en https par défaut, je ne vais pas ici le modifier, il faudra donc l’atteindre sur le port TCP 443.

Pour cela, il va falloir autoriser PC-WAN à communiquer avec l’interface WAN du firewall via le port TCP 443 (HTTPS). Cela se fait via des règles sur un firewall.

Info ++ : Vous pouvez laisser votre « PC-WAN » en openbar niveau accès sur le firewall mais je ne vous le recommande pas et ne le ferait pas ici. Par mesure de sécurité, il vaut parfois mieux tout fermer et ouvrir les accès uniquement au compte-goutte.

Dans l’interface web de pfsense (depuis une machine sur le LAN), rendez-vous dans le menu « Firewall » puis dans le sous-menu « Rules ».

Assurez vous de bien être dans l’onglet « WAN ». Il n’y a pour l’instant aucune règle de définie car mon installation de pfsense est toute fraîche.

Cliquez sur le bouton Add pour créer une nouvelle règle.

La première partie « Edit firewall rule » va permettre de définir le type de règle de l’on veut mettre en place en définissant si on autorise un flux (Pass) ou si on contraire on veut le bloquer/rejeter (Block/Reject), sur quelle interface on veut agir (ici l’interface WAN), la famille d’adresses IP (IPv4 ou IPv6) et enfin le protocole que l’on veut autoriser ou interdire.

Dans notre cas et comme dit précédemment, nous allons autoriser l’accès web à destination de l’interface WAN, l’action sera donc sur « Pass » en « IPv4 ». Concernant le protocole à autoriser, les protocoles web utilisent du TCP, on choisit donc « TCP ».

Le second bloc de configuration de cette règle concerne la source de la requête. Par défaut elle est réglée sur « Any » c’est-à-dire textuellement « venant de n’importe où ».

Afin d’éviter que mon firewall réponde à n’importe quelle machine située sur le WAN, je vais uniquement autorisée l’adresse IP du PC-WAN qui est la 10.255.255.250.

Info ++ : Je rappelle que l’adresse IP de PC-WAN « représente » l’IP publique de PC-WAN, vous devez donc mettre VOTRE IP publique (soit votre vraie ip publique dans le cas d’une mise en prod réelle, soit celle simulée qui sera donc celle du PC depuis lequel vous voulez atteindre pfsense), sinon ça ne fonctionnera pas.

Pour cela, à la place de « Any », sélectionnez « Address or Alias » et saisissez sur la droite l’adresse IP de la machine concernée par cette autorisation.

Le troisième bloque concerne cette fois-ci la destination de la requête qui par défaut est réglé sur « Any », c’est-à-dire « à destination de n’importe où ».

Mon but étant seulement de communiquer avec mon firewall, je vais le sélectionner directement dans la liste en cliquant sur « This firewall (self) ».

La partie « Destination port range » va s’ouvrir. C’est ici que je vais définir quel protocole je vais laisser passer. Pour rappel, on est sur du TCP 443 (HTTPS), je vais donc sélectionner uniquement « HTTPS (443) ».

Et enfin le dernier bloc permet d’activer les logs spécifiques à cette règle si besoin et d’ajouter une description pour bien identifier cette règle. Ici je n’active pas les logs car je n’en ai pas d’intérêt et j’ajoute une description pour identifier facilement à quoi sert cette règle.

Info + : Concernant les logs, un message vous informe en gros de faire attention à ce qu’on stocke car des logs peuvent vite remplir la capacité de stockage du firewall. Il est préférable soit, de ne pas activer les logs pour tout et n’importe quoi mais seulement les essentiels ou ceux dont on a vraiment besoin, ou soit de mettre en place un serveur syslog pour centraliser ses logs.

Une fois votre configuration terminée, cliquez sur le bouton « Save ».

La règle sera en place mais pas encore active. Pour l’activer il faut appliquer les changements effectués en cliquant sur le bouton « Apply Changes ».

Un bandeau vert vous indiquera que les règles ont bien été rechargées en arrière-plan.

A partir de ce point, la règle est en place et « PC-WAN » devrai pouvoir joindre l’interface web de pfsense en communiquant avec son IP publique qui est côté WAN si PC-WAN utilise le protocole TCP 443 (HTTPS). On teste smile ?

Depuis « PC-WAN » qui a pour IP « publique » je le rappelle encore la 10.255.255.250, j’ouvre un navigateur web et j’essaie d’aller sur l’adresse de mon firewall en utilisant cette fois-ci son ip publique qui chez moi est : https://10.255.255.253

Résultat : j’arrive bien à joindre mon firewall et accéder à son interface web.

Info + : Si votre certificat pour https n’est pas valide, cela ne bloquera pas l’accès au firewall, vous aurez juste un avertissement dans le navigateur, il vous suffira de forcer le passage.

D’ailleurs une fois connecté, on peut voir dans la ligne « User » de « System Information » que l’authentification a été faite depuis l’IP 10.255.255.250 qui est bien l’IP de « PC-WAN ».

Si je fais le même test depuis un autre PC situé sur le WAN (qui a une ip publique différente), pour lequel aucune règle n’existe dans pfsense, je ne pourrais tout simplement pas y accéder.

Notre configuration est bien fonctionnelle !

 

Mais je ne vais pas vous laisser partir sans un petit bonus destiné au plus curieux  laugh

Bonus 1 : Pinguer son firewall pfsense depuis le WAN

Malgré le fait que le PC-WAN et que le firewall soit dans le même réseau, si je tente un ping depuis PC-WAN à destination de l’IP côté WAN du firewall, cela va échouer et pour cause, le firewall refuse la requête par défaut.

Pour autoriser le ping, il faut créer une nouvelle règle dans pfsense, on se rend donc dans le menu Firewall > Rules > Onglet WAN et on clique sur le bouton Add.

Dans notre cas, nous allons autoriser le ping à destination de l’interface WAN, l’action sera donc sur « Pass » en IPv4. Concernant le protocole à autoriser, le ping utilise le protocole ICMP, on choisit donc ICMP. Vous verrez apparaître les différentes requêtes émises par ce protocole et pourrez pousser la configuration pour autoriser seulement celles dont vous avez besoin, ici je vais rester sur « Any ».

Au niveau de la source d’émission du ping, je vais uniquement autorisée l’adresse IP du PC-WAN qui est la 10.255.255.250. A la place de « Any », sélectionnez « Address or Alias » et saisissez sur la droite l’adresse IP (publique) de la machine concernée par cette autorisation.

Côté destination, on sélectionne directement le firewall lui-même dans la liste en cliquant sur « This firewall (self) ».

On active ou non les logs pour cette règle, on ajoute une description et on clique sur le bouton Save.

Une fois votre configuration terminée, cliquez sur le bouton « Save ».

On applique les changements effectués en cliquant sur le bouton « Apply Changes ».

Un bandeau vert vous indiquera que les règles ont bien été rechargées en arrière-plan.

Depuis le PC-WAN, tentons maintenant à nouveau de pinguer notre firewall, le ping devrait désormais aboutir.

Si je tente un ping à destination du firewall depuis une autre machine située sur le WAN, avec une IP dans le réseau WAN également, le ping ne retournera pas de réponse car l’IP n’est pas autorisé dans les règles de pfsense (à gauche, IP autorisée, à droite IP non autorisée donc tacitement refusée).

 

Bonus 2 : Accéder en SSH à son firewall pfsense depuis le WAN

Si vous souhaitez accéder en ssh à la console de pfsense, il faut commencer par activer cette option. Dans le menu de la console de pfsense, saisissez « 14 » pour accéder au sous-menu « Enable Secure Shell (sshd) ».

A la question posée, répondez « y » et appuyez sur Entrée.

Le service SSH sera alors actif.

Maintenant côté règle du firewall, il suffit de rajouter une règle, toujours côté WAN, qui va autoriser « PC-WAN » à se connecter en SSH à la console de pfsense.

La règle à créer est celle-ci :

Je ne donne ici que la vue globale de la règle, vous avez compris le principe pour la créer… (sinon allez lire plus haut no).

Et on oublie pas bien sur d’appliquer les modifications pour que la règle soit prise en compte.

Depuis « PC-WAN », je tente la connexion en SSH à pfsense, connexion qui devrai bien aboutir, j’arrive sur le menu affiché dans la console de pfsense.

Même test depuis une autre machine située dans le WAN mais non autorisée dans les règles du firewall : aucune connexion possible.

 

Voici qui met fin à ce post !

Dernier warning pour la route : n’oubliez pas de faire attention quand vous donnez accès depuis le WAN à une machine située dans votre LAN, les actions doivent être maîtrisées et réellement utiles.

See U hi


[Tips] Accéder à l’interface web de pfsense via le WAN

Articles pouvant vous intéresser