clear表示履歴だけ。ファイルとモジュールは残る秘密情報、セッション、信頼:すべての値をスクリプトに入れない
便利な値をすべて単なる文字列として扱うと、自動化は危険になります。パスワード、秘密鍵、Cookie、認証状態は、パスや画像サイズ、テーブル名とは異なる扱いが必要です。
自動化する前に値を分類する
パス、アーカイブ名、画像幅は通常の設定値です。パスワード、秘密鍵、セッショントークン、データベース認証情報はアクセス権につながります。両方を同じ再利用スクリプトへ入れると、そのスクリプト自体が秘密情報になります。
値を保存する前に二つ問いかけます。この値は何かを認可できるか。このファイルを別プロジェクトへコピーしたり確認のため共有したりしても平気か。答えが「いいえ」なら、秘密情報は手順の外に置きます。
環境情報は確認に使うもので、秘密情報の保管庫ではない
必要な名前空間や値だけを確認します。環境全体の出力をスクリーンショットやエクスポートに残さず、値がマスクされているからといって実際のサーバー設定を公開しないでください。
envenv serverenv requestセッションとCookieはアプリケーション状態であり、メモ帳ではない
セッションデータには識別情報、認可、一時的なアプリケーション状態が含まれ得るため、この境界は重要です。狭く確認し、自分が所有する名前空間だけを変更し、長期秘密情報の隠し場所としてセッション保存領域を使わないようにします。
ses -lcoocoo -aハッシュは同一性を確認できても、元データを隠せない
ハッシュ化は暗号化ではありません。元の値が小さく推測しやすい集合から来るなら、ハッシュだけで機密性は得られません。真正性を秘密鍵に結び付ける必要があるときは HMAC、内容自体を読めなくする必要があるときは暗号化を使います。
hash -s "hello terminal"hash暗号化が内容を守れるのは、鍵も守られている間だけ
暗号化済みファイルと露出した鍵を同じ場所に置いても十分な保護にはなりません。可能なら鍵と暗号化済みデータを異なる信頼境界に置き、復旧方法を理解し、平文の元データを削除する前に実際に復号できることを確認します。
encファイルシステム権限はアクセスを減らすが、暗号技術の代わりではない
0600 のようなモードは、通常の読み書きを現在のファイルシステム所有者だけに限定する意図を示します。ホスティングファイルシステムがUNIX のアクセスモードを尊重する環境では、ローカルの鍵ファイルや非公開エクスポートに有用です。
権限はホスティングアカウント所有者、バックアップ、侵害されたPHP プロセスからデータを守れません。
cd lil-playgroundmd trustecho "example private note" > trust/note.txt -rmod trust/note.txt -0600stat trust/note.txthash trust/note.txt片付け、アンインストール、完全削除を区別する
これらを同じ手癖にしないでください。破壊的な操作の前に、どの層を消すのか、どのファイルは残るべきかを言葉にします。安全な操作とは、実行する前に復旧手順を説明できる操作です。
uninstall <module>拡張モジュール一つ。依存関係の規則が適用されるkill -include永続/セッション CSS・JavaScript 層kill -installインストール済み拡張層。Coreは残るkilllil-terminal のインストールそのものスクリプトとして残す
これを trust-checkpoint.lil として保存します。練習用データだけを作り、厳しいファイルモードを適用し、メタデータとダイジェストを記録します。意図的に自動化しないものにも注目してください。パスワード入力と復号鍵はスクリプトの外に残します。
#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