Créer une exception dans pfBlockerNG

tbowan

20 mai 2019

Parce que parfois, on est bien obligé de laisser passer une pub, nous allons ajouter une exception à nos listes noires DNS. Rassurez-vous, on supprimera l'exception ensuite 😉.

Il y a beaucoup d'avantages à supprimer les publicités. Les applications redeviennent utilisables, les sites webs sont bien plus clairs1, on économise du débit, du calcul,... pour un peu, ça sauve les bébé phoques.

Mais il y a aussi quelques petits désagréments. Lorsqu'on fait une recherche et qu'on clique sur les liens sponsorisés (un moment d'inattention, ça arrive), on obtient une page d'erreur. Le problème devient plus sérieux lorsque des éditeurs placent des pages intermédiaires (à but publicitaire et/ou statistique) entre un lien et sa cible.

C'est le cas, par exemple, lorsqu'on veut télécharger Qt Creator. Lorsqu'on clique sur le bouton Go open source, on est d'abord dirigé vers une page chez HubSpot qui leur fournit des statistiques et indicateurs de marketing entrant. Comme le domaine correspondant (cms.hubspot.com) est dans la liste noire, on reste bloqué sur une page d'erreur.

Alors sans plus attendre, voici comment autoriser un domaine dans pfBlockerNG.

Débloquer un domaine

Plutôt que d'ajouter une exception manuellement (ce qu'on verra dans la suite), nous allons d'abord le faire automatiquement via l'écran des alertes, dans Firewall / pfBlockerNG / Alerts.

Cet écran contient un tableau avec les 5 derniers blocages2. Une fois que vous avez généré le blocage, une ligne correspondante apparaît dans la table DNSBL3, dans notre cas il s'agit de cms2.hubspot.com.

Derniers blocages DNS

Derniers blocages DNS

Pour débloquer le domaine, vous pouvez cliquer sur l'icone (plus-circle). Le premier pop-up vous explique comment procéder, cliquez sur OK.

Message explicatif

Message explicatif

Le pop-up suivant vous demande si vous voulez bloquer tout le domaine ou seulement le sous-domaine. Comme je comptais supprimer l'exception plus tard, j'ai mis Yes pour ne pas m'embêter.

Tout bloquer ?

Tout bloquer ?

Le pop-up suivant vous demande si vous voulez mettre une description à cette exception. Encore une fois, le but étant de faire une exception temporaire, j'ai choisi No.

Ajouter une description ?

Ajouter une description ?

Le dernier pop-up met un peu de temps à s'afficher et vous confirme que l'exception a bien été ajoutée et prise en compte.

Confirmation

Confirmation

Comme le message d'erreur l'indique, il faut vider les caches DNS avant de retenter les connexions. Pour les navigateurs, les redémarrer suffit4. Sous windows, ipconfig /flushdns est un très bon ami :wink:.

Pour revenir à Qt Creator, on peut alors retourner sur la page de téléchargement, cliquer sur le bouton, subir la redirection transparente pour arriver sur une page de confirmation de téléchargement, cliquer sur un autre bouton et enfin, obtenir le binaire.

C'est à cette étape qu'on se rend compte que cette page finale est directement accessible de l'extérieur (il n'y a pas de filtre sur le referer) et permet de télécharger Qt Creator directement : https://www.qt.io/download-thank-you.

L'exception est donc inutile puisqu'on peut quand même télécharger Qt Creator... On se console en se disant qu'on ne l'aurait pas découvert si on n'avait pas ajouté d'exception.

Rebloquer un domaine

Dans notre cas, l'exception étant temporaire, il est maintenant temps de la supprimer. Pour ça, nous allons modifier manuellement la liste des exceptions via l'écran Firewall / pfBlockerNG / DNSBL.

En descendant dans la page, on trouve la liste en question Custom Domain Whitelist5. Celle-ci contient une exception par ligne, on peut donc en ajouter et en supprimer en éditant cette liste manuellement.

Liste des exceptions

Liste des exceptions

Une fois qu'on a supprimé l'exception (la ligne avec .hubspot.com), on va tout en bas de la page et on clique sur Save.

Sans surprise si vous aviez lu l'aide (bouton i, info-circle), ce changement ne sera pris en compte que lors du prochain rechargement de la base. Vous pouvez soit attendre (en fonction du réglage que vous aviez fait) ou le forcer manuellement (ce que nous allons faire ici).

Pour forcer un rechargement, on va dans le menu Firewall / pfBlockerNG / Update et on coche les options suivantes :

Rechargement manuel

Rechargement manuel

On clique ensuite sur Run. La zone de log montre l'avancement du processus. On attend que ça termine (ça affichera UPDATE PROCESS ENDED). La liste d'exception est alors prise en compte.

Et après ?

Plutôt que simplement désactiver pfBlockerNG, vous pouvez maintenant laisser passer certaines requêtes choisies et débloquer certaines applications (i.e. iTunes).


  1. Techniquement, c'est déjà le cas avec uBlock Origin, mais en agissant sur le DNS, on devient compatible avec tous les navigateurs, y compris ceux des voisins lorsqu'on leur prête une connexion internet.

  2. Vous pouvez augmenter ce nombre dans la zone Alert Settings et en augmentant le seuil correspondant (DNSBL) puis en cliquant sur Save Settings.

  3. DNSBL pour Domain Name Service Black List.

  4. C'est plus pratique que d'aller chipoter la configuration interne du navigateur.

  5. Qu'on pourrait traduire par liste blanche personnalisée.