Выгрузка нераспознанного софта

Консольная команда yii soft-raw/export собирает по всем ОС карточки отпечатков софта, которые не распознались ни одним продуктом из реестра ПО, агрегирует их по паре «издатель + имя» и выгружает в файл.

Зачем: увидеть, чего не хватает в реестре ПО, подготовить материал для пополнения справочника (в перспективе — для отправки на хаб справочников), и отладить фильтр чувствительных данных перед любой передачей наружу.

Использование

yii soft-raw/export unrecognized.json
  • формат по расширению файла: .csv (для Excel) или JSON (по умолчанию);
  • --withComps=1 — добавить примеры имён хостов (--maxHosts=N, по умолчанию 5). Только для локального анализа: такой файл наружу не передаётся;
  • --skipArchived=1 — не учитывать архивированные ОС;
  • --filter=<файл> — взять маски фильтра из файла (вместо параметра конфига) — удобно для итеративного подбора масок;
  • --topPublishers=N — размер сводки по издателям в консоли.

Отпечатки софта собирают только скрипты Windows-инвентаризации, поэтому выгрузка покрывает только виндовый парк.

Фильтр чувствительного

Организация может не хотеть показывать наружу продукты собственной разработки и прочий внутренний софт. Маски фильтра описываются в файле (по regexp-выражению на строку, # — комментарий), путь указывается в params['soft.export_filter']; пример — config/soft-export-filter.example.

Маска применяется к издателю и имени карточки без учёта регистра — семантика та же, что у выражений продуктов ПО. Совпавшие карточки уходят из секции passed в секцию filtered (они остаются в файле — для проверки, что маски не съели лишнего).

Рабочий цикл настройки:

  1. выгрузили (--withComps=1 помогает опознавать, что за софт);
  2. просмотрели сводку по издателям в консоли — самые частые кандидаты на фильтрацию видны сразу;
  3. дописали маску (на этапе подбора — через --filter=<файл>) или завели приватный продукт в реестре ПО;
  4. повторили, пока в passed не останется ничего лишнего;
  5. итоговый файл масок прописали в params['soft.export_filter'].

Заведение приватного продукта — предпочтительный путь: его строки распознаются и сами исчезают из выгрузки, реестр честно отражает парк, а файл масок не разрастается. Маска — временное решение для софта, который ещё не описан продуктом.