Heim >Backend-Entwicklung >PHP-Tutorial >Eine kleine Katastrophe, viel Motivation: Aufbau eines CLI Secret Managers

Eine kleine Katastrophe, viel Motivation: Aufbau eines CLI Secret Managers

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-05 22:54:12446Durchsuche

Reden wir also über ein kleines Missgeschick, das zu einer großen Motivation wurde. Mein glänzendes neues MacBook Pro M3, frisch aus der Verpackung, beschloss nach einem routinemäßigen Software-Update, sich selbst kaputt zu machen. Stichwort dramatische Musik. Und damit gingen alle meine wertvollen Daten verloren, einschließlich dieser lästigen Geheimnisse wie API-Schlüssel, SSH-Schlüssel und persönliche Shell-Skripte. Das Schlimmste? Ein kritischer Produktionseinsatz stand nur noch zwei Tage bevor.

Der Dominoeffekt verlorener Geheimnisse

Da meine Geheimnisse verschwunden waren, musste ich mich an verschiedene Teams und Abteilungen wenden, um neue zu erhalten. Leider dauerte dieser Prozess in der Unternehmenswelt länger als erwartet. Die Verzögerungen bei der Beschaffung dieser wichtigen Schlüssel führten letztendlich zur Verschiebung des Einsatzes.

Warum ein CLI Secret Manager?

Dieser Vorfall zwang mich, meine Geheimverwaltungsstrategie zu überdenken. Klar, ich hätte die Geheimnisse einfach komprimieren und auf Google Drive, OneDrive oder S3 werfen können. Aber seien wir ehrlich, das ist ein großes Sicherheitsrisiko:

  • Unberechtigter Zugriff: Wenn jemand Zugriff auf Ihr Cloud-Speicherkonto erhält, könnte er möglicherweise an Ihre vertraulichen Daten gelangen.
  • Datenschutzverletzungen: Cloud-Speicheranbieter sind zwar im Allgemeinen sicher, aber nicht immun gegen Datenschutzverletzungen.

Das Archiv mit einem Passwort zu schützen ist eine Option, aber ich bin zu faul dafür. Die Nutzung eines Drittanbieterdienstes wie LastPass ist eine weitere Möglichkeit, erfordert jedoch manuelle Aktualisierungen und Verwaltung; schon wieder faul.

Es gibt auch native Anwendungen, die eine automatische Synchronisierung bieten, aber seien wir ehrlich, die kostenlosen sind entweder schlecht gewartet oder bieten ein schlechtes Benutzererlebnis. Und die bezahlten? Pfft, bitte.

Auch wenn es eines gibt, das alle meine Anforderungen erfüllt, konnte ich als Softwareentwickler dem Drang nicht widerstehen, mein eigenes zu entwickeln. etwas, das ich steuern und anpassen konnte. Also habe ich beschlossen, meinen eigenen CLI-Geheimmanager zu erstellen.

Was ist der Plan?

Ich erstelle eine CLI-Anwendung, mit der ich Folgendes tun kann:

  • Speichern:Verwendung starker Verschlüsselung und sicherer Speichermechanismen.
  • Abrufen: Mit einfachen Befehlen, um auf die Geheimnisse zuzugreifen, die ich brauche.
  • Verwalten: Geheimnisse ganz einfach hinzufügen, entfernen und aktualisieren.
  • Synchronisierung:Stellen Sie Konsistenz auf mehreren Maschinen sicher.
  • Teilen:Teilen Sie Geheimnisse mithilfe asymmetrischer Schlüssel sicher mit anderen.

Ich habe PHP und Laravel Zero als Technologie-Stack für dieses Projekt ausgewählt. Warum PHP, fragen Sie? Nun ja, es ist eine Sprache, die ich mehr liebe als meine Ex, an der ich immer noch hängengeblieben bin, aber zumindest bin ich nicht an Python hängengeblieben. Und Laravel ist ein grundsolides Framework. Um die Anwendung einem breiteren Publikum zugänglich zu machen, werde ich versuchen, mit static-php-cli und box-project eine eigenständige Binärdatei zu erstellen.

Bleiben Sie dran für mehr

Ich werde regelmäßig Updates zum Entwicklungsprozess teilen, einschließlich Herausforderungen, Lösungen und Best Practices. Ich werde das Projekt auch auf GitHub veröffentlichen, sobald es fertig ist, sodass Sie es selbst beitragen oder verwenden können.

Also schnall dich an und begleite mich auf dieser aufregenden Reise, während ich einen leistungsstarken (?) und sicheren CLI-Geheimnismanager aufbaue.

A Little Bit of a Disaster, A Lot of Motivation: Building a CLI Secret Manager

Das obige ist der detaillierte Inhalt vonEine kleine Katastrophe, viel Motivation: Aufbau eines CLI Secret Managers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn