Docs
Личный кабинетЛК

Agent Linux


Описание

Модуль agent/linux позволяет на OC Linux провести сканирование агентом , в режиме без установки. Подробнее про агент можно почитать в соответствующей документации (см. Об агенте)

Данный модуль производит следующие операции:

  • Открывает сетевое соединение с целевым хостом по протоколу SSH (22 порт).
  • Проверяет существование агента на хосте, если он есть - сверяет его версию с текущей. Если агент не требует обновления, то копирования агента по сети можно избежать.
  • Копирует (если необходимо) и запускает на нем агента для выполнения сканирования.
  • Получает результаты выполнения и отправляет их в систему .
  • Закрывает сетевое соединение.

Запуск сканирования

Для запуска агентов необходимо сконфигурировать переменные user, password, agentToken, privateKey при настройке сканера. При создании запроса данные переменные указываются только в виде секретов (secrets). Прямое указание переменных в запросе запрещено.

Для использования полей с типом Список ([]) в запросе необходимо использовать конструкцию matrix (матрица). (см. Матрицы).

Поля для default секции

port

string

Указание порта

Пример:

22

user

string

Имя пользователя для подключения берется из секретов (защищенных переменных среды). Генерация происходит при настройке сканера. Указывается в виде секрета.

password

string

Пароль также берется из секретов. В случае пустого пароля используется другой метод аутентификации (приватный ключ). Указывается в виде секрета.

agentToken

string

Токен агента. Необходим для авторизации при отправке данных в систему. Указывается в виде секрета.

privateKey

string

Приватный ключ для доступа по SSH. Указывается в виде секрета.


Поля для mutate секции

port

string

Указание порта

Пример:

22


Результаты сканирования

ip

string

IP-адрес целевого хоста.

deviceId

string

Идентификатор устройства, на котором размещен агент .

success

boolean

Показывает, успешно ли был запущен агент .

logs

Log[]

Список логов, поступивших от агента (см. структура Log).

Пример использования


tasks:
- uses: tcp/probe@v1
default:
ports:
- '22'
runPolicy: always
- uses: agent/linux@v1
events:
- event: tcp/probe@v1
condition: value.port == 22
default:
port: 22
user: ${{ secrets.USER }}
password: ''
agentToken: ${{ secrets.AGENT_TOKEN }}
privateKey: ${{ secrets.PRIVATE_KEY }}
runPolicy: triggered

Структура Log

time

string

Временная метка события.

level

string

Уровень логирования.

message

string

Текст сообщения/события, которое записывается в лог.

error

string

Детали ошибки.

collector

string

Название компонента/коллектора, сгенерировавшего лог.

duration

number

Время выполнения операции в секундах.

version

string

Версия слепка собранных данных.

Пояснение к примеру использования

1 задача: запуск TCP probe. С ее помощью определяются хосты в сети, у которых открыт порт 22 для доступа по SSH.

2 задача: в случае нахождения хостов, указанных в задаче 1, вызывается модуль agent/linux@v1.

port: 22 - номер порта для подключения по SSH.

user - Имя пользователя для подключения берется из секретов (защищенных переменных среды).

password - пароль в данном случае пустой, авторизация производится через приватный ключ, указанный ниже.

agentToken - токен для авторизации агента (из секрета secrets.AGENT_TOKEN).

privateKey - приватный ключ для авторизации. Он используется для безопасного подключения без пароля.

Назад
Шаблоны
Вперед
Agent Windows