Coulisses
Comment le pare-feu de Repel fonctionne sans prendre votre place VPN
Par l'équipe llcloud 5 min de lecture
Réponse rapide
Android ne laisse qu'une appli à la fois utiliser son service VPN, c'est pourquoi la plupart des pare-feu sans root ne tournent pas à côté d'un VPN de confidentialité. Le pare-feu de Repel n'utilise pas du tout le VPN. Un petit assistant, configuré une fois via le Débogage sans fil sur le téléphone, coupe l'accès à Internet des applis choisies grâce aux contrôles réseau d'Android. Le filtre DNS de Repel est une couche distincte qui utilise la place VPN, et il ne traite que les requêtes DNS, sur le téléphone.
Android a une règle qui façonne toutes les applis de confidentialité : une seule appli à la fois peut utiliser le service VPN. Si vous payez un VPN de confidentialité, il occupe cette place, et la plupart des pare-feu sans root ont besoin de la même pour fonctionner. On finit donc par choisir entre son VPN et son pare-feu. Quand nous avons lancé Repel, ne pas avoir à choisir était la première chose que nous voulions résoudre.
Cet article explique en mots simples comment le pare-feu de Repel y parvient, et comment fonctionne son filtre DNS.
Pourquoi la plupart des pare-feu ont-ils besoin de la place VPN ?
Sur un téléphone sans root, une appli ordinaire n'a aucun pouvoir sur le trafic réseau des autres. Le service VPN d'Android est la seule porte qu'il ouvre : une appli qui devient le VPN voit le trafic et décide quoi en faire. Un pare-feu conçu ainsi peut couper le trafic de toute appli de votre choix. C'est une conception astucieuse, qui fonctionne bien depuis des années, comme nous le décrivons dans Repel vs NetGuard.
Le coût, c'est la place. Tant que ce pare-feu est le VPN, rien d'autre ne peut l'être. Activez votre VPN de confidentialité et le pare-feu s'arrête, ou l'inverse.
Comment Repel bloque-t-il des applis sans VPN ?
Android a lui-même un interrupteur qui coupe le réseau pour une seule appli. Il fait partie des contrôles réseau du système, et sous Android 13 et plus récent il peut être actionné depuis le shell du téléphone, le même niveau d'accès que les outils de développement. Les applis ordinaires n'y ont pas accès, donc Repel doit obtenir ce niveau d'accès sans ordinateur et sans root.
Ce moyen, c'est le mode avancé. Une seule fois, pendant la configuration, vous activez le Débogage sans fil et vous associez Repel avec le code qu'Android affiche sur le téléphone. Repel lance alors un petit assistant à lui, avec un accès shell. L'assistant accomplit une courte liste fixe de tâches et rien d'autre. Il n'accepte pas de commandes arbitraires, et il vérifie chaque nom d'appli qu'on lui donne.
Quand vous désactivez une appli dans l'onglet Applis de Repel, l'assistant demande à Android de couper le réseau pour cette appli. Dès lors, le blocage vit dans les règles réseau d'Android, pas dans un tunnel. Cela a plusieurs conséquences que nous apprécions :
- Votre VPN reste connecté. Le pare-feu ne touche jamais au service VPN, donc un VPN de confidentialité peut tourner à côté.
- Les règles tiennent Repel fermé. Le blocage est dans le système, il reste donc en place même si Repel ne tourne pas.
- Les autres pare-feu sont respectés. Certaines autres applis utilisent les mêmes contrôles système. Repel lit ce qui est déjà bloqué avant de rien changer, et ne désactive donc pas les règles posées par une autre appli.
Pro ajoute des règles plus fines, comme en ligne seulement sur le Wi-Fi, seulement en données mobiles, jamais en itinérance, écran éteint ou à l'heure du coucher, ainsi que des profils Maison, Travail et Voyage.
Que fait le filtre DNS ?
Le pare-feu décide si une appli peut aller en ligne ou non. Le filtre DNS travaille plus finement : quels endroits une appli a le droit d'atteindre.
Avant de se connecter à un serveur, une appli demande son adresse par son nom, par exemple un domaine de suivi ou d'analyse. Cette question est une requête DNS. Le filtre de Repel fait tourner un VPN local sur le téléphone qui traite les requêtes DNS et rien d'autre. Chaque requête est vérifiée avec les listes de blocage que vous choisissez, comme HaGeZi, OISD, 1Hosts ou StevenBlack, qui couvrent traceurs, malwares, hameçonnage, boutiques frauduleuses et télémétrie des fabricants. Une requête bloquée n'obtient aucune réponse, et l'appli n'atteint donc jamais ce domaine. Une requête autorisée part chiffrée avec DNS over HTTPS vers le serveur que vous avez choisi.
Votre autre trafic ne passe jamais par le filtre, et rien ne nous est envoyé. Le journal d'activité, qui montre quelle appli a consulté quel domaine et si la requête a été bloquée, reste sur le téléphone.
C'est la seule couche qui utilise la place VPN. Android ne laisse une appli voir les requêtes DNS des autres que si elle les fait passer par elle, et le service VPN est le moyen de le faire sans root. Si vous utilisez un VPN de confidentialité toute la journée, la configuration pratique est donc le pare-feu plus le DNS privé, qui laissent tous deux la place libre.
Où se place le DNS privé ?
Android a un réglage intégré, le DNS privé, qui envoie chaque requête, chiffrée, vers un fournisseur de votre choix. Choisissez un fournisseur filtrant comme AdGuard DNS ou Quad9 et il bloque de son côté les domaines de traceurs et de malwares, pour toutes les applis, sans aucun VPN. Repel peut activer ce réglage pour vous en un toucher, et il continue de marcher Repel fermé. Notre guide sur le DNS privé sur Android explique ce réglage plus en détail.
Il y a un détail que nous avons dû soigner. Quand le DNS privé est réglé sur un fournisseur précis, les requêtes vont directement vers lui et contournent tout filtre du téléphone. Tant que le filtre de Repel est actif, Repel met donc votre choix de DNS privé de côté et le remet quand le filtre s'arrête. Tout changement que vous faites entre-temps attend ce moment.
Que se passe-t-il quand quelque chose tourne mal ?
Un filtre DNS se trouve sur le chemin de chaque connexion, ses pannes comptent donc plus que la plupart. Si le serveur DNS utilisé par Repel est en panne, le filtre s'efface au lieu de vous couper de tout. Repel vous prévient aussi quand sa liste de blocage ne se télécharge pas, réessaie tout seul, et explique quoi faire quand Android n'autorise pas le VPN.
Nous sommes aussi clairs sur ce qu'un filtre DNS ne peut pas faire. Il travaille sur des noms de domaine, il ne peut donc pas toucher ce qui est servi depuis le même endroit que le contenu demandé. Sur Android TV, par exemple, il ne peut pas retirer les pubs à l'intérieur des flux vidéo. Il bloque les domaines de traceurs et de malwares, et c'est ainsi que nous le décrivons.
Quelles couches utiliser ?
Vous pouvez utiliser une couche ou les trois. Notre guide sur bloquer les traceurs sans VPN présente les configurations, et Repel vs RethinkDNS compare une autre approche du même problème. Quel que soit votre choix, il n'y a ni compte ni pub, ce que nous expliquons dans pourquoi nos applis n'ont pas de pub.
Questions
Puis-je utiliser le pare-feu de Repel et mon propre VPN en même temps ?
Oui. Le pare-feu d'applis de Repel n'utilise pas le service VPN d'Android, donc votre VPN reste connecté pendant que les applis choisies sont coupées d'Internet. Il faut Android 13 ou plus récent et une association unique via le Débogage sans fil sur le téléphone, sans ordinateur ni root. Le filtre DNS de Repel est la seule partie qui utilise la place VPN.
Le filtre DNS de Repel voit-il tout mon trafic ?
Non. Le filtre ne traite que les requêtes DNS, l'étape où une appli demande à quelle adresse correspond un nom de domaine. Votre autre trafic ne passe jamais par lui. Chaque requête est vérifiée sur le téléphone avec les listes de blocage que vous choisissez, et les requêtes autorisées partent chiffrées avec DNS over HTTPS. Rien ne nous est envoyé.
Que se passe-t-il si le serveur DNS utilisé par Repel tombe en panne ?
Le filtre s'efface au lieu de vous couper de tout. Un filtre DNS qui ne répond plus laisserait toutes les applis sans accès à rien, ce qui est pire que pas de filtre du tout. Repel vous prévient aussi quand sa liste de blocage ne se télécharge pas ou quand Android n'autorise pas le VPN, et vous dit quoi faire.
Ai-je besoin du filtre DNS si j'utilise le DNS privé ?
Pas forcément. Le DNS privé d'Android avec un fournisseur filtrant bloque les domaines de traceurs et de malwares pour toutes les applis et n'utilise aucun VPN. Repel peut l'activer pour vous en un toucher. Le filtre sert quand vous voulez vos propres listes de blocage, le journal d'activité de ce que chaque appli a consulté et des règles pour des applis précises.