Перейти к основному содержанию
ipmideck создан для людей, которые читают исходный код, а не доверяют производителю. Утверждения ниже основаны на коде бэкенда продукта.

Безопасность данных и учётных записей

Учётные данные шифруются в покое, входы хешируются, а сессии подписываются, одной только базы данных никогда не достаточно, чтобы войти.

Шифрование учётных данных AES-256-CBC

Учётные данные BMC шифруются в покое с помощью AES-256-CBC и случайного IV на каждый секрет. Ключ шифрования находится в отдельном файле ключа (data/encryption.key, 32 случайных байта, права доступа только для владельца), никогда в базе данных, поэтому одна украденная база данных не может ничего расшифровать.

Входы bcrypt + сессии, подписанные HMAC-SHA256

Пароли входа хешируются с помощью bcrypt (соль на каждый пароль, проверка за постоянное время). Токены сессий подписываются с помощью HMAC-SHA256, повторно проверяются при каждом запросе и аннулируются, когда имя пользователя меняется. Куки имеют HttpOnly и SameSite=Lax.

Блокировка при переборе

Блокировка по имени пользователя с экспоненциальной задержкой после пяти неудачных попыток (до часа), плюс безопасные к утечкам по времени обобщённые ошибки, чтобы атакующий ничего не узнал из того, как происходит сбой входа.

ipmitool без оболочки, полностью офлайн

ipmitool вызывается через список аргументов (create_subprocess_exec), никогда через оболочку, поэтому нет поверхности для внедрения команд. Вся система работает полностью офлайн: без телеметрии, без облака, без внешних вызовов.

Защита оборудования

FanPilot создан для безопасного отказа: тепловые пределы побеждают любую кривую, и цикл управления продолжает работать, даже когда вы не наблюдаете.

Защитное переопределение при критической температуре

Вентиляторы принудительно устанавливаются на 100% при достижении критической температуры или выше (по умолчанию 85°C, настраивается). Никакая кривая вентиляторов не может переопределить переопределение, тепловой предел всегда побеждает.

Гистерезис для остановки колебаний

Настраиваемый запас гистерезиса (по умолчанию 3°C) предотвращает быстрые колебания вентиляторов вверх и вниз вокруг предела температуры, сохраняя изменения скорости плавными и предсказуемыми.

Автономный фоновый цикл

Управление вентиляторами работает в фоновой задаче (опрос ~30с), которая продолжает работать с закрытой панелью, защита не зависит от открытой вкладки браузера.

Восстановление после некорректного завершения + корректное завершение

После некорректной остановки (потеря питания или kill -9) ipmideck восстанавливает собственный авторежим BMC, и автоматически восстанавливается при обнаружении сервера офлайн и устаревших датчиков. Чистое завершение возвращает вентиляторы тепловому управлению BMC.