(modifié le 16 octobre 2017 à 13:17)

J'aime personnaliser les mires de connexion et pfSense en fait partie. Voici donc comment remplacer le logo du formulaire de connexion rapidement et via l'interface web d'un pare-feu pfSense :

Sympa non ? Compatible avec pfSense 2.3.x (une mise à jour viendra pour la 2.4).

Fabriquez votre nouveau logo

Oui cela parait évident, créez votre nouveau logo custom avec le logiciel de votre choix. Pour ma part c'est avec Photoshop mais GIMP fera aussi l'affaire.

Les dimensions pour pfSense 2.3 (et supérieur) sont 360 x 89 pixels, format PNG 8 bits avec transparence.

Ce tutoriel fonctionne avec le thème par défaut de pfSense dont le logo est stocké ici :

/usr/local/www/logo-black.png

Je vous conseille d'utiliser ce logo comme base de votre nouveau logo personnalisé. Je trouve dommage de faire disparaître complètement le logo pfSense... le but c'est de customiser pas de "cacher" l'OS. Si c'était du Windows encore je comprendrais, mais là... #troll.

Stockez votre logo

Stockez votre logo sur un serveur web. Peu importe s'il s'agit d'un serveur web local ou public le principal c'est qu'il soit accessible. nginx, apache... comme vous voulez.

Personnellement j'utilise un NAS Synology avec cette URL :

http://192.168.0.12/logo-perso.png

Chez Synology cela correspond au partage CIFS \\192.168.0.12\web\logo-perso.png.

Note : Il faut bien sûr activer le paquet web pour profiter de cette fonctionnalité sur les NAS Synology

Patchons en PHP

Comme je l'ai dit l'opération est très simple. En réalité il suffit d'un copier/coller dans l'inteface web du code PHP que je vais vous indiquer.

Allez dans Diagnostics > Command Prompt :

Et collez ce le "patch" PHP dans le bloc "Execute PHP Commands" :

$logonSrc = 'http://192.168.0.12/logo-perso.png' ;
$logonDst = '/usr/local/www/logo-black.png' ;
$logonBak = '/usr/local/www/logo-black.bak' ;
$logo = file_get_contents($logonSrc);
if (copy($logonDst,$logonBak)) echo " ✔ backup logo ok! \n";
if (file_put_contents($logonDst,$logo)) echo ' ✔ patch logo ok!';

Cliquez sur le bouton "Execute" et si tout se passe bien :

Et c'est tout !

Déconnectez pour admirer votre nouvelle page de connexion.

Conclusion

Une petite manipulation facile que vous n'aurez pas besoin de répéter en cas de mise à jour mineure de pfSense.

En sachant que pfSense va prochainement changer de logo pour se vétir des couleurs de la société Netgate qui l'édite, dès la 2.4 :

Ne vous inquiétez pas je mettrai à jour ce tuto !

Enfin, pour changer le petit logo en haut à gauche de l'interface web (une fois logué) vous pouvez refaire l'opération en faisait pointer le patch vers :

/usr/local/www/logo.png

Bonus

Une dernière astuce : pour afficher le nom d'hôte sur le formulaire de connexion (voir capture) allez dans System > General Setup et cochez "Show hostname on login banner". J'avais fait un patch pour ceci sur les vieux pfSense <2.3 pour ceux que ça intéressent.

D'ailleurs ce patch du logo fonctionne aussi sur pfSense <2.3, seul le chemin du logo change :

/usr/local/www/themes/pfsense_ng/images/misc/logon

Pratique, rapide et sympa. J'aime bien ce principe de patch PHP, ça change un peu de bash et tout se passe en navigateur web, pas besoin de SSH.

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter