ipmideck

安全

你的 BMC 凭据从不离开你的硬件

ipmideck 是为那些读源码而不是信任厂商的人打造的。下面的每一条说法都根植于产品自身的后端代码。不是营销。

跳到安装

数据与账户安全

凭据在静态时加密,登录被哈希,会话被签名。单凭数据库永远不足以进来。

AES-256-CBC

AES-256-CBC 凭据加密

BMC 凭据在静态时用 AES-256-CBC 加密,每个机密配一个随机 IV。加密密钥存于一个独立的密钥文件(data/encryption.key,32 个随机字节,仅所有者可读),从不放进数据库,因此单凭一份被盗的数据库无法解密任何东西。

BCRYPT · HMAC-SHA256

bcrypt 登录 + HMAC-SHA256 签名会话

登录密码用 bcrypt 哈希(每个密码加盐,常数时间校验)。会话令牌用 HMAC-SHA256 签名,每次请求重新校验,并在用户名变更时失效;cookie 是 HttpOnly 且 SameSite=Lax。

EXP-BACKOFF

暴力破解锁定

按用户名锁定,五次失败后采用指数退避(最长一小时),外加防时序泄露的通用错误,让攻击者无法从登录如何失败中学到任何东西。

IPMITOOL

无 shell 的 ipmitool,完全离线

ipmitool 通过参数列表(create_subprocess_exec)调用,从不经过 shell,因此没有命令注入面。整个系统完全离线运行:无遥测、无云、无外部调用。

硬件保护

FanPilot 被设计为安全失效:热限制胜过任何曲线,而控制回路即使在你不看的时候也继续运转。

临界温度处的安全覆盖

在临界温度或更高时风扇被强制到 100%(默认 85°C,可配置)。任何风扇曲线都无法绕过该覆盖。热限制始终获胜。

FanPilot 控制面板,安全阈值设为 85°C,一旦达到该温度风扇即被强制到 100%。FanPilot 控制面板,安全阈值设为 85°C,一旦达到该温度风扇即被强制到 100%。
用滞回阻止来回摆动
一个可配置的滞回余量(默认 3°C)防止风扇在温度限制附近快速上下摆动,让转速变化平滑且可预测。
自主的后台回路
风扇控制运行在一个后台任务里(约 30 秒轮询),即使仪表盘关闭也继续工作。保护不依赖于浏览器标签页是否打开。
非正常关机恢复 + 正常关机
在非正常停机(断电或 kill -9)之后,ipmideck 会恢复 BMC 自身的自动模式,并在检测到服务器离线和传感器过期时自动恢复。一次正常关机会把风扇交还给 BMC 的热管理。

自己来验证

别信我们。读源码。

加密、锁定、安全覆盖:每一项都是真实的后端代码,而不是营销的勾选框。ipmideck 完全离线运行,没有云,没有遥测。

一行安装:

docker
docker run --network host devluigi06/ipmideck:latest
pip
pip install ipmideck