clearNur Transkript; Dateien und Module bleibenGeheimnisse, Sessions und Vertrauen: Nicht jeder Wert gehört in ein Skript
Automatisierung wird gefährlich, wenn jeder nützliche Wert wie harmloser Text behandelt wird. Passwörter, private Schlüssel, Cookies und Authentifizierungszustand brauchen einen anderen Lebenszyklus als Pfade, Bildgrößen oder Tabellennamen.
Den Wert klassifizieren, bevor er automatisiert wird
Ein Pfad, Archivname oder eine Bildbreite ist normale Konfiguration. Passwort, privater Schlüssel, Session-Token oder Datenbank-Zugang kann Zugriff gewähren. Werden beide Wertarten im selben wiederverwendbaren Skript gespeichert, wird das Skript selbst zum Geheimnis.
Vor dem Speichern zwei Fragen stellen: Kann dieser Wert etwas autorisieren? Würde ich diese Datei problemlos in ein anderes Projekt kopieren oder zur Prüfung teilen? Wenn nicht, gehört das Geheimnis nicht ins Rezept.
Die Umgebung lässt sich prüfen, ist aber kein Tresor
Nur den Namespace oder Wert ansehen, der wirklich gebraucht wird. Keine vollständigen Umgebungs-Dumps als Bildschirmaufnahme oder Export verbreiten und eine maskierte Terminalansicht niemals als Freigabe der zugrunde liegenden Serverkonfiguration verstehen.
envenv serverenv requestSessions und Cookies sind Anwendungszustand, kein Notizzettel
Diese Grenze ist wichtig, weil Sitzungsdaten Identität, Berechtigung und temporären Anwendungszustand tragen können. Prüfen Sie gezielt, ändern Sie nur eigene Namensräume und verwenden Sie den Sitzungsspeicher nicht als bequemes Versteck für langfristige Geheimnisse.
ses -lcoocoo -aEin Hash kann Gleichheit beweisen, aber das Original nicht verbergen
Hashen ist keine Verschlüsselung. Stammt der Originalwert aus einer kleinen erratbaren Menge, macht ein Hash ihn nicht vertraulich. Verwenden Sie HMAC, wenn Authentizität von einem geheimen Schlüssel abhängt, und Verschlüsselung, wenn der Inhalt selbst unlesbar bleiben muss.
hash -s "hello terminal"hashVerschlüsselung schützt Inhalt nur, solange auch der Schlüssel geschützt ist
Eine verschlüsselte Datei neben ihrem offengelegten Schlüssel ist kaum geschützt. Schlüssel und verschlüsselte Daten möglichst auf unterschiedliche Vertrauensgrenzen legen, Wiederherstellung vorher verstehen und Entschlüsselung testen, bevor der Klartext gelöscht wird.
encDateisystemrechte begrenzen Zugriff, ersetzen aber keine Kryptografie
Ein Modus wie 0600 bedeutet, dass nur der aktuelle Dateieigentümer normal lesen und schreiben soll. Das ist für lokale Schlüsseldateien und private Exporte sinnvoll, wenn das Hosting UNIX-Modi respektiert.
Rechte schützen nicht vor dem Hosting-Kontoinhaber, Backups oder einem kompromittierten PHP-Prozess. Nach
cd lil-playgroundmd trustecho "example private note" > trust/note.txt -rmod trust/note.txt -0600stat trust/note.txthash trust/note.txtBereinigung, Deinstallation und Zerstörung auseinanderhalten
Diese Aktionen dürfen im Muskelgedächtnis nicht verschwimmen. Vor einer destruktiven Operation die Ebene benennen, die verschwinden soll, und die Dateien, die bleiben sollen. Ein sicherer Terminalnutzer kann den Rollback erklären, bevor Enter gedrückt wird.
uninstall <module>Ein Extension-Modul; Abhängigkeiten geltenkill -includePersistente/Session-CSS- und JavaScript-Schichtkill -installInstallierte Extension-Schicht; Core bleibtkillDie lil-terminal-Installation selbstAls Skript aufbewahren
Speichern Sie dies als trust-checkpoint.lil. Es erzeugt nur Beispieldaten, setzt einen restriktiven Dateimodus, erfasst Metadaten und speichert einen Digest. Entscheidend ist, was bewusst nicht automatisiert wird: Passworteingabe und Entschlüsselungsschlüssel bleiben außerhalb des Skripts.
#lil
@install md echo mod stat hash
cd lil-playground
md trust
echo "example private note" > trust/note.txt -r
mod trust/note.txt -0600
stat trust/note.txt
hash trust/note.txt > trust/note.sha256 -r
stat trust/note.sha256