Инвентаризация активов
Страница: 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. Как активы попадают внутрь
Три способа, все ведут в одну инвентаризацию:
- Вручную — New asset на странице Assets (
assets.manage). - CSV-импорт — Import CSV (
assets.import) массово загружает активы из файла. - Синхронизация из интеграции — страница 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) — эталонный фид и
синхронизируется двусторонне:
- Установите NetBox Assets из Marketplace.
- Настройте URL NetBox + API-токен в Settings → Connectors.
- Создайте источник синхронизации активов с командой
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 строками и пишут по одной
записи аудита на операцию.