{"id":25164,"date":"2026-03-31T11:56:06","date_gmt":"2026-03-31T09:56:06","guid":{"rendered":"https:\/\/leo.hypotheses.org\/?p=25164"},"modified":"2026-03-31T12:02:50","modified_gmt":"2026-03-31T10:02:50","slug":"focus-openedition-deploie-anubis-sur-ses-plateformes","status":"publish","type":"post","link":"https:\/\/leo.hypotheses.org\/25164","title":{"rendered":"Focus : OpenEdition d\u00e9ploie Anubis sur ses plateformes"},"content":{"rendered":"\n<p>Suite \u00e0 un nombre croissant de requ\u00eates automatis\u00e9es, OpenEdition a d\u00e9ploy\u00e9 sur ses plateformes, comme plusieurs de ses partenaires, le logiciel <em>open source<\/em> Anubis. Bruno C\u00e9nou, responsable du service Administration Syst\u00e8mes \u00e0 OpenEdition, revient sur les probl\u00e9matiques li\u00e9es \u00e0 la protection des donn\u00e9es pour une infrastructure de science ouverte telle qu\u2019OpenEdition.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/leo.hypotheses.org\/files\/2026\/03\/1834213621_web.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1000\" height=\"563\" src=\"https:\/\/leo.hypotheses.org\/files\/2026\/03\/1834213621_web.png\" alt=\"\" class=\"wp-image-25177\" srcset=\"https:\/\/leo.hypotheses.org\/files\/2026\/03\/1834213621_web.png 1000w, https:\/\/leo.hypotheses.org\/files\/2026\/03\/1834213621_web-300x169.png 300w, https:\/\/leo.hypotheses.org\/files\/2026\/03\/1834213621_web-768x432.png 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/a><figcaption class=\"wp-element-caption\">\u00a9 Krot_Studio \u2013 stock.adobe.com<\/figcaption><\/figure>\n<\/div>\n\n\n<ul class=\"wp-block-list\">\n<li>Anubis a \u00e9t\u00e9 d\u00e9ploy\u00e9 suite \u00e0 une attaque informatique sur la plateforme Calenda. De quel type d\u2019attaque s&#8217;agit-il ? Calenda est-elle davantage expos\u00e9e \u00e0 ces attaques que les autres plateformes d\u2019OpenEdition ?<\/li>\n<\/ul>\n\n\n\n<p>Parler d\u2019attaque au singulier est un raccourci pour d\u00e9crire plut\u00f4t une vague de requ\u00eates simultan\u00e9es provenant de dizaines de milliers d\u2019IP diff\u00e9rentes qui finit par submerger nos ressources. L\u2019effet constat\u00e9 est celui d\u2019une attaque en DDOS (attaque par d\u00e9ni de service distribu\u00e9e) sans pour autant que l\u2019on puisse attribuer une intention de nuire ni identifier un auteur.<br>Calenda est davantage vuln\u00e9rable \u00e0 ce ph\u00e9nom\u00e8ne parce que son moteur de recherche propose une d\u00e9multiplication des combinaisons possibles de ses facettes, ce qui produit des dizaines de milliers d\u2019urls dans lesquelles s\u2019engouffrent les robots.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00c9tait-ce la premi\u00e8re fois qu\u2019une telle attaque avait lieu ? Quels sont les risques li\u00e9s \u00e0 ces attaques ?<\/li>\n<\/ul>\n\n\n\n<p>Au cours des deux derni\u00e8res ann\u00e9es, nous avons r\u00e9guli\u00e8rement subi des vagues similaires mais la pression et la fr\u00e9quence se sont accentu\u00e9es ces six derniers mois.<br>Le risque principal est l&#8217;indisponibilit\u00e9 des plateformes par saturation de nos ressources mat\u00e9rielles.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Quelle strat\u00e9gie avait \u00e9t\u00e9 mise en place jusqu\u2019\u00e0 pr\u00e9sent pour contrer le nombre croissant des requ\u00eates automatiques ill\u00e9gitimes tout en pr\u00e9servant l&#8217;acc\u00e8s ouvert aux contenus ?<\/li>\n<\/ul>\n\n\n\n<p>Jusqu\u2019\u00e0 pr\u00e9sent, notre position \u00e9tait de ne consid\u00e9rer aucune requ\u00eate automatis\u00e9e comme ill\u00e9gitime. Tous nos contenus en acc\u00e8s libre l&#8217;\u00e9taient pour tout type de dispositif. Les diff\u00e9rents niveaux de cache et la mise \u00e0 l\u2019\u00e9chelle progressive de nos ressources mat\u00e9rielles permettaient d\u2019absorber ces usages en suivant une croissance \u00e0 peu pr\u00e8s mesurable.<br>Or, depuis ces derniers mois, nous faisons face \u00e0 une forme d\u2019extractivisme qui ignore totalement la viabilit\u00e9 des ressources exploit\u00e9es.<br>La difficult\u00e9 r\u00e9side dans le fait que la tr\u00e8s grande majorit\u00e9 des requ\u00eates automatis\u00e9es abusives auxquelles nous avons affaire se pr\u00e9sentent comme des requ\u00eates de navigateur, avec des<em> user-agents<\/em> al\u00e9atoires pris parmi les plus commun\u00e9ment utilis\u00e9s et qui proviennent par ailleurs de dizaines de milliers d\u2019IP diff\u00e9rentes. Il est donc pratiquement impossible de diff\u00e9rencier ce trafic des consultations humaines.<br>Jusqu\u2019alors, nous arrivions \u00e0 identifier des rangs d\u2019IP abusives se pr\u00e9sentant comme du trafic humain que nous pouvions rattacher, par exemple, \u00e0 des entreprises de chasse \u00e0 l\u2019infraction au <em>copyright<\/em> et que nous bannissions.<br>D\u2019autre part, le contrat social selon lequel les <em>bots<\/em> \u00e9taient cens\u00e9s se pr\u00e9senter comme tels via leur <em>user-agent<\/em> et prendre en compte le contenu du fichier robots.txt n\u2019est plus du tout respect\u00e9.<\/p>\n\n\n\n<p>De fait, nous avons actuellement affaire \u00e0 deux grands types de requ\u00eates abusives :<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>les requ\u00eates d\u00e9guis\u00e9es en consultation humaine mais provenant probablement, ce n\u2019est qu\u2019une hypoth\u00e8se, de <em>scrappers<\/em> install\u00e9s sur des ordinateurs personnels infect\u00e9s, les IP \u00e9tant g\u00e9n\u00e9ralement affect\u00e9es \u00e0 des fournisseurs d\u2019acc\u00e8s Internet grand public ;<\/li>\n\n\n\n<li>celles provenant de <em>scrappers<\/em> IA destin\u00e9s \u00e0 l&#8217;entra\u00eenement qui s\u2019identifient par leur <em>user-agent<\/em> et dont on conna\u00eet partiellement les IP.<\/li>\n<\/ol>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Qu\u2019apporte le d\u00e9ploiement d\u2019Anubis ?<\/li>\n<\/ul>\n\n\n\n<p>Anubis est d\u00e9ploy\u00e9 en proxy sur nos plateformes, il agit principalement en soumettant un probl\u00e8me math\u00e9matique au moteur javascript du navigateur client. L\u2019op\u00e9ration est rapidement ex\u00e9cut\u00e9e par les navigateurs courants et, lorsque tout se passe bien, le processus est quasiment transparent. En revanche, un robot qui n\u2019ex\u00e9cute pas javascript ou qui ne g\u00e8re pas les cookies ne passe pas ce premier test et n\u2019a donc pas acc\u00e8s au contenu. Ce simple test met \u00e0 la porte plus de 90 % des requ\u00eates automatis\u00e9es d\u00e9guis\u00e9es en activit\u00e9 humaine, c\u2019est simple et tr\u00e8s efficace.<br>Par ailleurs, les moteurs historiques d\u2019indexation ou les partenaires connus ne sont soumis \u00e0 aucun test. Les r\u00e8gles de filtrage sont explicites et totalement configurables selon nos besoins.<br>Le b\u00e9n\u00e9fice est imm\u00e9diatement visible, la pression exerc\u00e9e sur nos plateformes est globalement divis\u00e9e par trois.<br>Il faut saluer le travail de la d\u00e9veloppeuse d\u2019Anubis, Xe Iaso, qui explique tr\u00e8s bien sa <a href=\"https:\/\/www.youtube.com\/watch?v=Evs_e_-vh8A\">d\u00e9marche<\/a>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Est-il possible de diff\u00e9rencier les requ\u00eates de robots malveillants de celles de robots l\u00e9gitimes, utilis\u00e9s par exemple pour des analyses automatiques de corpus sur nos plateformes ?<\/li>\n<\/ul>\n\n\n\n<p>Je parlerais plut\u00f4t de robots nuisibles, les intentions et les int\u00e9r\u00eats de ces pratiques nous \u00e9tant inconnus.<br>Il est tout \u00e0 fait possible d\u2019identifier les robots de partenaires ou de moteurs d\u2019indexation connus sur la base de leurs IP et\/ou <em>user-agents<\/em>, c\u2019est ce que nous faisons.<br>Ce changement de m\u00e9thode de notre part met potentiellement \u00e0 la porte de nombreux usages l\u00e9gitimes dont nous n\u2019avons pas n\u00e9cessairement connaissance, nous r\u00e9glons au cas par cas ce qui nous est communiqu\u00e9.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Contact<\/h2>\n\n\n\n<p>Si vous rencontrez des difficult\u00e9s d\u2019acc\u00e8s aux plateformes suite \u00e0 la configuration d\u2019Anubis, n\u2019h\u00e9sitez pas \u00e0 le signaler \u00e0 l\u2019\u00e9quipe d\u2019OpenEdition : contact[at]openedition[dot]org.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c0 noter<\/h2>\n\n\n\n<p>Une personnalisation de la page g\u00e9n\u00e9r\u00e9e par Anubis lors de la connexion aux sites des plateformes est en cours, elle sera effective dans les prochains jours.<\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Suite \u00e0 un nombre croissant de requ\u00eates automatis\u00e9es, OpenEdition a d\u00e9ploy\u00e9 sur ses plateformes, comme plusieurs de ses partenaires, le logiciel open source Anubis. Bruno C\u00e9nou, responsable du service Administration Syst\u00e8mes \u00e0 OpenEdition, revient sur les&#46;&#46;&#46;<\/p>\n","protected":false},"author":26,"featured_media":25177,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_license":"CC-BY-4.0","publish_to_discourse":"","publish_post_category":"","wpdc_auto_publish_overridden":"","wpdc_topic_tags":"","wpdc_pin_topic":"","wpdc_pin_until":"","discourse_post_id":"","discourse_permalink":"","wpdc_publishing_response":"","wpdc_publishing_error":"","footnotes":""},"categories":[11,4,2270,6562,1604,508105,2285634,1298472,507923,248],"tags":[],"ppma_author":[2286013,2286017],"class_list":["post-25164","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-open-access","category-calenda","category-enjeux","category-hypotheses","category-logiciel-libre","category-openedition-books","category-openedition-journals","category-outils-et-usages","category-sites-et-plateformes","category-technologies"],"authors":[{"term_id":2286013,"user_id":26,"is_guest":0,"slug":"cenou","display_name":"Bruno C\u00e9nou","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/dce2d1a2df438c68a4fb5302b2e294d5547dc09d9b5734c38fe443d5b6cba1ae?s=96&d=mm&r=g","1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""},{"term_id":2286017,"user_id":0,"is_guest":1,"slug":"christina-cantrel","display_name":"Christina Cantrel","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/leo.hypotheses.org\/wp-json\/wp\/v2\/posts\/25164","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/leo.hypotheses.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/leo.hypotheses.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/leo.hypotheses.org\/wp-json\/wp\/v2\/users\/26"}],"replies":[{"embeddable":true,"href":"https:\/\/leo.hypotheses.org\/wp-json\/wp\/v2\/comments?post=25164"}],"version-history":[{"count":5,"href":"https:\/\/leo.hypotheses.org\/wp-json\/wp\/v2\/posts\/25164\/revisions"}],"predecessor-version":[{"id":25199,"href":"https:\/\/leo.hypotheses.org\/wp-json\/wp\/v2\/posts\/25164\/revisions\/25199"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/leo.hypotheses.org\/wp-json\/wp\/v2\/media\/25177"}],"wp:attachment":[{"href":"https:\/\/leo.hypotheses.org\/wp-json\/wp\/v2\/media?parent=25164"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/leo.hypotheses.org\/wp-json\/wp\/v2\/categories?post=25164"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/leo.hypotheses.org\/wp-json\/wp\/v2\/tags?post=25164"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/leo.hypotheses.org\/wp-json\/wp\/v2\/ppma_author?post=25164"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}