Разработчиците на хранилището на пакети PyPI Питон направени известни наскоро чрез публикация пътна карта за прехода към удостоверяване Задължителен двуфактор за критични пакети.
Важността се определя от броя на изтеглянията и промяната ще се приложи към акаунтите на поддържащите и собствениците на проекти, свързани с най-добрите 1% от пакетите за 6 месеца по изтегляния.
За разлика от прехода към проектите за двуфакторна автентификация на RubyGems, NPM и GitHub, PyPI първоначално ще приложи схема, която включва желаното използване на хардуерен токен с ключове за достъп.
Като причина за препоръчителната употреба на токени и протокола WebAuthn, се споменава по-висока сигурност в сравнение с генерирането на еднократни пароли (възможността за използване на TOTP вместо токени ще бъде налична като опция).
Токените могат да бъдат получени безплатно, Е, Google спонсорира инициативата и отдели 4000 ключа Titan за проекта. Всеки поддържащ може да поиска два USB-C или USB-A токена безплатно. Вторият токен се изпраща като резервно копие, в случай че основният токен е счупен или изгубен, за да се сведе до минимум рискът от загуба на достъп до хранилището и да се спаси разработчиците от необходимостта да преминат през трудна процедура за възстановяване.
За съжаление, токените могат да се изпращат само до Австрия, Белгия, Канада, Франция, Германия, Италия, Япония, Испания, Швейцария, Великобритания и САЩ.
Придружителите от други страни могат да купуват независимо FIDO U2F съвместими токени като Yubikey и Thetis токени. Като алтернатива е възможно също да се използват приложения за удостоверяване, базирани на еднократна парола, които поддържат протокола TOTP, като Authy, Google Authenticator и FreeOTP, вместо токен.
Инициативата не мина без инциденти.Защото авторът на пакета Atomicwrites, който има 6 милиона изтегляния на месец и 38 милиона за 6 месеца, не искаше да премине към удостоверяване двуфакторен и се опита да нулира брояча за изтегляне за да изключите вашия пакет от критичния списък.
За да рестартирате, първо премахна пакета и след това изтегли новата версия, до този момент той Очаквах, че подобна манипулация само ще нулира брояча, но за изненада на разработчика, всички стари версии също бяха премахнати от хранилището, което доведе до проблеми за зависими от библиотеката проекти, което някои разработчици оприличиха на инцидента в резултат на премахването на пакета от левия панел в NPM.
Проблемът се утежнява от факта, че след отстраняването, авторът на atomicwrites не успя да изтегли старите версии, които не бяха възстановени до следващия ден след намесата на администраторите на PyPI.
След инцидента, авторът на пакета реши да спре разработването на atomicwrite и отхвърлете пакета. Посочената причина е, че той развива проекта като хоби в свободното си време и допълнителните изисквания, които усложняват работата, не компенсират времето, изразходвано за безплатна поддръжка на така популярния пакет.
Авторът на atomicwrites твърди, че би предпочел просто да напише код за забавление и че може да се погрижи за допълнителна защита срещу отвличане от нападатели, когато платите за това.
Библиотеката atomicwrites съдържа около 200 реда код и предоставя функции за атомно писане на файлове. Като заместител можете да използвате обикновените извиквания os.replace и os.rename (операцията се свежда до запис във файл с временно име и преименуване на целевия файл, когато е готов).
С над 350 000 пакета в момента в хранилището на PyPI, двуфакторна автентификация ще бъде приложена към приблизително 3500 пакета. Подготвена е специална страница за проверка дали даден акаунт е включен в списъка. Точната дата за включването на задължителната двуфакторна автентификация все още не е определена, очаква се това да стане в следващите месеци.
Накрая ако се интересувате да научите повече за това, можете да проверите подробностите в следваща връзка.