Как автоматизировать сканирование инфраструктуры?

Вопрос: как автоматизировать сканирование инфраструктуры на уязвимости?

Линия поддержки
Линия поддержки Ответы на вопросы пользователей
9 октября 2026

Cron плюс API, импорт IP и подсетей, автоматический переход между этапами, удаление ассетов через SQL.

Изображение записи

Комментарий пользователя

У нас около сорока хостов, но сканирую я их руками. Обычно перед аудитом, то есть раз в квартал. Понятно, что это не сканирование, а самоуспокоение: между проверками полгода никто ничего не смотрит. Хочу настроить так, чтобы это происходило само и я получал готовый отчет. Сканер-ВС есть, API вроде бы тоже. С чего начать и из чего вообще должна состоять такая схема?

Артём Нарсонов системный администратор

Ответ специалиста

Здравствуйте, Артём!

Схема собирается из трех частей: cron для запуска по расписанию, скрипт и API Сканер-ВС для управления процессом. Список проверяемых адресов следует держать отдельно от скрипта. Это дает возможность менять состав проверяемой инфраструктуры, не трогая код, причем на любом этапе работы — логику это не ломает.

Важная деталь — cron только запускает скрипт, самими этапами сканирования он не управляет.

На старте скрипт загружает JSON-файл со списком IP-адресов и подсетей, создает для них ресурсы и сохраняет полученные идентификаторы:


      ...
clients = load_client_list(client_list_file)
for client in clients:
    client_ip = client.get("ip")
    id_asset = client.get("id_asset")
    if id_asset:
        print(f" Asset для IP: {client_ip} уже существует (ID Asset: {id_asset}). Пропускаем.")
        continue
    id_asset = create_asset(auth_cookies, client_ip)
    if id_asset:
        client["id_asset"] = id_asset
save_client_list(client_list_file, clients)
...

Обратите внимание на continue: если ресурс уже создан, он не перезаписывается, а пропускается. Файл со списком становится хранилищем состояния для всего конвейера — к этому мы еще вернемся.

  • Антон Дятлов

    Антон Дятлов

    Инженер по защите информации

Далее адреса группируются по имени, и для каждой отдельной инфраструктуры или клиента создается сетевое сканирование. После его завершения запускается поиск уязвимостей, затем формируется отчет. Cron не управляет этапами сканирований и нужен только для запуска скрипта.

Отдельная тема — что произойдет, если cron запустит скрипт, пока предыдущее сканирование еще идет. Разбираю это в ответе на вопрос. Подробно разобрал этот сценарий в ответе на вопрос «Как запускать сканирование по расписанию».