Provya

Expertise pfSense

Sommaire des articles  -  Liens & Actualités  -  Firewall pour pfSense

[pfSense] Je n'ai plus accès à mon firewall, comment faire ?

icon 22/06/2023

Il peut parfois arriver que l'on se bloque l'accès au firewall pfSense.
Il peut y avoir plusieurs raisons à cela : une mauvaise manipulation, la saisie d'un trop grand nombre de mots de passe erronés, un firewall qui tourne depuis des années et dont on a égaré les codes d'accès, etc.

pfSense


L'objectif de cet article est de traiter ces différents cas où l'on n'a plus accès à l'interface du firewall, et les solutions associées.

Dans le pire des cas, si l'on dispose d'un accès physique au firewall, alors il sera toujours possible de reprendre la main dessus.
Il est d'ailleurs important de noter qu'une personne qui dispose d'un accès physique au firewall pourra contourner la totalité des mesures de sécurité.


Mot de passe admin oublié ou perdu


Si le mot de passe a été perdu ou oublié, la solution la plus efficace est de se connecter en console (ou de brancher un clavier et un écran) afin de lancer la réinitialisation du mot de passe admin.

Il faudra choisir l'option 3 :

Console de pfSense


Cette option permet également de réinitialiser le compte admin s'il est désactivé ou a expiré.

Le mot de passe admin sera réinitialisé à sa valeur par défaut, c'est-à-dire pfsense.


Mot de passe oublié avec l'accès console verrouillé


L'accès à la console peut être protégé par un mot de passe.
Ce n'est pas le mode par défaut pour pfSense, mais cela peut être activé depuis le menu System > Advanced en cochant la case "Password protect the console menu" :

Protéger la console de pfSense par un mot de passe


Dans ce cas, un identifiant et un mot de passe sont demandés lors de la connexion en console ou lorsque l'on branche un clavier et un écran au firewall :

Console de pfSense protégée par un mot de passe


Heureusement, tout n'est pas perdu !

La procédure pour réinitialiser le mot de passe est la suivante :
  • se brancher sur le firewall (en console ou avec un clavier et un écran)
  • redémarrer le firewall et choisir Boot Single User option (2) à partir du menu de chargement avec le logo ASCII

Menu ASCII de pfSense


Si on trouve que le menu se déroule trop vite, on peut appuyer sur la touche "espace" pour l'arrêter.

  • appuyer sur Entrée lorsque l'on est invité à choisir le shell /bin/sh :

Choix du prompt sur pfSense


  • Il faut ensuite remonter les partitions. La procédure est différente en fonction du système de fichier (filesystem) : UFS ou ZFS.

Pour les systèmes de fichier UFS, la commande à saisir sera la suivante :

# /sbin/mount -a -t ufs

Pour les systèmes de fichier ZFS, les commandes à saisir seront les suivantes :

# /sbin/mount -u /

Si cela retourne une erreur, on peut essayer :
# /sbin/zfs set readonly=off pfSense/ROOT/default

Et enfin :
# /sbin/zfs mount -a


Une fois que le système de fichier est monté, saisir la commande suivante et se laisser guider :
/etc/rc.initial.password

Enfin, il faudra redémarrer le firewall en saisissant la commande suivante :
/sbin/reboot


L'interface web de pfSense ne répond plus...


Il peut y avoir plusieurs raisons à cela.

Une erreur classique est de se tromper de protocole entre HTTP et HTTPS. Si l'un ne fonctionne pas, on peut essayer l'autre.
Si l'interface graphique n'a pas été configurée correctement, il est tout à fait possible que le firewall fasse tourner l'interface web sur une combinaison inattendue de port et de protocole, par exemple :
https://<hostname>:80
http://<hostname>:443

Pour réinitialiser la configuration, on peut se connecter en console (ou brancher un écran et un clavier), faire le choix 2 permettant de reconfigurer l'adresse IP de pfSense sur son interface LAN et de réinitialiser le protocole d'écoute de l'interface web de pfSense.

Une autre possibilité est que l'interface web de pfSense soit plantée. C'est extrêmement rare, mais ça peut toujours arriver. Si l'on souhaite forcer un redémarrage de l'interface web, on peut se connecter en console (ou avec un clavier et un écran) et faire le choix 11 "Restart webConfigurator" :

Restart du webui de pfSense



Une nouvelle règle de filtrage bloque l'accès au firewall


Si un administrateur distant perd l'accès à l'interface graphique en raison d'une modification des règles du pare-feu, l'accès peut toujours être obtenu du côté du LAN.
Par défaut, il n'est pas possible de se couper l'accès à l'interface web de pfSense depuis le LAN, sauf si la règle "anti-lockout" a été désactivée.

Sinon, il est toujours possible de se connecter en console (ou clavier et écran) et supprimer la dernière règle de filtrage qui vient d'être créée.
Il s'agit d'une fonctionnalité très pratique de pfSense : à chaque modification, une sauvegarde locale est effectuée sur le firewall. Ainsi, il est aisé de revenir en arrière.

Dans notre cas, sur la console, on choisira l'option 15 "Restore recent configuration" et on choisira la dernière configuration à restaurer :

Restaurer une ancienne configuration de pfSense



Je suis bloqué car j'ai saisi trop de mots de passe erronés


Si l'on tente de se connecter à l'interface web ou en SSH et qu'on échoue à plusieurs reprises, notre adresse IP de connexion sera ajoutée à la liste de blocage.

Pour se débloquer l'accès, il faudra changer l'adresse IP de notre machine pour se connecter à pfSense, puis se rendre dans le menu Diagnostics > Tables et sélectionner sshguard dans la liste des alias disponibles pour supprimer l'adresse IP bloquée.

Débloquer son adresse IP sur pfSense


Il est également possible de faire la même chose en ligne de commande (videra complètement la table "sshguard") :
pfctl -T flush -t sshguard


Activer l'accès à l'interface web sur le WAN depuis une console


Le moyen le plus simple (et le plus propre), si l'on connaît son adresse IP publique est d'utiliser le script shell easyrule pour ajouter une nouvelle règle de filtrage.

Dans l'exemple suivant, le script easyrule autorisera l'accès sur l'interface WAN, de 1.2.3.4 (l'adresse IP du client) à 6.7.8.9 (vraisemblablement l'adresse IP WAN) sur le port TCP 443 :
easyrule pass wan tcp 1.2.3.4 6.7.8.9 443

Dès que la commande aura été saisie, le client (1.2.3.4) pourra se connecter au firewall (6.7.8.9).

Si l'on ne connaît pas son adresse IP publique, il est techniquement possible de créer une règle de type "allow all" sur le firewall. Pour cela, la commande à saisir en console sera la suivante :
pfSsh.php playback enableallowallwan

Une fois que l'administrateur a retrouvé l'accès et corrigé le problème initial qui l'empêchait d'accéder à l'interface web de pfSense, il faut impérativement supprimer la règle "allow all" du WAN.


Je ne m'en sors pas, comment désactiver le firewall ?


Il s'agit là d'une solution très dangereuse, mais qui peut s'avérer pratique dans des cas désespérés (bon dans ces cas-là, il vaut mieux nous appeler plutôt que de prendre de trop gros risques avec la sécurité de votre réseau ;-)

En mode console, on fera le choix 8 (Shell) et on saisira la commande suivante :
pfctl -d

Le firewall pourra ensuite être réactivé avec la commande :
pfctl -e

Le firewall sera aussi réactivé dès que l'on aura créé ou modifié une règle de filtrage et cliqué sur le bouton "Apply changes".


Le proxy Squid me bloque l'accès au firewall !


Cela peut arriver si l'on configure un peu trop vite squid et qu'on lui attribue le port d'écoute de l'interface web de pfSense par exemple.

La solution sera toujours la même : se connecter en console (ou avec un écran et un clavier) afin de reprendre la main.

On fera le choix 8 (Shell) et on saisira la commande suivante :
/usr/local/etc/rc.d/squid.sh stop

Si ça ne fonctionne pas, on pourra plutôt saisir l'une des deux commandes ci-dessous :
killall -9 squid
squid -k shutdown

Une fois que squid est arrêté, il faudra redémarrer l'interface web de pfSense en revenant au menu (saisir "exit" depuis le shell) et en faisant le choix 11 :

Restart du webui de pfSense


Il est à noter qu'il faut ensuite agir sans traîner : squid risque de redémarrer rapidement automatiquement grâce à ses scripts de supervision propres.


Le serveur d'authentification est H.S. - comment faire ?


Si vous vous connectez sur l'interface web de pfSense avec un compte LDAP ou Radius et que le serveur d'authentification est injoignable, pas de soucis : en secours, il est toujours possible de s'identifier avec un utilisateur local (avec le compte admin, par exemple).

Si tous les utilisateurs locaux ont été désactivés ou que les mots de passe ont été perdus, il faudra se connecter en console et faire le choix 3 pour réactiver et remettre à sa valeur par défaut le mot de passe admin.

Les identifiants seront alors :
  • utilisateur : admin
  • mot de passe : pfsense

Nous avons fait le tour des principaux problèmes d'accès qui peuvent exister !

Ce qu'il faut retenir, c'est qu'il est toujours possible de reprendre la main sur un firewall à partir du moment où l'on dispose d'un accès physique à la machine.



Pour aller plus loin


[pfSense] Mettre à jour son serveur pfSense
Best practices / Recommandations pour la configuration de votre firewall
Tous nos articles classés par thème
Voir un article au hasard


Vous avez aimé cet article ? Vous cherchez du matériel de qualité ou vous souhaitez approfondir vos connaissances sur pfSense / OPNsense ? Alors contactez-nous.


Retrouvez nos services et firewall pour pfSense & OPNsense



Formation pfSense     Formation OPNsense     Liste de filtrage des IP malveillantes     Firewall pro-Soho pour pfSense et OPNsense         Firewall pro-Maxi pour pfSense et OPNsense    

store.provya.fr

icon Tags de l'article :

Aucun commentaire

icon Flux RSS des commentaires de cet article