AccueilTechniqueServices → Liens

    Liens

    Notre service Liens (ou Links service en anglais) permet de raccourcir des URL longues en attribuant des noms raccourcis. Pour chaque lien créé, il fournit un lien d’administration permettant de supprimer le lien ou de compter les clics sur le lien raccourci. Il dispose également de fonctionnalités avancées de protection contre le spam.

    Fonctionnement🔗

    L’utilisateur·ice se rend sur la page du service, renseigne son URL longue et éventuellement un nom de raccourci personnalisé, puis complète le captcha et clique sur « Créer ! ». Un lien d’administration lui est transmis.

    Historique🔗

    Ce service est officiellement annoncé le 23 mai 2019 avec le service DoH. Il fonctionnait initialement avec le logiciel Lstu.

    Suite à une recrudescence importante de liens de spam qui nous a poussés à interdire temporairement la création de nouveaux liens, nous avons développé rs-short en interne et avons remplacé Lstu par ce nouveau logiciel, qui consomme beaucoup moins de RAM et intègre un captcha pour lutter contre le spam.

    Les besoins de modération ont rapidement évolué et nous ont poussé à réécrire rs-short à plusieurs reprises. En janvier 2021, avec la fermeture de Framalink, le service a commencé à devenir de plus en plus utilisé et nous demande encore un temps de modération important, qui pourrait remettre en question la pérennité du service.

    Installation🔗

    Dans l’attente de déployer une CI/CD, nous utilisons une image Docker créée de toutes pièces qui nécessite de compiler le binaire de notre logiciel rs-short au préalable. Cette compilation doit s’effectuer avec l’outil cargo dans le langage Rust, sur un hôte disposant de la même version de Debian que le conteneur (variable DEB_VERSION).

    Dans notre installation actuelle, notre Dockerfile copie le contenu du dossier private/ depuis notre serveur, vers /run_dir.

    Ce dossier private/ contient trois fichiers :

    • le binaire rs-short ;
    • le fichier config.toml contenant les identifiants et clés secrètes nécessaires au fonctionnement du logiciel (voir un fichier d’exemple) ;
    • le fichier lists.toml contenant des listes d’autorisation et de blocage pour protéger le service du spam (voir un fichier d’exemple).

    Notre version de rs-short est configurée pour fonctionner avec PostgreSQL. Il est fortement déconseillé d’utiliser SQLite pour ce logiciel, les requêtes vers la base de données étant très nombreuses. Le logiciel rs-short supporte également MySQL/MariaDB.

    Tests🔗

    La plupart des tests de fonctionnement de rs-short sont effectués par le binaire lui-même au démarrage (vérification de la syntaxe des fichiers et de certaines variables). Le service peut ensuite être testé dans un navigateur.

    Il est toutefois important de tester régulièrement la réputation du domaine ou sous-domaine utilisé pour le raccourcisseur de liens avec des sites comme urlvoid ou VirusTotal. Si des URLs spécifiques ou le domaine sont signalées comme malveillantes, il est nécessaire de contacter l’organisation qui tient le service de réputation pour supprimer le raccourcisseur de liens de cette liste.

    Statistiques d’utilisation🔗

    Quelques statistiques d’utilisation du service Liens de La Contre-Voie.

    Il s’agit de moyennes journalières mesurées pendant la 5e semaine (calendrier ISO) de chaque année listée.

    AnnéeRequêtesUtilisateur·ice·s uniquesBande passante
    202089437724 MB
    20215 9171 633296 MB
    20221 497 47446 MB
    20233 7371 08691 MB

    Le tableau ci-dessous recense le nombre de liens créés sur toute l’année.

    AnnéeLiens créésLiens frauduleuxPourcentage de liens frauduleux
    2020*3814110,76 %
    202110 4616406,11 %
    20229 896 3463,49 %

    * 2020 : Ces données concernent uniquement la période du 11 avril au 31 décembre 2020, après la migration du service Liens de Lstu vers rs-short.

    La diminution progressive du pourcentage de liens frauduleux au fil des années est dûe à d’importants efforts consacrés à la modération du service, pour supprimer activement et rapidement les liens frauduleux, ainsi qu’une modernisation du logiciel rs-short pour le doter d’outils de modération plus puissants.

    En production, le conteneur rs-short consomme environ 25 MB de RAM en date de février 2023. La base de données PostgreSQL utilisée par rs-short pèse 12 MB.

    Précautions🔗

    ATTENTION : Maintenir un raccourcisseur de liens est un calvaire qui vous prendra beaucoup de temps et pourra même engager régulièrement la responsabilité juridique de votre structure, car ce genre de service est particulièrement utilisé pour relayer des arnaques et du contenu illégal.

    • Vous devrez impérativement réagir très rapidement lorsque vous recevez un signalement d’une entreprise victime de phishing (Amazon, Orange, Apple…) sous peine de poursuites judiciaires. Surveillez votre boîte mail abuse@votrenomdedomaine.
      • Votre hébergeur pourrait couper votre serveur sans préavis s’il reçoit un signalement à votre place.
    • L’utilisation frauduleuse de votre service pourra faire baisser la réputation de votre nom de domaine dans les moteurs de recherche, voire vous signaler comme site dangereux pour tous vos visiteurs.
    • Vous pourrez être exposé·e·s à du contenu pédopornographique ou terroriste.

    Retrouvez un témoignage complet sur la lutte contre le spam sur notre blog.

    Si vous avez vraiment besoin de ce service, nous vous recommandons de le réserver à un cercle restreint de personnes (vos membres, votre famille, vos amis…) plutôt qu’en libre accès.

    Si malgré tout vous souhaitez héberger un raccourcisseur d’URL en libre accès, nous vous suggérons de prendre connaissance de notre retour d’expérience ci-dessus ainsi que du guide d’entretien qui suit.

    Entretien🔗

    Ce service nécessite une maintenance journalière, ou a minima un contrôle plusieurs fois par semaine, afin de le protéger du spam.

    En effet, nous ne pouvons pas nous permettre d’agir uniquement sur signalement de la part de la police ou d’entreprises victimes de phishing, compte tenu des risques juridiques et techniques que cela peut entraîner (coupure de notre serveur par notre hébergeur, engagement de notre responsabilité juridique…). Nous agissons donc en amont.

    Recherche de liens de phishing🔗

    1. Vérifier les liens créés par le service pour lesquels rs-short signale une activité suspecte (voir l’option verbose_suspicious) : docker logs -f rs-short
      • Pour notre usage, nous laissons le journal défiler en mode follow dans une fenêtre tmux.
      • En cas de vague de hameçonnage ou s’il s’agit d’un nom de domaine sensible qui nécessite une supervision accrue, activer temporairement l’option verbose_console pour afficher TOUS les liens créés dans la console (sauf ceux listés dans la liste d’autorisation).
      • Notez que cette opération s’effectue au détriment de la vie privée de vos utilisateur·ice·s. Agissez en connaissance de cause.
    2. Si un lien suspect semble générer une activité particulière, il peut être pertinent de visiter le lien pour voir de quoi il s’agit (en prenant les précautions nécessaires). Si le lien ne semble pas rediriger vers quoi que ce soit de concret, il est possible de le marquer comme « phishing » à l’aide du lien / mot de passe d’administration. Cette action désactivera le lien.

    Listes d’autorisation et de blocage🔗

    Cette section porte sur l’entretien régulier du fichier lists.toml.

    Nous utilisons la liste d’autorisation pour ajouter les domaines que l’on peut considérer comme « sûrs », ce qui limitera la quantité de liens à contrôler. Il convient de ne pas ajouter n’importe quel domaine dans cette liste.

    La liste de blocage nous permet de bloquer préemptivement la création de liens frauduleux. Nous bloquons notamment certains domaines (et leurs sous-domaines) par défaut :

    • les autres raccourcisseurs de liens (pour empêcher les liens raccourcis en chaîne, très utilisés par les spammeurs) ;
    • les fournisseurs d’hébergement gratuit (Google Sites, Yola), plateformes privilégiées pour héberger des sites de hameçonnage ;
    • les services de DNS dynamique (dyndns, duckdns…) souvent utilisés pour masquer un site malveillant derrière un nom de domaine générique ;
    • certains sites de toute catégorie (hacking, pornographie, spam…) diffusés à des fins manifestes d’escroquerie ;

    Nous bannissons également des URL individuelles lorsque cela nous semble pertinent.

    À chaque lien de hameçonnage détecté lors du contrôle journalier, il est nécessaire de mettre à jour cette liste pour empêcher la recréation du lien : autrement, un lien désactivé un soir pourrait se retrouver reposté le lendemain matin ou dans la nuit, et être partagé plusieurs milliers de fois avant d’être bloqué à nouveau. Il convient toutefois de décider au cas par cas s’il faut ajouter l’URL exacte, le nom de domaine entier ou le domaine et ses sous-domaines.

    Note : Gardez toujours en tête que vous ne pouvez pas toujours prévoir les usages de votre outil. Un usage qui vous semblerait inapproprié à première vue pourrait être légitime. Ne désactivez pas un lien sans avoir la certitude qu’il s’agit d’un lien qui ne respecte pas les conditions d’utilisation.

    Traitement des demandes de retrait🔗

    Il vous sera nécessaire de réaliser une veille permanente sur abuse@votrenomdedomaine ainsi que votre adresse de contact afin de réagir promptement lorsqu’une demande de retrait de contenu vous est parvenue.

    En cas de contenu à caractère terroriste, depuis la loi du 16 août 2022, les hébergeurs de contenu ne disposent plus que d’une heure après l’envoi de l’injonction pour procéder au retrait du contenu. Pour notre part : il nous arrive de dormir parfois (eh oui !), et comme nous ne souhaitons pas déléguer notre modération à un algorithme ni à Google, nous savons que si nous recevons une injonction à 3h du matin, nous ne pourrons pas forcément y répondre.

    Le traitement de ces demandes dépend beaucoup de votre politique interne. Une politique de traitement de ces demandes de retrait est disponible sur le wiki du collectif CHATONS.

    Voici quelques-unes de nos directives sur le sujet :

    • S’il s’agit d’une demande de la police, nous nous référons au wiki CHATONS pour la procédure à suivre.
    • S’il ne s’agit pas d’une demande de la police (une demande d’un particulier ou d’une entreprise, par exemple) :
      • Nous procédons systématiquement à une vérification du lien signalé pour nous assurer qu’il est bien compatible avec nos CGU, avant même de chercher à savoir qui nous porte ce signalement.
      • Nous procédons immédiatement au blocage du lien s’il est manifestement contraire à nos CGU.
      • Nous ne communiquons pas le lien d’administration du lien aux personnes qui le demandent.

    Mise à jour🔗

    Toute modification du fichier lists.toml nécessite une reconstruction de l’image et un redémarrage du conteneur, opération qui prend moins d’une seconde et peut donc s’effectuer à chaud. Une examination des logs est nécessaire juste après le redémarrage pour vérifier si rs-short a bien démarré (une erreur au démarrage peut survenir en cas de problème de syntaxe dans les fichiers de configuration).

    La mise à jour de rs-short s’effectue simplement en répétant le processus d’installation avec la nouvelle version. Il convient de lire les notes de version pour anticiper d’éventuelles modifications de configuration à appliquer.

    Évolutions envisagées🔗

    Utilisation d’une CI/CD🔗

    Il serait particulièrement pratique de mettre en place un outil qui compilerait rs-short et créerait une image Docker associée, de manière automatique, à chaque nouvelle version du logiciel.

    Migration du nom de domaine🔗

    Dans la perspective de ne plus utiliser le nom de domaine 42l.fr pour nos services (car il est associé à l’ancien nom de l’association), il est envisagé d’utiliser un autre nom de domaine à la place. Les liens précédemment créés devront être maintenus.

    Interface de modération🔗

    Plutôt que d’utiliser la console pour la supervision du service, il pourrait être intéressant de développer une interface de modération du service accessible dans le navigateur.

    Nouveau thème🔗

    Un redesign graphique de l’application et une uniformisation avec le thème graphique de La Contre-Voie pourrait aider à rendre le logiciel plus accueillant.