Bonjour, Khabrovites! Ayant reçu la tâche de la direction de bloquer la publicité sur les sites Internet pour les employés, j'ai décidé d'aborder le processus de manière créative: comprendre comment telle ou telle publicité est diffusée techniquement, quelles méthodes de blocage existent, leurs avantages et leurs inconvénients. Je cite également à titre d'exemple la mise en œuvre du blocage au niveau de notre passerelle, en utilisant Traffic Inspector Next Generation, ainsi que l'utilisation à ces fins au niveau local de l'option de blocage des publicités dans Kaspersky Internet Security (ci-après - KIS) et les applications de navigateur AdBlock et Adblock Plus. L'article sera intéressant pour les administrateurs système et autres spécialistes travaillant avec les réseaux locaux.

Pourquoi, à mon avis, le blocage des publicités est compréhensible: pour augmenter la vitesse de chargement des pages et la consommation de trafic, pour lutter contre les conteneurs de plugins qui consomment de la mémoire et les scripts d'espionnage qui surveillent les actions des utilisateurs. Et surtout, pourquoi la direction a soulevé ce problème, est un facteur gênant: la publicité déplace l'attention du salarié de la tâche en cours vers une offre tentante, souvent spécialement sélectionnée pour lui par des algorithmes astucieux. Soit dit en passant, tous les deux ans, le nombre d'ordinateurs avec des publicités bloquées dans le monde
triple .
Tout d'abord, en bref, comment
bloquer les publicités .
Premièrement, il existe des applications de navigation qui utilisent des dizaines d'algorithmes et de schémas différents pour chaque type de contenu et même pour certains sites individuels (Facebook, par exemple). Les coupeurs les plus populaires sont AdBlock et Adblock Plus (ci-après dénommés ADP). À mon avis, ADP est plus efficace d'entre eux, mais le contenu utile tombe parfois sous sa puissante patinoire (plus à ce sujet à la fin). Pour moi, l'inconvénient de toutes ces solutions est qu'elles sont installées sur chaque ordinateur et, de plus, sur chaque navigateur. Lorsque vous avez des centaines d'ordinateurs en LAN, cela devient un problème.
Deuxièmement, de nombreux antivirus (par exemple, nous utilisons Kaspersky) ont une option intégrée pour bloquer les publicités. L'avantage de cette méthode est que puisque vous utilisez un antivirus, vous n'avez pas besoin d'installer quoi que ce soit sur l'ordinateur - activez simplement la fonction dans le menu. Mais comme cette fonction n'est pas basique, elle fonctionne moins bien que les applications spécialement conçues pour cette activité.
Troisièmement, vous pouvez couper les publicités avec une
passerelle réseau . Le blocage se produit en raison de la redirection des requêtes HTTP des sites publicitaires vers l'adresse 0.0.0.0. Pour moi, un énorme avantage est que le blocage fonctionne immédiatement pour l'ensemble du réseau local. Le principal inconvénient est que vous devez surveiller la pertinence de la base de données des adresses publicitaires et, si nécessaire, les ajouter manuellement. Le deuxième inconvénient est qu'un seul mécanisme de blocage est utilisé - pour les requêtes HTTP, et après tout, tous les types de publicité ne les utilisent pas.
Pour l'avenir, je dirai que dans mon réseau local, j'utilise les trois méthodes - elles se complètent bien. Les détails se trouvent à la fin de l'article, et maintenant regardons quels
types de publicité sont .
Le référencement et toutes sortes d'e-mails ne nous intéressent pas pour le moment. Nous nous intéressons à la publicité, qui est diffusée avec un contenu utile. Selon ce principe, je l'ai divisé en les types suivants:
1.
Blocs d'annonces intégrés de services tels que Yandex Advertising Network et Google.Adsense.
Ce sont du texte, des modules texte et graphiques et seulement des bannières qui sont placées par les propriétaires des plates-formes pour les gains. À mon avis, il s'agit du type de publicité le plus nocif, car il: a) imite souvent le contenu utile et se mélange avec lui pour augmenter la cliquabilité; b) montre à l'utilisateur ce qui l'intéresse le plus (nous connaissons tous les mégadonnées, le facteur comportemental, etc., etc.); c) montre ce dont l'utilisateur (dans notre cas, l'employé) n'a pas besoin actuellement, c'est-à-dire qui distrait du travail.
Prenons quelques ressources avec ce type de publicité:
1.1.
sharpologist.com/2018/08/whats-menthol-shaving-stuff.htmlLa bannière Google a été soigneusement coupée à l'aide des outils KIS - la mise en page n'a pas été affectée, aucun vide n'a été formé:

1.2. En outre, il existe des blocs qui utilisent les demandes des utilisateurs qu'il a entrées plus tôt dans le moteur de recherche (par exemple, sur
zmoe.ru ):

1.3.
www.bestfree.ru est un excellent exemple de site SEO optimisé qui devait être rempli de publicité. Les cases rouges indiquent les blocs d'annonces (voir l'image à gauche). Tous ont été bloqués (voir à droite):



1.4. Mail.ru. est un exemple infructueux de blocage des publicités. Sur la page de la boîte de réception, le système de publicité Yandex se manifeste deux fois: la ligne d'information au-dessus de la liste des lettres et le bloc d'annonces à gauche. Pas un seul insert n'a été bloqué par l'une des méthodes que j'utilise:

2.
Échange de bannière, teaser, réseaux RTB tels que Rotaban, advmaker.net, Marketgid, etc.
Ils ne peuvent pas diffuser d'annonces personnalisées, comme Google ou Yandex, mais ils le prennent par leur importance.
2.1. La bannière de bannière sur adindex.ru (réseau publicitaire Adriver) a été découpée par l'application de navigateur AdBlock:

Notez que AdBlock coupe complètement le div et l'iframe, de sorte que même un rectangle blanc ne reste pas.
2.2. Voici un exemple d'un autre bloc réseau AdIndex imitant du contenu qui a été tout aussi froidement coupé par un plug-in de navigateur:

3.
Pop-upsLe format de publicité le plus furieux, surtout lorsqu'une fenêtre pop-up ne vous permet pas d'accéder au site ou ferme une partie du contenu. Parmi les sites avec des pop-ups, je n'ai rien trouvé de convenable pour le test, alors j'ai utilisé le megashara.com trash. Les applications de navigateur ont fait un excellent travail. Mais avec une passerelle réseau, ce n'est pas si simple. D'une part, le «megashar» envoie des requêtes HTTP qui peuvent théoriquement bloquer les pop-ups, mais d'autre part, il émet constamment des miroirs avec différentes URL, donc en pratique cela ne peut pas être fait. Et si les fenêtres contextuelles fonctionnent via JavaScript, au niveau de la passerelle, il est impossible de les bloquer du tout. (Cependant, megashara.com dans mon réseau local est complètement et complètement bloqué.)
4.
Programmes d'affiliationIls sont généralement distribués par de grandes boutiques en ligne et des services de génération de leads. Par exemple, si vous êtes propriétaire d'un portail sur les livres, vous pouvez utiliser le programme d'affiliation Labyrinth et placer leur code sur votre site Web - à partir de chaque transition, la boutique en ligne vous paiera de l'argent. Ainsi, par exemple, le site Web
marketopedia.ru est arrivé . Voici à quoi ressemble le module d'affiliation:

Une chose aussi simple en apparence ne pouvait être surmontée par rien, car cette économie fonctionne sur JavaScript. Cependant, ce type de programme d'affiliation est assez rare et, en règle générale, semble non agressif - vous pouvez abandonner sa main.
Le programme d'affiliation d'Amazon sur sharpologist.com a été bloqué avec succès par les applications de navigateur:

5. Publicité sur YouTube.
Tout d'abord, ce sont des vidéos qui précèdent la visualisation de la vidéo principale, des vidéos qui interrompent la visualisation et des publicités qui apparaissent sur la vidéo.
J'ai pris la
première vidéo que j'ai
eue - au début, une vidéo publicitaire est apparue:

La vidéo promotionnelle était sur le point d'être diffusée pendant une minute entière; c'est bien que vous puissiez le sauter en 10 secondes. Ensuite, j'ai vu le rembourrage complet: à la fois la bannière et les publicités intégrées:

Je lance ADP - et le tour est joué, rien de tout cela:

6.
Bannières intégréesDu point de vue du blocage, c'est le cas le plus difficile, car le bloqueur, en fait, doit interdire l'image. Comment trouver l'annonce parmi toutes les images de la page sans affecter le reste? Dans les applications de navigateur, il existe une analyse de leurs tailles, car les bannières ont généralement des tailles standard. De toute évidence, cette méthode ne fonctionnera pas si la bannière a des proportions non standard.
6.1. Pour commencer, j'ai pris cnews.ru, voici comment ça se passe:

Comme vous pouvez le voir, AdBlock a réussi à couper toutes les bannières, y compris les annonces cnews.ru lui-même :)
6.2. Un exemple moins réussi est une bannière d'affiliation sur lezvie.info:

Il n'a été bloqué par aucun de nos filtres. Nous regardons le code:

Les dimensions 300 x 416 sont un format non standard (en tout cas, il ne figure pas dans la liste des
tailles standard de Google.Adsense ), de sorte que la bannière est restée en place.
7.
Recherche de publicité contextuelleÀ mon avis, c'est la forme de publicité la plus inoffensive que je ne bloquerais pas du tout. Si une personne recherche quelque chose dans un moteur de recherche et qu'on lui présente des annonces pertinentes, il n'y a rien de mal à cela. Au contraire, ils aident à trouver ce qui est nécessaire, surtout si les demandes sont commerciales.
Pour le plaisir, j'ai cherché à savoir si les publicités contextuelles bloquaient les applications de navigateur:

Comme vous pouvez le voir, les annonces et les bannières ont été bloquées, mais il y avait des offres de Yandex.Market.
8.
Publicité sur les réseaux sociauxJe ne développerai pas ce sujet dans cet article, car je pense (et la direction est d'accord avec moi) que les réseaux sociaux en général devraient être bloqués sur le lieu de travail.
Quel est le meilleur blocage?Le moyen le plus efficace s'est avéré être le blocage par l'application de navigateur, et ADP s'est avéré meilleur qu'AdBlock. Mais il y a trois points qui me troublent beaucoup.
Problème ADP No. 1 Coupe tout de suite, y compris le contenu utile. Prenez, par exemple, le site vedomosti.ru - il y a non seulement de la publicité purement, mais aussi des bannières semi-publicitaires avec des annonces d'événements qui peuvent être utiles au lecteur. Et il existe des bannières de liens totalement inoffensives. Tout est ramené à zéro.

L'icône ADP dans l'en-tête du navigateur montre combien de bannières ont été découpées sur le plugin sur cette page, mais à quoi ça sert? Le sentiment que vous ne voyez pas quelque chose d'important, bloqué par erreur, ne part pas.
ADP Problem # 2 Sites rencontrés qui demandent de désactiver le blocage des publicités avant d'afficher du contenu. Et ce ne sont pas des ressources boiteuses, mais des sites comme forbes.com. WordPress a même un plugin Block Adblock qui bloque le contenu pour ceux qui utilisent le "Adblock".

Avec un bloqueur de passerelle, bien sûr, il n'y a pas un tel problème.
Problème Les plug-ins
ADP n ° 3 doivent être installés sur chaque ordinateur et sur chaque navigateur. Et il ne suffit pas d'installer - alors vous devez courir pour chaque demande: quelqu'un a bloqué quelque chose d'utile, quelqu'un n'ouvre pas le site. En ai-je besoin?
Le blocage antivirus fonctionne moins bien qu'ADP, mais mieux que le transfert de requêtes HTTP au niveau de la passerelle. Rien de plus à dire ici.
Le blocage par une passerelle réseau , comme je l'ai dit, est dû à la redirection des requêtes dirigées vers des sites avec des publicités à l'adresse 0.0.0.0. J'ai utilisé le matériel
Traffic Inspector Next Generation S100 fonctionnant sur OPNsense.
Je vais décrire en quelques mots comment j'ai configuré la serrure (instructions
ici >> ). En utilisant ssh, je suis allé sur le matériel et j'ai installé le paquet curl (https://curl.haxx.se/) avec la commande: pkg install curl.

Il a ensuite lancé le script pour initialiser la liste des ressources Web bloquées
update-hosts.sh . Après avoir créé la liste, j'ai lancé la fonction DNS non lié pour Traffic Inspector Next Generation, sélectionné dans l'interface Web «Services» -> «DNS non lié» -> «Paramètres généraux». Inclus un résolveur DNS, transfert DNS, enregistrement DHCP. Dans les paramètres utilisateur, il a spécifié le fichier de la liste des ressources Web bloquées /var/unbound/ad-blacklist.conf. Paramètres enregistrés. Maintenant, le morceau de fer est devenu un serveur DNS.

Il a ensuite installé le serveur DNS nouvellement créé en tant que serveur DHCP: «Services» -> «DHCP v4» -> «LAN» -> «Activer le serveur DHCP sur l'interface LAN». Sur les ordinateurs des utilisateurs, les serveurs DHCP doivent être spécifiés Traffic Inspector Next Generation, puis le morceau de fer sera automatiquement enregistré en tant que serveur DNS:

Maintenant, en cas de redirection vers des pages avec de la publicité, elle est bloquée.
La liste des ressources bloquées est téléchargée par défaut à partir du fichier
http://winhelp2002.mvps.org/hosts.txt . Mais j'ai beaucoup de questions pour cette liste. Par exemple, pourquoi par défaut, Yandex et Google n'utilisent-ils pas d'adresses dans leurs réseaux publicitaires? Cela signifie que le type de publicité le plus ennuyeux (voir paragraphe 1) ne sera pas bloqué. J'ai dû les enregistrer manuellement. Pour ajouter une nouvelle adresse de blocage, il est nécessaire d'ajouter une adresse dans le fichier de configuration au format: serveur: données-locales: "<adresse de la ressource bloquée> A 0.0.0.0" et redémarrer le service DNS non consolidé.
Au lieu d'un CVMa recette pour bloquer les publicités sur un réseau local est simple:
1. Activez le verrouillage au niveau de la passerelle.
2. Nous enregistrons les réseaux publicitaires Yandex et Google dans des adresses bloquées (ou nous nous assurons qu'ils y sont présents), ainsi que dans d'autres adresses que vous souhaitez.
3. Nous informons les employés que, sur demande individuelle, ils peuvent installer un bloqueur de publicités et l'installer pour ceux qui en ont vraiment besoin.
4. Nous bloquons les réseaux sociaux au niveau de la passerelle, les sites de recherche d'emploi et d'autres ressources inappropriées, puis le problème de blocage des publicités sur eux disparaîtra de lui-même :)
PS Comme je l'ai écrit ci-dessus, la liste des demandes HTTP bloquées dans Traffic Inspector Next Generation est extraite du fichier
winhelp2002.mvps.org/hosts.txt , mais cette liste n'est pas aussi complète qu'elle pourrait l'être. Si les lecteurs trouveront des spécialistes prêts à l'emploi qui savent où trouver des listes plus pertinentes (en tenant compte en particulier des spécificités du Runet), veuillez écrire dans les commentaires. Si de telles listes existent, je les écrirai dans le script. Soit dit en passant, le support technique m'a dit que OPNsense discutait de l'ajout d'un plugin spécial pour gérer ces listes, mais jusqu'à présent, ce n'est pas en production.