Die Einführung der Zwei-Faktor-Authentifizierung in PyPI führte zu einem Vorfall, bei dem ein beliebtes Paket gelöscht wurde.

Die Entwickler des Python-Paket-Repositorys PyPI haben einen Plan zur Einführung der verpflichtenden Zwei-Faktor-Authentifizierung für Pakete veröffentlicht, die als kritisch eingestuft werden. Die Kritikalität wird anhand der Anzahl der Downloads bestimmt, und die Änderung betrifft die Konten von Betreuern und Eigentümern von Projekten, die mit den 1 % der am häufigsten heruntergeladenen Pakete der letzten 6 Monate verbunden sind. Da das PyPI-Repository derzeit über 350.000 Pakete umfasst, wird die Zwei-Faktor-Authentifizierung für etwa 3.500 Pakete angewendet. Um zu überprüfen, ob Ihr Konto auf der Liste steht, wurde eine spezielle Seite vorbereitet. Das genaue Datum für die Einführung der verpflichtenden Zwei-Faktor-Authentifizierung steht noch nicht fest, es wird jedoch angenommen, dass dies in den kommenden Monaten geschehen wird.

Im Gegensatz zur Einführung der Zwei-Faktor-Authentifizierung bei RubyGems, NPM und GitHub wird in PyPI von Anfang an ein Schema implementiert, das die Verwendung eines Hardware-Tokens mit Zugriffsschlüsseln empfiehlt. Der Grund für die empfohlene Nutzung von Tokens und des WebAuthn-Protokolls ist die höhere Sicherheit im Vergleich zur Generierung von Einmalpasswörtern (die Möglichkeit, TOTP anstelle von Tokens zu verwenden, wird optional zur Verfügung stehen).

Tokens können kostenlos erhalten werden – Google unterstützt die Initiative und stellt 4000 Titan-Schlüssel für das Projekt zur Verfügung. Jeder Begleitperson kann einen Antrag auf kostenloser Erhalt von zwei Tokens mit USB-C- oder USB-A-Anschluss stellen. Der zweite Token wird als Backup verschickt, falls der primäre Token ausfällt oder verloren geht, um das Risiko eines Zugriffsverlusts auf das Repository zu minimieren und die Entwickler von der notwendigen, komplizierten Wiederherstellungsverfahren zu befreien.

Leider können die Token nur nach Österreich, Belgien, Kanada, Frankreich, Deutschland, Italien, Japan, Spanien, in die Schweiz, das Vereinigte Königreich und die USA versendet werden. Begleitpersonen aus anderen Ländern haben die Möglichkeit, kompatible FIDO U2F-Token zu erwerben, wie beispielsweise Yubikey und Thetis. Alternativ können auch Anwendungen zur Authentifizierung basierend auf Einmalpasswörtern verwendet werden, die das TOTP-Protokoll unterstützen, wie Authy, Google Authenticator und FreeOTP.

Die Initiative blieb nicht ohne Zwischenfälle. Der Autor des Pakets Atomicwrites, das monatlich 6 Millionen Downloads und in 6 Monaten insgesamt 38 Millionen Downloads verzeichnet, wollte nicht auf eine Zwei-Faktor-Authentifizierung umsteigen. Um sein Paket aus der Liste der kritischen Pakete zu entfernen, versuchte er, den Download-Zähler zurückzusetzen. Dazu löschte er zuerst das Paket und lud dann eine neue Version hoch. Es wurde erwartet, dass diese Manipulation lediglich den Zähler zurücksetzt, aber zu Überraschung des Entwicklers wurden auch alle alten Versionen aus dem Repository gelöscht, was zu Problemen bei den von der Bibliothek abhängigen Projekten führte, die von einigen Entwicklern mit dem Vorfall im Zusammenhang mit dem Löschen des Pakets left-pad in NPM verglichen wurden.

Das Problem verschärfte sich, da der Autor von atomicwrites nach der Löschung keine alten Versionen mehr laden konnte. Diese konnten erst am nächsten Tag nach Intervention der PyPI-Administratoren wiederhergestellt werden. Nach dem Vorfall entschloss sich der Paket-Autor, die Entwicklung von atomicwrites einzustellen und das Paket als veraltet zu kennzeichnen. Als Grund wird angeführt, dass er das Projekt in seiner Freizeit als Hobby betreibt und zusätzliche Anforderungen, die die Arbeit erschweren, nicht den Aufwand rechtfertigen, der für die kostenlose Wartung eines so beliebten Pakets erforderlich ist. Der Autor von atomicwrites erklärt, dass er es vorziehen würde, einfach zur Unterhaltung Code zu schreiben, und dass die Verantwortung für zusätzlichen Schutz vor Angriffen von Dritten übernommen werden kann, wenn dafür bezahlt wird.

Die Bibliothek atomicwrites umfasst etwa 200 Zeilen Code und bietet Funktionen für atomare Dateioperationen. Als Alternative können die Standardaufrufe os.replace und os.rename verwendet werden (der Vorgang besteht darin, in eine temporäre Datei zu schreiben und diese dann nach Fertigstellung in die Zieldatei umzubenennen).

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster