La mise en Ɠuvre de l'authentification à deux facteurs dans PyPI a conduit à un incident de suppression d'un package populaire

Les dĂ©veloppeurs du dĂ©pĂŽt de paquets Python PyPI ont publiĂ© un plan de migration vers une authentification Ă  deux facteurs obligatoire pour les paquets classĂ©s comme critiques. La criticitĂ© est dĂ©terminĂ©e par le nombre de tĂ©lĂ©chargements et ce changement sera appliquĂ© aux comptes des mainteneurs et des propriĂ©taires de projets liĂ©s Ă  1 % des paquets les plus tĂ©lĂ©chargĂ©s au cours des 6 derniers mois. Étant donnĂ© que le dĂ©pĂŽt PyPI comprend actuellement plus de 350 000 paquets, l'authentification Ă  deux facteurs sera appliquĂ©e Ă  environ 3 500 paquets. Une page spĂ©ciale a Ă©tĂ© mise en place pour vĂ©rifier si votre compte est concernĂ©. La date exacte de l'activation de l'authentification Ă  deux facteurs obligatoire n'a pas encore Ă©tĂ© dĂ©terminĂ©e, mais il est prĂ©vu que cela se produise dans les mois Ă  venir.

Contrairement Ă  la transition vers l'authentification Ă  deux facteurs des projets RubyGems, NPM et GitHub, PyPI mettra initialement en Ɠuvre un schĂ©ma qui privilĂ©gie l'utilisation de jetons matĂ©riels avec des clĂ©s d'accĂšs. La recommandation d'utilisation des jetons et du protocole WebAuthn est justifiĂ©e par une sĂ©curitĂ© supĂ©rieure par rapport Ă  la gĂ©nĂ©ration de mots de passe Ă  usage unique (la possibilitĂ© d'utiliser TOTP au lieu de jetons sera disponible en option).

Les jetons pourront ĂȘtre obtenus gratuitement — Google a Ă©tĂ© le sponsor de l'initiative et a allouĂ© 4 000 clĂ©s Titan au projet. Chaque mainteneur peut demander deux jetons gratuits avec une interface USB-C ou USB-A. Le deuxiĂšme jeton est envoyĂ© en tant que secours en cas de panne ou de perte du principal, afin de minimiser le risque de perte d'accĂšs au dĂ©pĂŽt et de libĂ©rer les dĂ©veloppeurs de la nĂ©cessitĂ© de passer par un processus compliquĂ© de rĂ©cupĂ©ration d'accĂšs.

Malheureusement, les jetons ne peuvent ĂȘtre expĂ©diĂ©s qu'en Autriche, en Belgique, au Canada, en France, en Allemagne, en Italie, au Japon, en Espagne, en Suisse, au Royaume-Uni et aux États-Unis. Les mainteneurs d'autres pays peuvent acheter eux-mĂȘmes des jetons compatibles avec la spĂ©cification FIDO U2F, tels que les jetons Yubikey et Thetis. En alternative, il est Ă©galement prĂ©vu d'utiliser des applications d'authentification basĂ©es sur des mots de passe Ă  usage unique supportant le protocole TOTP, comme Authy, Google Authenticator et FreeOTP.

L'initiative n'a pas été sans incident. L'auteur du paquet Atomicwrites, qui compte 6 millions de téléchargements par mois et 38 millions en 6 mois, a refusé de passer à l'authentification à deux facteurs et a tenté de faire supprimer son paquet de la liste des paquets critiques en réinitialisant le compteur de téléchargements. Pour ce faire, il a d'abord supprimé le paquet, puis a téléchargé une nouvelle version. On s'attendait à ce que cette manipulation ne réinitialise que le compteur, mais, à la surprise du développeur, toutes les anciennes versions ont également été supprimées du dépÎt, ce qui a entraßné des problÚmes pour les projets dépendants de la bibliothÚque, que certains développeurs ont comparés à l'incident dû à la suppression du paquet left-pad dans NPM.

Le problĂšme a Ă©tĂ© aggravĂ© par le fait qu'aprĂšs la suppression, l'auteur d'atomicwrites n'a pas pu tĂ©lĂ©charger les anciennes versions, qui n'ont pu ĂȘtre restaurĂ©es que le lendemain, aprĂšs l'intervention des administrateurs de PyPI. AprĂšs ce qui s'est passĂ©, l'auteur du paquet a dĂ©cidĂ© d'arrĂȘter le dĂ©veloppement d'atomicwrites et de mettre le paquet dans la catĂ©gorie obsolĂšte. Comme raison, il est mentionnĂ© qu'il dĂ©veloppe le projet comme un hobby pendant son temps libre et que l'Ă©mergence de nouvelles exigences rendant le travail difficile ne justifie pas le temps passĂ© Ă  maintenir gratuitement un paquet aussi populaire. L'auteur d'atomicwrites affirme qu'il prĂ©fĂ©rerait simplement Ă©crire du code pour le plaisir, et que la responsabilitĂ© d'une protection supplĂ©mentaire contre les attaques malveillantes peut ĂȘtre assumĂ©e par ceux qui sont prĂȘts Ă  payer pour cela.

La bibliothĂšque atomicwrites contient environ 200 lignes de code et propose des fonctions pour l'Ă©criture atomique de fichiers. Les appels standards os.replace et os.rename peuvent ĂȘtre utilisĂ©s comme alternatives (l'opĂ©ration consiste Ă  Ă©crire dans un fichier temporaire et Ă  le renommer en fichier cible une fois terminĂ©).

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster