> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ipmideck.com/llms.txt
> Use this file to discover all available pages before exploring further.

# セキュリティ

> ここでのすべてのセキュリティの主張は、マーケティングではなく ipmideck 自身のバックエンドコードに基づいています。

ipmideck は、ベンダーを信頼するのではなくソースを読む人々のために作られています。下記の主張は
製品のバックエンドコードに基づいています。

## データとアカウントのセキュリティ

資格情報は保存時に暗号化され、ログインはハッシュ化され、セッションは署名されます。データベース
だけでは決して侵入には十分ではありません。

### 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 の熱管理に
返します。
