データとアカウントのセキュリティ
資格情報は保存時に暗号化され、ログインはハッシュ化され、セッションは署名されます。データベース だけでは決して侵入には十分ではありません。AES-256-CBC 資格情報暗号化
BMC 資格情報は、シークレットごとにランダムな IV を用いた AES-256-CBC で保存時に暗号化されます。 暗号化キーは別個のキーファイル (data/encryption.key、32 ランダムバイト、所有者のみの権限) にあり、
データベースには決して入らないので、盗まれたデータベースだけでは何も復号できません。
bcrypt ログイン + HMAC-SHA256 署名済みセッション
ログインパスワードは bcrypt でハッシュ化されます (パスワードごとのソルト、定数時間の検証)。 セッショントークンは HMAC-SHA256 で署名され、すべてのリクエストで再検証され、ユーザー名が 変わると無効化されます。Cookie は HttpOnly かつ SameSite=Lax です。ブルートフォースロックアウト
5 回の失敗試行後の指数バックオフ付きのユーザー名ごとのロックアウト (最大 1 時間)、加えて タイミングリークに安全な汎用エラーにより、攻撃者はログインがどのように失敗するかから何も 学べません。シェルなし ipmitool、完全オフライン
ipmitool は引数リスト (create_subprocess_exec) を通じて呼び出され、シェルを通すことは決して
ないので、コマンドインジェクションの面はありません。システム全体が完全にオフラインで実行されます。
テレメトリも、クラウドも、外部呼び出しもありません。
ハードウェア保護
FanPilot はフェイルセーフに作られています。熱限界がどのカーブにも勝ち、制御ループはあなたが 見ていなくても動き続けます。重要温度での安全オーバーライド
ファンは重要温度以上で 100% に強制されます (デフォルト 85°C、設定可能)。どのファンカーブも オーバーライドを上書きできません。熱限界が常に勝ちます。振動を止めるヒステリシス
設定可能なヒステリシスマージン (デフォルト 3°C) により、ファンが温度限界付近で急速に上下に 振動するのを防ぎ、速度変化を滑らかで予測可能に保ちます。自律的なバックグラウンドループ
ファン制御はバックグラウンドタスク (約 30 秒のポーリング) で実行され、ダッシュボードを閉じても 動き続けます。保護はブラウザータブが開いていることに依存しません。異常シャットダウン回復 + 正常なシャットダウン
異常停止 (電源喪失またはkill -9) の後、ipmideck は BMC 自身の自動モードを復元し、サーバー
オフラインと古いセンサーの検出時に自動回復します。正常なシャットダウンは、ファンを BMC の熱管理に
返します。