ДокументацияGRC2. Инвентаризация активов

Инвентаризация активов

Страница: Inventory → Assets (/assets). Права: assets.view для чтения; assets.manage для изменения; assets.import для CSV; assets.sync для синхронизации из интеграций.

2.1. Что такое актив

Актив — это всё, чем вы хотите управлять: хост, сервер, облачный ресурс, пользователь, сетевой сегмент. У каждого актива есть критичность (critical / high / medium / low), статус (active / inactive), поля владения, опциональные теги и один или несколько идентификаторов.

2.2. Список активов

Список Assets использует общую панель GRC-списков (см. раздел 4.1): фильтры в URL, опциональные колонки, сохранённые виды и массовые действия. Элементы управления:

  • Поиск (Search any field: name, identifier, owner, system…) охватывает каждое человекочитаемое поле — имя, описание, владение включая имя/email контакта-владельца, бизнес-юнит, локацию, идентификаторы и имена систем, к которым относится актив.
  • Фильтры: Type, Criticality, Status, Owner, System.
  • Кнопки New asset и Import CSV (под правами).

Клик по имени актива открывает его страницу детали (/assets/:id) с вкладками: Overview, Identifiers, Cases, Groups и — где применимо — Risk trend.

2.3. Идентификаторы и идентичность

Идентификаторы — это ядро идентичности инвентаризации. Каждый — это пара (kind, value), например hostname, ipv4, serial_number, нормализованная и уникальная в пределах тенанта, поэтому один хост никогда не дублируется. Именно по идентификаторам автосопоставление разрешает кейс (см. 2.7); платформа никогда не изобретает идентификатор из входных данных алерта — она лишь сопоставляет с уже записанными.

2.4. Контакты и владельцы

Страница: Inventory → Contacts (/grc/contacts). Владельцы активов часто не являются пользователями платформы (владелец системы, руководитель отдела), поэтому владельцы берутся из отдельной директории контактов, а не из списка пользователей. Карточка контакта содержит: Full name, Email, Phone, Telegram, Job title, Department, Notes и произвольное число Other channels (свободный список type → value, например Slack → …).

  • Управляйте контактами на странице Contacts: создание, редактирование, поиск (Search by name or email), удаление. Контакт, всё ещё владеющий активами, удалить нельзя — вы получите «The contact still owns assets — reassign them first».
  • В форме актива выберите владельца селектором контакта; можно быстро создать новый контакт прямо там, не покидая форму.
  • Строка Owner на детали актива отрисовывает всю карточку со ссылками mailto: / tel: / t.me.

Права: контакты живут в контексте активов и переиспользуют assets.view / assets.manage (отдельного права на контакты нет).

2.5. Группы активов (теги)

Страница: Inventory → Asset Tags (/grc/asset-groups). Группы — это лёгкие теги/коллекции активов, способ нарезать инвентаризацию (например, «PCI scope», «Domain controllers»). Управление под assets.manage.

2.6. Как активы попадают внутрь

Три способа, все ведут в одну инвентаризацию:

  1. ВручнуюNew asset на странице Assets (assets.manage).
  2. CSV-импортImport CSV (assets.import) массово загружает активы из файла.
  3. Синхронизация из интеграции — страница Asset Sync тянет из коннектора (см. 2.8).

2.7. Автосопоставление кейс↔актив и гейт внутренних сетей

Когда кейс поступает, платформа разрешает индикаторы инцидента (имена хостов и IP из custom_fields / контекстных пространств имён) против известных идентификаторов активов и автоматически связывает совпавшие активы. Ключевые правила:

  • Сопоставление разрешает только против существующих идентификаторов и никогда не создаёт актив автоматически — это свойство безопасности, не позволяющее IP внешнего атакующего стать активом инвентаризации.
  • Каждая связь записывает направление (source / target / observed), выведенное из поля, по которому произошло совпадение. Направление — подсказка о роли в инциденте; оно ортогонально владению: внутренний хост может быть одновременно собственным активом и source атаки.
  • Гейт собственных/внутренних IP (grc.internal_networks + RFC1918) отбрасывает внешние IOC-IP, поэтому автосвязываются только ваши адресные пространства. Внутренний атакующий всё равно связывается и повышает собственный риск.
  • Автосопоставление включается флагом grc.asset_match_enabled (см. раздел 10).

Активы к кейсу всегда можно связать/отвязать вручную (assets.manage); ручные связи никогда не затираются автосопоставлением.

2.8. Синхронизация из интеграций

Страница: Inventory → Asset Sync (/grc/asset-sync). Право: assets.sync. Источник синхронизации тянет строки активов из коннектора по расписанию через декларативный mapping, который разрешает каждую строку в update-or-create; конфликты записываются, никогда не сливаются, а актив, исчезнувший из источника, помечается inactive, а не удаляется.

Встроенный коннектор NetBox Assets (netbox_assets) — эталонный фид и синхронизируется двусторонне:

  1. Установите NetBox Assets из Marketplace.
  2. Настройте URL NetBox + API-токен в Settings → Connectors.
  3. Создайте источник синхронизации активов с командой netbox-list-devices (или netbox-list-vms) и mapping такого вида:
{
  "identifiers": [
    {"kind": "hostname",      "path": "name"},
    {"kind": "ipv4",          "path": "primary_ip"},
    {"kind": "serial_number", "path": "serial"}
  ],
  "items": [
    {"path": "name",          "attr": "name"},
    {"path": "site",          "attr": "environment"},
    {"path": "netbox_status", "attr": "status"}
  ]
}

NetBox остаётся источником истины. Push-команды (netbox-update-device/-vm, netbox-add-journal-entry, netbox-assign-tag/-remove-tag) пишут только операционное состояние — статус, комментарии, кастомные поля, теги и записи журнала — и никогда не создают и не удаляют устройство. Вызывайте netbox-add-journal-entry из плейбука, чтобы оставить нативный аудит-след в NetBox (например, «SOARForge: host isolated, case #123»).

2.9. Массовые действия над активами

Выберите строки, чтобы действовать сразу над многими. В списке Assets можно массово задать criticality, status и owner и добавить тег к выбору. Добавление тега дописывает (никогда не заменяет существующие теги). Массовые правки требуют assets.manage, ограничены 100 строками и пишут по одной записи аудита на операцию.