Contourner bug firmware Livebox4 v3.103.16

Indice NDT

(N)iveau requis: utilisateur à expert.
(D)ifficulté : Simple, Moyenne, Complexe.
(T)emps estimé pour faire.

Utilisateur Technicien Expert
Niveau
Simple Moyenne Complexe
Difficulté
– d’une heure + de 5 heures 12 heures et +
Temps

OcM

Objectif de l’article.
Contexte de la réalisation.
Modalité de l’éxécution.

Contourner bug firmware livebox 4

Livebox Play4 Firmware v 3.103.16

Modification de Host et/ou recours à AdGard DNS

BUG corrigé

avec mise à jour du firmware en 4.01.12 le 9 Février 2021

Il a fallut attendre presque 3 mois pour disposer d’un retour à la normale…
La partie Adguard sur RPI demeure intéressante pour qui veut disposer d’un accès libre et surtout sans pub sur tous les périphériques réseaux.

Fin décembre 2020, alors que bon nombre d’européens sont en télétravail @ home, avec parfois des serveurs web rapatriés en local, du NAS et d’autres services domotiques divers, Orange délivre une mise à jour du firmware de la LiveBox Play 4. Or, comme lors de la mise à jour de la LiveBox Play 5, la même anomalie (on parle donc d’une régression hein ?…) est apparue sur cette plaie Play 4.

A 1ère vue on dirait le retour de la problématique du loopback non gérée sur les LiveBox d’antan, puis enfin corrigée sur les Play à partir de la série 4… A savoir le fait de ne pas pouvoir adresser un service/machine locale via son nom DNS.

Cette fois-ci c’est plus subtile… Seuls les ports 80 et 443 sont KO dans leur fonctions d’adressage. Ainsi un site web auto-hébergé sous le nom de monsite.fr avec en sus son bon certificat SSL, affichera une erreur… Car voyez-vous c’est le certificat de la LiveBox qui sera proposé…. sic. 🤮

Cette anomalie de hairpinning n’est pas présente pour un service hébergé sur un port autre que le 80 et 443.

Anomalie corrigée sur la LB 5 depuis fin octobre 2020.

Contournements possibles


Plusieurs solutions de contournement permettent respectivement de patienter jusqu’à la résolution de l’anomalie, en passant par des solutions plus pérennes permettant l’indépendance de services réseaux prodigués maladroitement par la BOX jusqu’à la solution de s’en passer totalement.

Chaque choix dispose de sa complexité, de ses avantages et de ses inconvénients.

En France on l’avantage d’avoir un accès Internet des moins onéreux vis à vis du reste du monde… La contrepartie est d’avoir des BOXs qui ne permettent pas  de jouer sur tous les tableaux. A ce jour Free dispose d’une box la plus souple pour l’auto-hébergement (et encore en demandant une IP full stack).

Avantage : problématique inexistante chez d’autre FAI… A voir en détail… Pas  si simple ni si certain…
Inconvénient : frais et délai de mise en place.

Basculer sur la LiveBox5 qui a vu cette anomalie corrigée fin octobre 2020… Possible sans changer d’abonnement.. Et si… Abonné Orange pas Sosh

Avantage : on récupère la configuration de la box actuelle et on bénéficie des nouveautés de la dernière box de l’agrume…
Inconvénient : frais et délai de mise en place, minimum 3 à 4 jours et suppose de débrancher l’actuelle box, le temps de l’échange… E tout cela avant 18 heures selon le couvre feu en vigueur…(NDLA article écrit en janvier 2021)

Recourir à l’utilisation systématique d’un VPN. Ainsi, chaque accès est considéré comme « externe » au réseau local.

Solution qui peut être pratique mais il faut disposer du service… Gratuit.. Ou payant… Sur… Et rapide…

Avantage : facile à mettre en œuvre.
Inconvénient : disposer d’un accès VPN sur, rapide et pas trop onéreux.

Tricher en modifiant le fichier host de l’ordinateur en local. On édite le fichier host dans lequel on renseigne l’adresse ip locale associée avec le nom DNS.
cf article ici.

Solution la plus simple et efficace en local pour attendre la correction, mais limitée pour des ordinateurs l’autorisant (Windows, linux, macOS) et contraignant sur des portables (il faut à nouveau modifier le fichier host  lorsqu’on utilise l’ordinateur en externe du réseau local)

Avantage : solution la plus simple et rapide à mettre en œuvre.
Inconvénient : limitée à des ordinateurs fixes et/ou à ôter/modifier pour un ordinateur utilisé (comme un portable par exemple) en externe du réseau local.

Se passer de la box est la solution la plus adaptée.. Oui mais voilà ce n’est pas chose facile si on souhaite garder tous les services apportés par un abonnement triple pay : TV, Téléphone et Internet…

Seule la Freebox à ce jour permet de passer la BOX en mode « bridge » et facilitant cette action.

Avantage : ne plus se soucier des aventures du FAI impactant le client final.
Inconvénient : complexe et nécessitant du matériel supplémentaire (routeur, firewall, switche avancé etc..)

Basculer le périphérique concerné en DMZ. La Zone DéMilitarisée d’une box permet de contourner la problématique. Inconvénient  l’appareil se trouve en frontal direct sur Internet… Il faut paramètrer de manière fine et attentive les protections sur le périphérique en question ou ajouter un élément matériel pour le protéger. (Requis si plusieurs services sur différentes machines distinctes.)

Solution à utiliser ponctuellement pour réduire les risques….

Avantage : ça marche….
Inconvénient :  risqué selon la nature des données concernées.

Ajouter un serveur DNS en local. Le serveur DNS intercepte les requêtes et on peur modifier son paramètrage pour les périphériques locaux.
A minima un ordinateur, un Raspberry Pi ou un NAS auquel on ajoute les logiciels idoines à paramétrer.
Exemple ici sur un NAS Synology.

Paramètrer chaque appareil pour qu’il prenne en compte ce serveur DNS versus celui proposé en automatique par la BOX…

Et là encore… Très limite.. La LiveBox n’autorise pas la modification du serveur DNS contacté… Ce qui confirme que certains sites ne puissent êtres accessibles… Orange ne respecte pas les règles de liberté de l’Internet telles qu’elles sont encore en vigueur en 2021…

Avantage : solution technique fiable et qui peut être pérenne. (bien qu’insuffisante pour un automatisme complet sur tous les périphériques mobiles présents)
Inconvénient : matériel et compétences techniques requises.

Similaire à la solution du serveur DNS seul, la mise en place d’un « attrapeur de publicité » permet, de contourner la problématique rencontrée, mais aussi de bénéficier sur tous les périphériques,  d’un blocage des publicités et autres sites bavards ou dangereux. Solution logicielle à installer sur un ordinateur, un NAS ou un Raspberry Pi.

Là encore il faut paramètrer chaque périphérique pour qu’il tienne compte de cette dérivation réseau.

Avantage : solution technique simple (plus que la mise en place de zéro d’un serveur DNS) et apporte en sus le filtrage publicitaire sur des périphériques ne le permettant pas facilement. (PiHole ou AdguardHome)
Inconvénient : matériel et compétences techniques requises.

On reprend la solution du serveur DNS (seul) auquel on ajoute un serveur DHCP (solution possible avec un switche avancé et/ou un NAS).
La solution du serveur PiHole ou AdGuard qui propose la gestion complète du DHCP.

Cette solution permet l’automatisation pour tous les périphériques du réseau local, disposant ainsi de l’ip du réseau local et du serveur DNS qui va bien..

Avantage : solution technique complète, à mi chemin avec la solution « se passer de la BOX« . On garde cette dernière pour gérer les services TV et téléphoniques.
Inconvénient : matériel et compétences techniques requises.

A noter : si on utilise le décodeur TV Orange, il faut garder une plage du DHCP réduite pour ce dernier depuis la LiveBox…

Host puis AdGuard


Dans un premier temps je me suis contenté de modifier le fichier host d’un ordinateur.  Solution ultra simpliste à mette en œuvre sur un ordinateur sous Windows, macOS ou Linux.

Rapidement l’impossibilité de pouvoir le faire sur des périphériques portables comme le smartphone ou la tablette m’a enquiquinée et j’ai choisi la solution AdGuard.

Modifier le fichier HOST


Modifier le fichier host d’un ordinateur suppose de pouvoir y accéder en tant qu’administrateur de la machine.

sous Windows

  1. Ouvrir le blocnote
  2. fichier, ouvrir
    le fichier situé  en général sous C:\Windows\ System32\drivers\etc\hosts
  3. ajouter une ligne en saisissant:
    l’adresse ip du périphérique concerné, un espace ou une tabulation et le nom dns associé.
  4. On enregistre et voilà !

sous macOS

  1. Sous Terminal saisir la commande suivante :
    sudo pico /etc/hosts
    on ajoute l’ip puis un espace ou une tabulation et le nom DNS concerné
  2. CTRL +O pour enregistrer les modifications.
  3. CTRL +X pour quitter.

sous Linux

  1. Sous Terminal lancer la commande suivante :
    sudo vi /etc/hosts
  2. touche I pour passer en insertion
  3. saisir l’adresse ip un espace et le nom DNS concerné.
  4. touche ECHAP puis :W pour enregistrer et :Q pour quitter (:WQ en une fois)

Serveur AdGuard


La mise en place d’un serveur AdGuard est similaire à celle de la mise en place de PiHole ou d’un serveur DNS personnalisé. L’avantage par rapport à ce dernier est de disposer d’un mécanisme de blocage des publicités et autres sites de malwares sur tous les périphériques en lien avec ce serveur DNS.

Pourquoi AdGuard versus PiHole ?

Les deux solutions sont simples à mettre en œuvre et opérationnelles sur un ordinateur, un Raspberry Pi ou un docker sur un NAS par exemple.

AdGuard offre l’avantage d’être totalement francisé et semble à ce jour un peu plus performant (en filtrage, en paramètrage et en rapidité).

Exemple d’affichage d’une page WEB sans AdGuard et avec AdGuard

Démarche


Installation faite sur un Raspberry Pi (modèle 3 B+) que j’avais de côté, cela peut être fait sous docker sur NAS.

A noter : les principales étapes sont indiquées, pour plus de détails il suffit de regarder les nombreuses pages des tutos existant sur ce sujet.

  1. Installation du Rapberry Pi
  2. Installation de AdGuardHome
  3. Paramètrage des périphériques utilisant l’ensemble
  4. Paramètrage pour contourner le bug LB4

1 – Installation de Raspberry Pi OS

La solution logicielle complète demande  peu de ressources, un simple Raspberry A peut suffire avec une simple carte SD de 8 Go.
Pour mémoire les spécifications de la petite bestiole…

  • Processeur Boadcom ARM V8 64 bit
  • 4 cœurs à 1,4 Ghz
  • 1 Go de RAM
  • RJ45 1 Gb
  • Wifi 2,4 Ghz et 5 Ghz
  • Bluetooth 4,2
  • HDMI
  • 4 ports USB 2
  • carte SD de 8 Go

Le tout dans un petit boitier et une alimentation électrique USB pour la faramineuse somme de 40 €  en 2019 !

Pour l’installation il est souhaitable d’avoir :

  • un clavier
  • une souris
  • un câble réseau
  • un câble HDMI
  • un écran
  1. Depuis le site raspberry-pi.fr on récupère l’image de l’OS.
  2. A partir d’un ordinateur on installe le logiciel Etcher Balena qui facilite les transferts vers des cartes/clés USB d’image disque.
  3. La micro SD insérée dan un support SD permet d’être à son tour insérée dans l’ordinateur
  4. On lance Balena
    1. on pointe l’image ZIP téléchargée
    2. on spécifie la carte SD
  5. A la fin du processus, on insère la micro SD dans le Raspberry Pi et on le démarre.
  6. L’installation est rapide et en moins d’une minute le système est opérationnel.
  7. On termine le paramètrage en spécifiant le pays d’utilisation, langue d’interface etc.. et bien sur le mot de passe.
    Par défaut l’utilisateur est pi et dispose des droits root. Le mot de passe de pi est essentiel pour accéder au Raspberry (en mode console comme en mode bureau).
  8. Après un premier redémarrage, bien vérifier que le service SSH est activé. Les accès à cet ordinateur se feront par la suite par ce canal.
    1. Lancer Terminal
    2. saisir la commande suivante
      sudo raspi-config
      s’assurer que dans « Interface options » le service SSH soit activé.

On peut désormais accéder au Rapsberry via SSH.

  1. Lancer un Terminal (ou via l’interpréteur de commande sous Windows 10)
  2. ssh pi@ip du Raspberry

Après une première connexion et un échange des clés on peut piloter en ligne de commande le Raspberry.

Fixer l’ip du Raspberry Pi

L’idéal est de fixer un bail dans la BOX si on utilise le DHCP de cette dernière, sinon via un accès SSH pour fixer cette adresse ainsi :

  1. ssh pi@ipduraspberry
  2. sudo nano /etc/dhcpcd.conf en bas du fichier on peut remplacer/ajouter les lignes suivantes pour fixer l’adresse réseau local comme suit :
    interface eth0
    static ip_address=192.168.1.21/24
    static routers=192.168.1.1

Dans cet exemple le Rapsberry prendra l’adresse ip 192.168.1.21 et en Wifi la 24 et sortira du reseau local via la BOX située ici en 192.168.1.1

2 – Installation d’AdGuard Home

Toutes les opérations se font via l’accès SSH au RPI.

  1. Terminal
  2. ssh pi@ipduRPI
  3. On s’assure d’avoir un système à jour avec ces deux commandes
COPIER

On récupère la dernière version d’AdGuardHome

COPIER

On décompresse l’archive

COPIER

On peut supprimer l’archive

COPIER

Selon la décompression réalisée, on va dans le dossier

COPIER

On lance l’installation

COPIER

Durant le processus différentes lignes défilent et à la fin l’adresse ip et les ports pour le service HomeGuard home sont affichés.

Via un navigateur Internet,  on se connecte sur l’ip du RPI en en ajoutant le port 3000 pour finaliser l’installation via le service web HomeGuard home.
Dans notre exemple http://192.168.1.21:3000

Finalisation de l’installation via l’interface web.

Dans ces écrans le paramètrage doit être en cohérence avec :

  • les adresses ip trouvées (selon celles du RPI – filaire et WiFi-)
  • Le port par défaut proposé est le 80, mais si on dispose déjà de services web dans le réseau… Il est préférable de mettre un port personnalisé comme par exemple le 8080 ou 88.
  • L’écoute peut être réduite à une interface réseau (la filaire, la plus rapide – Eth0 – ) sur le port 53.

A noter : si le serveur DHCP est installé par défaut sur le NAs Synology, il faut changer le port.

NEXT

  • On précise ensuite un user et un mot de passe que l’on confirme
  • Puis on termine ce paramétrage WEB
  • Open DASHBOARD
  • On arrive sur la page de connexion au service, on en profite pour basculer l’affichage de l’interface en Français.

3 – Paramètrage des périphériques utilisant AdGuard Home

  • Une fois l’installation et le paramètrage terminés, une aide à la configuration pour chaque appareil est proposée.
  • Cette marche à suivre est disponible par la suite depuis le tableau de bord, sous le menu Guide
  • Cela permet selon le système l’affectation du serveur DNS dans la partie réseau de chaque périphérique

A noter que ce paramètrage est inutile si on active la partie DHCP (ce qui suppose de ne plus utiliser celui de la BOX ou du switche avancé ou du NAS) car dans ce cas la paramètrage est automatique.

4 – Paramètrage pour contourner le bug LB4

BUG corrigé

avec mise à jour du firmware en 4.01.12 le 9 Février 2021

partie obsolète

Depuis le tableau de bord d’AdGuard Home,

  1. menu Filtres
  2. item Réécriture DNS
  3. On ajoute l’ip IPV4 du périphérique concerné et le nom DNS associé
  4. On peut aussi le faire si IPV6 est activé


En complément


J’avais constaté aussi un problème sous WordPress dans le tableau de bord… La problématique était lié (erreur API REST curl vide)… En modifiant aussi la partie DNS du NAS tout est revenu à la normale.

Sur la NAS

  1. Panneau de configuration
  2. Réseau
  3. Modifier
  4. Préciser manuellement si le DHCP ne le gère pas, la configuration DNS en indiquant l’adresse IP du HomeGuard (IPV4 et IPV6).