W PyPI już przygotowują się do uwierzytelniania dwuskładnikowego i początkowo zgłoszono już incydent

Twórcy repozytorium pakietów PyPI Python ujawnione niedawno za pośrednictwem poczty plan przejścia do uwierzytelniania Obowiązkowe dwuskładnikowe dla pakietów krytycznych.

Znaczenie zależy od liczby pobrań, a zmiana zostanie zastosowana do kont opiekunów i właścicieli projektów powiązanych z 1% najlepszych pakietów w ciągu 6 miesięcy według pobrań.

W przeciwieństwie do przejścia na projekty uwierzytelniania dwuskładnikowego RubyGems, NPM i GitHub, PyPI początkowo zaimplementuje schemat, który obejmuje pożądane użycie tokena sprzętowego z kluczami dostępu.

Jako powód do zalecane użycie tokenów i protokołu WebAuthn, wspomina się o wyższym bezpieczeństwie w porównaniu do generowania haseł jednorazowych (możliwość użycia TOTP zamiast tokenów będzie dostępna jako opcja).

Tokeny można otrzymać za darmo, Cóż, Google sponsorowało inicjatywę i przydzieliło 4000 kluczy Titan do projektu. Każdy opiekun może bezpłatnie zażądać dwóch tokenów USB-C lub USB-A. Drugi token jest wysyłany jako kopia zapasowa w przypadku złamania lub utraty głównego tokena, aby zminimalizować ryzyko utraty dostępu do repozytorium i oszczędzić programistom konieczności przechodzenia przez trudną procedurę odzyskiwania.

Niestety, tokeny można wysyłać tylko do Austria, Belgia, Kanada, Francja, Niemcy, Włochy, Japonia, Hiszpania, Szwajcaria, Wielka Brytania i USA.

Towarzysze z innych krajów mogą kupować samodzielnie Tokeny kompatybilne z FIDO U2F, takie jak tokeny Yubikey i Thetis. Alternatywnie zamiast tokena można również użyć jednorazowych aplikacji uwierzytelniających opartych na hasłach, które obsługują protokół TOTP, takich jak Authy, Google Authenticator i FreeOTP.

Inicjatywa nie obyła się bez incydentów.Ponieważ autor pakietu Atomicwrites, który ma 6 mln pobrań miesięcznie i 38 mln w 6 miesięcy, nie chciałem przełączyć się na uwierzytelnianie dwuczynnikowy i próbowałem zresetować licznik pobierania aby wykluczyć paczkę z listy krytycznej.

Zrestartować, najpierw usunąłem pakiet, a następnie pobrałem nową wersję, do tego momentu on Spodziewałem się, że taka manipulacja tylko zresetuje licznik, ale ku zaskoczeniu programistów wszystkie stare wersje zostały również usunięte z repozytorium, co doprowadziło do problemów dla projektów zależnych od bibliotek, które niektórzy programiści porównali do incydentu związanego z usunięciem pakietu z lewego panelu w NPM.

Problem pogłębiał fakt, że po usunięciu autor atomicwrites nie mógł pobrać starych wersji, które zostały przywrócone dopiero następnego dnia po interwencji administratorów PyPI.

Po incydencie autor pakietu postanowił przestać rozwijać atomicwrites i odrzuć pakiet. Powodem jest to, że w wolnym czasie rozwija projekt hobbystycznie, a dodatkowe wymagania komplikujące pracę nie rekompensują czasu poświęconego na bezpłatne utrzymanie tak popularnego pakietu.

Autor atomicwrites przekonuje, że wolałby po prostu pisać kod dla zabawy, a dodatkową ochronę przed przejęciem przez hakerów można zapewnić, gdy za to zapłacisz.

Biblioteka atomicwrites zawiera około 200 wierszy kodu i udostępnia funkcje do atomowego zapisywania plików. Jako zamiennik możesz użyć zwykłych wywołań os.replace i os.rename (operacja sprowadza się do zapisania do pliku o tymczasowej nazwie i zmiany nazwy pliku docelowego, gdy jest gotowy).

Z ponad 350 000 pakietów znajdujących się obecnie w repozytorium PyPI, uwierzytelnianie dwuskładnikowe zostanie zastosowane do około 3500 pakietów. Przygotowana została specjalna strona sprawdzająca, czy dane konto znajduje się na liście. Dokładna data włączenia obowiązkowego uwierzytelniania dwuskładnikowego nie została jeszcze ustalona, ​​oczekuje się, że nastąpi to w nadchodzących miesiącach.

W końcu jeśli chcesz dowiedzieć się więcej na ten temat, możesz sprawdzić szczegóły w następujący link.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.