J'avais abordé en janvier dernier le changement de licence de la base de données GeoIP, très utilisée pour trouver à quel pays correspond une adresse IP. Les développeurs du pare-feu IPFire annoncent avoir développé leur propre alternative : libloc. Ce journal est un résumé de leur billet de blog sur le sujet complété par des informations trouvées sur le forum. Je ne suis pas spécialiste du sujet, mais je me dis que ce genre d'outil peut intéresser les développeurs qui trainent sur LinuxFr.
GeoLite et GeoIP
Maxmind est une entreprise américaine qui fournit des bases de données de géolocalisation d'adresses IP :
- GeoLite est une base de données gratuite, sous licence libre jusqu'à novembre 2019. C'est celle qui est utilisée dans le paquet Debian geoip-database.
- GeoIP est une base de données payante et plus précise. En option, on peut ajouter les adresses IP "anonymes" (proxys, VPN, noeuds Tor), le type d'utilisateur (gouvernement, entreprise, particulier…), l'ISP et les domaines associés.
Hors sujet : si on utilise GeoIP Precision Insights Service uniquement accessible via l'API en ligne, et si l'IP recherchée est aux Etats-Unis, on a le droit à la densité de population et… au revenu moyen des habitants du code postal associé. Parfait pour les publicités ciblées.
Développement d'une alternative libre
L'équipe d'IPFire a commencé à développer une alternative à GeoIP pour plusieurs raisons :
- GeoLite, auparavant sous licence Creative Commons, n'est plus sous licence libre. Il faut s'enregistrer pour pouvoir l'utiliser.
- GeoLite n'est pas de bonne qualité, probablement pour encourager les utilisateurs à acheter GeoIP.
- Maxmind n'indique pas de quelle manière la base de données est générée, ce qui peut poser des problèmes de sécurité si cette base de données sert pour établir des règles de filtrage.
Naissance de libloc
Début août, l'équipe d'IPFire annonce la sortie de libloc v1.0. C'est une bibliothèque écrite en C sous licence GPLv2 associée à une base de donnée qui donne pour chaque IP :
- le pays
- l'Autonomous System
- si elle est associée à un proxy anonyme, un réseau anycast ou un fournisseur d'internet par satellite
Comme IPFire va utiliser libloc pour faire des règles de filtrage du pare-feu, il est important que la base de donnée soit non altérable. L'équipe d'IPFire l'a donc signée.
Pour construire la base de données, l'équipe d'IPFire a utilisé les données publiques des RIR, les annonces BGP. Certaines entrées ont été manuellement corrigées : "les réseaux indiquant être aux Etats-Unis pour contourner les restrictions géographiques des pare-feux, les proxys anonymes, les réseaux satellites et les services anycast" indique un développeur.
Le site location.ipfire.org permet de tester libloc avec une IP et de voir si cette IP est inscrite chez un fournisseur de liste noire (blocklist.de, spamhaus.org…). Des modules Python et Perl sont disponibles pour utiliser libloc dans des programmes existants.
# l'Autonomous System
Posté par freem . Évalué à 5.
C'est quoi?
Désolé pour la question conne…
[^] # Re: l'Autonomous System
Posté par Zenitram (site web personnel) . Évalué à 1.
https://fr.wikipedia.org/wiki/Autonomous_System
(oui, elle était facile… Mais bon, c'est aussi le premier résultat d'une simple recherche…)
[^] # Re: l'Autonomous System
Posté par freem . Évalué à 2.
Pas faux, j'avoue ne pas y avoir pensé.
[^] # Re: l'Autonomous System
Posté par Anonyme . Évalué à 10.
En très gros : sur Internet les adresses IP sont allouées à des AS, donc dans le contexte de libloc tu peux voir ça comme l’identifiant du Fournisseur d’Accès à Internet (FAI) d’un visiteur de ton site web.
Par exemple, actuellement l’adresse IP obsolette du serveur DLFP est
213.36.253.176
, elle fait partie du sous-réseau213.36.0.0/16
qui est alloué à l’AS 12322 qui est l’ASN d’Online SAS (ce qui colle avec le fait que DLFP soit hébergé par la fondation Free).[^] # Re: l'Autonomous System
Posté par freem . Évalué à 1.
merci.
# licence de la base de données?
Posté par Zenitram (site web personnel) . Évalué à 4. Dernière modification le 18 août 2020 à 08:17.
Autant je trouve le source pour la partie logicielle de libloc, autant je n'arrive à trouver ni la base de données elle-même ni sa licence, alors que c'est justement le plus important dans le projet (le logiciel est pas le plus difficile à refaire…)
Tu as des sources la dessus?
[^] # Re: licence de la base de données?
Posté par Christophe . Évalué à 1.
J'ai trouve ca , par contre pas d'indication de licence, c'est ballot.
[^] # Re: licence de la base de données?
Posté par GnunuX (site web personnel) . Évalué à 10.
Ou pas :
4 # Generated: Tue, 18 Aug 2020 05:32:07 GMT
5 # Vendor: IPFire Project
6 # License: CC BY-SA 4.0
# Licence
Posté par barmic 🦦 . Évalué à 10.
J'étais surpris et en vérifiant c'est du LGPLv2.1.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
# Usage
Posté par barmic 🦦 . Évalué à 1.
En même temps ça sert à quoi ce genre de trucs à part :
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Usage
Posté par SpaceFox (site web personnel, Mastodon) . Évalué à 4.
C’est pratique pour la modération d’un forum, ça élargit le faisceau d’indices pour savoir si un compte est légitime ou non.
La connaissance libre : https://zestedesavoir.com
[^] # Re: Usage
Posté par barmic 🦦 . Évalué à 4.
Et c'est pas du profilage ?
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Usage
Posté par SpaceFox (site web personnel, Mastodon) . Évalué à 2.
Tout dépend de ce que tu appelles « profilage » et de comment tu t’en sers. Ça peut très bien être une simple info ajoutée dans la section visible uniquement par les modérateurs du profil utilisateur.
La connaissance libre : https://zestedesavoir.com
[^] # Re: Usage
Posté par Yth (Mastodon) . Évalué à 1.
Si.
[^] # Re: Usage
Posté par bistouille . Évalué à 3.
Bonjour,
Je vois au moins 2-3 cas d'utilisations intéressantes et non-néfastes (pas comme le télédémarchage et la publicité ciblée)
Parfois quand on fournit de la donnée, et que ces données émanent de programmes de recherches payés par des tiers (les contribuables, l'UE (et donc: les contribuables ) ) il peut être intéressant/imposé de montrer que ces données sont réellement accédées, et par qui (états/régions) et dans quelle proportion.
Pour se prémunir d'attaques/trolls/spammers: par exemple si subitement des dizaines de demandes de création de comptes sur un certain forum francophone parviennent d'un même pays non francophone il est permis d'avoir quelques doutes.
Mais c'est sûr qu'une autorité malveillante et coercitive y verra aussi un tout autre intérêt, pour filtrer/tracer les connections sortantes par exemple.
[^] # Re: Usage
Posté par barmic 🦦 . Évalué à -2.
Tu décris un objectif de non-neutralité. Pour rappel :
C'est moi qui graisse. Tiré de l'arcep.
Je suis d'accord qu'on peut trouver des raisons de le mettre en place.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Usage
Posté par Zenitram (site web personnel) . Évalué à 5. Dernière modification le 18 août 2020 à 12:32.
Tu parles d'ARCEP, qui est sur les communications (pour accéder au site: "acheminement de tous les flux d’information" écrit clairement sur la page citée), pas les sites visés qui ont d'autres contraintes légales.
Sinon, ça serait utilisable contre les vendeurs de contenu qui bloquent ou font des prix différents par pays… Ou les gestionnaire de calcul de risque qui bloquent des cartes suivant critères x ou y.
PS : je ne dis pas que c'est bien ou mal, juste que c'est hors sujet.
[^] # Re: Usage
Posté par barmic 🦦 . Évalué à 3.
Ah bien vu. Je ne l'avais pas vu comme ça.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Usage
Posté par gUI (Mastodon) . Évalué à 7. Dernière modification le 18 août 2020 à 13:24.
J'ai vécu longtemps avec mon FAI (OVH pour ne pas le citer) qui avait récupéré des adresse Russes. Le nombre de sites qui posait problème parce qu'ils n'était pas à jour avec ça c'était vraiment super chiant. Il y avait une entrée du forum OVH dédiée à ce style de problème, des messages type à envoyer aux webmestres, parfois (souvent en fait) OVH tentait d'intervenir… mais c'était juste chiant.
Pitié, n'utilisez pas une adresse IP pour géolocaliser :
- c'est faux (une IP Russe était en fait Française)
- c'est faux (en parallèle je passais par un VPN sur un serveur dédié français pour utiliser mon abonnement MyCanal depuis Espagne et Portugal avant que la loi n'impose d'ouvrir le service à l'Europe entière)
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Usage
Posté par jemore . Évalué à 1.
Le problème c'est surtout que, dans ton cas, la base de données n'etait pas à jour. En soit, la localisation de la connexion d'origine (par son adresse IP ou autre) joue quand même un role dans la pondération permettant de classer une requete comme "sympa" ou "méchante".
[^] # Re: Usage
Posté par gUI (Mastodon) . Évalué à 0. Dernière modification le 20 août 2020 à 11:30.
Donc les Russes sont "méchants" et les Français "sympas" ?
En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Usage
Posté par Thecross . Évalué à 1.
Dans IPFire, libloc sert à:
- créer des règles de pare-feu. Par exemple, autoriser les connexions ssh uniquement depuis des IP françaises
- afficher le pays associé aux adresses IP des logs et du tableau des connexions établies
- faire des statistiques sur la provenance des paquets bloqués
[^] # Re: Usage
Posté par claudex . Évalué à 5.
Si un utilisateur est connecté à la fois deux endroits distincts, c'est un indice que son compte est compris.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 3.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Usage
Posté par claudex . Évalué à 4.
Ou que la base de donnée n'est pas à jour ou que tu es connecté en 4G à l'étranger (et tu as une IP de ton opérateur GSM de ton pays) et que tu es connecté par un ADSL local aussi. C'est pour ça que je dis que c'est un indice. Qu'il faut corrélé avec d'autres informations.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: Usage
Posté par steph1978 . Évalué à 7.
dit autrement : Faire des jolies stats d'accès à son site par pays
dit autrement : Bloquer les bots (IP cloud providers), les crackers russes et chinois.
Mais aussi :
Oui, ça sert beaucoup en fait.
[^] # Re: Usage
Posté par kiriarat (site web personnel) . Évalué à 2.
Ce n’est pas un peu une super mauvaise pratique de faire ça de manière transparente, sans que ce ne soit visible dans l’URL ?
Je pense qu’une structure de site/CMS/cequevousvoulez en
URL/<locale>/<page(s)>
me semblerait vachement plus adaptée (par exemple : https://linuxfr.org/fr-fr/oh-oh-le-bel-article-d-extremiste-du-libre).Les avantages que j’y vois :
- la version de chaque pays pourrait être fournie par les moteurs de recherche ;
- l’utilisateur pourrait modifier ses préférences de localisation directement dans l’URL (on ne navigue pas tous en anglais avec bascule en Français pour troller sur LxFR ;-) ) ;
- fourni la majorité des informations de localisation, langue, monnaie, réglementation… (je ne suis pas trop au fait des écarts possibles de réglementation dans les pays fédéraux type l’Allemagne ; et ça ne couvre pas les problèmes genre pour les ouïghours qui sont fortement incités à faire tout bien comme leur pouvoir/oppresseur de tutelle…) ;
- explicit is better than implicit…
Ce message ne contient aucun degré. (sérieusement…! non, mais en vrai !! ok, peut-être un peu parfois mais pas là ☻ )
[^] # Re: Usage
Posté par steph1978 . Évalué à 4. Dernière modification le 28 août 2020 à 10:32.
Ta proposition traite seulement de la langue et ne répond pas à "proposer par défaut". Les autres points que tu rappelles en citation me semble difficilement adressables par URL.
L'idée d'utiliser la géolocalisation basée sur l'IP est justement que pour une seule et même URL du genre 'https://monsupersite.tld/', toute une combinatoire de choix (localisation, langue, monnaie, réglementation, instance plus proche) s'appliquent à l'utilisateur sans qu'il n'ait besoin de tout configurer.
Donc pour "proposer une langue par défaut", la geolocalisation par IP est complémentaire : tu dirige le visiteur vers une "//" que tu penses être la bonne, libre à lui de la changer, par exemple avec un menu popup avec des drapeaux, un classique.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.