Перейти к содержимому

Synology DSM

Входит через собственный Web API Synology (SYNO.API.Auth), затем читает SYNO.DSM.Info для получения версии, используя полученную сессию — единственная HTTP-проба в enodia, которой нужен настоящий шаг входа, а не статический credential.

targets:
- id: nas-main
product: synology-dsm
address: https://nas.example.com:5001
credentials: synology-admin

Аутентификация — обязательна, username и password

Заголовок раздела «Аутентификация — обязательна, username и password»
credentials:
synology-admin:
kind: password
username: enodia-ro
password: "${SYNOLOGY_PASSWORD}"

Подтверждено вживую: SYNO.DSM.Info всегда отвечает {"error":{"code":119}} («нет сессии») без session id и, если включена защита CSRF, без SynoToken — ни то, ни другое нельзя получить без предварительного вызова метода входа SYNO.API.Auth с реальным аккаунтом и паролем. Это заметно более лёгкий случай, чем полноценный вход через HTML-форму: обычный JSON API, принимающий username/password как обычные параметры и возвращающий session id как обычное поле JSON, без cookie-jar и без вычитывания CSRF-токена со страницы. За чтением версии следует best-effort logout, чтобы сборы данных не накапливали открытые сессии на NAS от запуска к запуску.

Ошибки аутентификации здесь вообще не используют HTTP-коды статуса: любой вызов Web API Synology отвечает 200 даже при неудаче, с success: false в теле — подтверждено вживую, поэтому эта проба проверяет тело, а не код статуса, чтобы обнаружить отклонённый вход.

  • version — разобрано из формы "DSM <version> Update <n>" поля version_string, например "DSM 7.3.2-86009 Update 4" → 7.3.2-86009
  • extra.update — номер Update (4), начиная с 2.2, если он есть в строке; хранится отдельно от version, чтобы drift и lifecycle по-прежнему сравнивали сам релиз

Сверяется с NVD и БДУ ФСТЭК, если настроен блок cve:. Начиная с 2.2. Релиз DSM — это версия, сборка и Update (7.2.1-69057 Update 6), а базы ограничивают его как 7.2.1-69057-6; version и extra.update пробы для сверки сводятся к одной сравнимой версии. Инвентарь, собранный до 2.2, не содержит extra.update и читается как Update 0 — исправленные Update могут быть помечены, но ни один не будет пропущен. Диапазоны БДУ по веткам по-прежнему дают лишние находки на более старых ветках (у NVD такого нет) — см. Dell iDRAC и Synology DSM и Известные ограничения.

Отсутствует — у endoflife.date нет календаря ни под synology-dsm, ни под synology или dsm (подтверждено 404). Пока только инвентаризация.