Настройка конфигурации агента
Конфигурация агента настраивается в файле rpoint.conf.
Файл конфигурации rpoint.conf создается автоматически при установке агента и хранится в подкаталоге etc каталога установки.
|
Пути хранения файла конфигурации по умолчанию:
|
Структура файла конфигурации
Файл конфигурации rpoint.conf содержит следующие настройки:
-
log— настройки логирования. -
nats— настройки подключения к локальному NATS-серверу. -
nats_server— параметры запуска локального NATS-сервера. -
inventory— настройки сбора инвентарной информации. -
messages_sender— настройки модуля отправки сообщений. -
go_memory_limit— ограничение на потребление ОЗУ брокером сообщений NATS. -
restart_nats_on_isolation— признак перезапуска модуляnats-serverпри изменении настроек изоляции. -
isolation_monitoring_interval— интервал проверки изоляции. -
agent_id— идентификатор агента. -
agent_id_generation_method— способ автоматической генерации идентификатора агента.
Пример содержимого файла конфигурации rpoint.conf
{
"log": {
"file_path": "logs/rpoint.log",
"level": "info",
"rotation_size": 10485760,
"target_file_name": "rpoint_%N.log",
"max_messages_queue_size": 10000
},
"nats": {
"local": {
"connection": {
"url": "tls://127.0.0.1:4111"
}
}
},
"nats_server": {
"host": "127.0.0.1",
"port": 4111,
"jetstream": {
"store_dir": "./nats",
"max_memory_store": 1073741824,
"max_file_store": 10737418240
},
"leafnodes": {
"remotes": [
{
"url": "nats://worker01.rpoint.local:32000",
"deny_exports": [
"$KV.local-configs.>",
"local-module-rpc.>",
"local-ep-to-manager.>",
"local.>",
"local-scanner-commands.>"
],
"deny_imports": [
"$KV.local-configs.>",
"local-module-rpc.>",
"local-ep-to-manager.>",
"events.scanner.events.v2.EvoScannerHostResultsEvent",
"e.ib.>",
"ep-to-agents.>",
"local-scanner-commands.>",
"events.vm.events.v1.VmScannerHostCommandResultEvent"
]
}
]
},
"log_file": "logs/nats.log",
"log_size_limit": 10485760,
"logfile_max_num": 10
},
"inventory": {
"monitoring_interval": 86400
},
"messages_sender": [
{
"name": "ib_events",
"read_stream": "local-ib-events",
"read_subject": "local.e.ib.>",
"max_bytes": 100000000,
"should_log_ack": false,
"max_parallel_messages": 10
},
{
"name": "audit_events",
"read_stream": "local-agent-audit",
"read_subject": "local.events.siem.audit.v1.SystemAuditEvent",
"max_bytes": 50000000,
"should_log_ack": false,
"ack_timeout": 3000,
"headers": {
"Nats-Expected-Stream": "events-siem-audit-system-audit"
},
"max_parallel_messages": 10
}
],
"go_memory_limit": "1GiB",
"restart_nats_on_isolation": true,
"isolation_monitoring_interval": 1.0,
"agent_id": "7b976b06-ff10-4266-80c2-ce9fbe66f939"
}
Секция log
В данной секции задаются настройки логирования.
| Рекомендуется оставлять данную секцию без изменений. |
| Параметр | Описание |
|---|---|
|
Путь к файлу логирования на устройстве. |
|
Уровень логирования. Доступные значения:
|
|
Размер файла в байтах, по достижении которого выполняется ротация логов. Задается, если требуется ротация по размеру файла. Не может задаваться одновременно с параметром |
|
Период ротации логов. Задается, если требуется ротация по времени. Указывается в формате JSON-объекта со следующими полями:
Не может задаваться одновременно с параметром |
|
Шаблон имени файла после ротации логов. Если в параметре задан шаблон, содержащий символы |
|
Максимальное количество сообщений логов, которые будут сохранены в кэше при сбое работы процесса rpoint-launcher. |
Пример секции log
"log": {
"file_path": "logs/rpoint.log",
"level": "info",
"rotation_size": 10485760,
"target_file_name": "rpoint_%N.log",
"max_messages_queue_size": 10000
}
Секция nats
В данной секции задаются настройки подключения агента к локальному NATS-серверу для обмена сообщениями с менеджером агентов.
| Параметр | Описание |
|---|---|
|
Конфигурация подключения к локальному NATS-серверу. Указывается в формате JSON-объекта В поле
|
Пример секции nats
"nats": {
"local": {
"connection": {
"url": "tls://127.0.0.1:4111"
}
}
}
Секция nats_server
В данной секции задаются параметры запуска локального NATS-сервера.
| Параметр | Описание |
|---|---|
|
IP-адрес или полное доменное имя (FQDN) локального NATS-сервера. Не меняйте значение данного параметра. |
|
Порт локального NATS-сервера. Значение должно совпадать с портом, указанным в значении |
|
Параметры хранения данных брокера сообщений NATS JetStream:
Не меняйте значение данного параметра. |
|
Настройки шлюзов для подключения. Указываются в виде JSON-объекта
|
|
Путь к файлу с логами NATS. Не меняйте значение данного параметра. |
|
Максимальный размер файла с логами NATS в байтах. При достижении данного размера будет создан новый файл. |
|
Максимальное количество файлов с логами NATS. При достижении данного количества будет произведена ротация логов. |
Пример секции nats_server
"nats_server": {
"host": "127.0.0.1",
"port": 4111,
"jetstream": {
"store_dir": "./nats",
"max_memory_store": 1073741824,
"max_file_store": 10737418240
},
"leafnodes": {
"remotes": [
{
"url": "nats://worker01.rpoint.local:32000",
"deny_exports": [
"$KV.local-configs.>",
"local-module-rpc.>",
"local-ep-to-manager.>",
"local.>",
"local-scanner-commands.>"
],
"deny_imports": [
"$KV.local-configs.>",
"local-module-rpc.>",
"local-ep-to-manager.>",
"events.scanner.events.v2.EvoScannerHostResultsEvent",
"e.ib.>",
"ep-to-agents.>",
"local-scanner-commands.>",
"events.vm.events.v1.VmScannerHostCommandResultEvent"
]
}
]
},
"log_file": "logs/nats.log",
"log_size_limit": 10485760,
"logfile_max_num": 10
}
Секция inventory
В данной секции задаются настройки сбора инвентарной информации об агенте.
| Рекомендуется оставлять данную секцию без изменений. |
| Параметр | Описание |
|---|---|
|
Интервал сбора инвентарной информации в секундах. |
Пример секции inventory
"inventory": {
"monitoring_interval": 86400
}
Секция messages_sender
В данной секции задаются параметры модуля отправки сообщений.
| Не меняйте значения параметров в данной секции. |
Настройки задаются в виде массива параметров для каждой очереди сообщений. Параметры очереди представлены в таблице ниже.
| Параметр | Описание |
|---|---|
|
Название канала NATS для передачи сообщений. |
|
Название потока NATS для чтения и передачи сообщений. |
|
Название темы NATS для чтения и передачи сообщений. |
|
Максимальный размер очереди в байтах, из которой происходит чтение событий. Если параметр не задан, очередь не ограничена. |
|
Признак, нужно ли логировать сообщения для данной очереди. Следует соблюдать осторожность при активации данного параметра. При большом количестве событий в очереди возможно переполнение логов неинформативными сообщениями. |
|
Максимальное количество сообщений, которое можно отправлять параллельно, для данной очереди. |
|
Заголовки, которые нужно добавлять к сообщению при публикации в стрим. Заголовки задаются в виде массива параметров |
Пример секции messages_sender
"messages_sender": [
{
"name": "ib_events",
"read_stream": "local-ib-events",
"read_subject": "local.e.ib.>",
"max_bytes": 100000000,
"should_log_ack": false,
"max_parallel_messages": 10
},
{
"name": "audit_events",
"read_stream": "local-agent-audit",
"read_subject": "local.events.siem.audit.v1.SystemAuditEvent",
"max_bytes": 50000000,
"should_log_ack": false,
"ack_timeout": 3000,
"headers": {
"Nats-Expected-Stream": "events-siem-audit-system-audit"
},
"max_parallel_messages": 10
}
]
Параметр go_memory_limit
Данный параметр позволяет ограничивать максимальный размер оперативной памяти, потребляемой брокером сообщений NATS. Задаваемое ограничение указывается с единицами измерения.
| Рекомендуется оставлять данный параметр без изменений. |
Пример параметра go_memory_limit
"go_memory_limit": "1GiB"
В представленном примере задано ограничение на потребление ОЗУ в 1 ГиБ.
Параметр restart_nats_on_isolation
Данный параметр определяет, нужно ли перезапускать модуль nats-server при установке или снятии изоляции хоста.
| Параметр рекомендуется включать только в macOS в связи с особенностями работы NATS. |
Пример параметра restart_nats_on_isolation
"restart_nats_on_isolation": true,
Параметр isolation_monitoring_interval
При включении изоляции хоста автоматически активируется система мониторинга, который проверяет состояние изоляции. Если произойдет попытка выключить изоляцию, то система мониторинга включит изоляцию обратно.
Данный параметр позволяет указать интервал между проверками изоляции хоста системой мониторинга в секундах.
| Параметр работает только в macOS. |
Пример параметра isolation_monitoring_interval
"isolation_monitoring_interval": 1.0
Параметры agent_id и agent_id_generation_method
По умолчанию идентификатор агента генерируется автоматически на основе идентификатора устройства, где он устанавливается. Это соответствует установке параметра agent_id_generation_method со значением machineId.
При необходимости вы можете изменить способ генерации агента с помощью одного из следующих параметров:
-
agent_id— позволяет указать идентификатор агента вручную в формате UUID.Пример параметра
agent_id"agent_id": "7b976b06-ff10-4266-80c2-ce9fbe66f939" -
agent_id_generation_method— позволяет указать, каким способом должен генерироваться идентификатор агента. Доступные значения:-
machineId— идентификатор агента будет сгенерирован по методу UUIDv5 на основе пространства имен OID и идентификатора устройства. -
mac— идентификатор агента будет сгенерирован по методу UUIDv5 на основе пространства имен OID и первого MAC-адреса хоста. -
random— будет сгенерирован случайный идентификатор агента в формате UUID.
Пример параметра
agent_id_generation_method"agent_id_generation_method": "machineId" -
Алгоритм генерации идентификатора агента
Сгенерированный идентификатор агента сохраняется в файле .agent_id в подкаталоге etc каталога установки.
|
Пути хранения файла идентификатора по умолчанию:
|
Генерация идентификатора происходит при запуске агента и выполняется по следующему алгоритму:
-
Сканируется подкаталог
etcна наличие файла хранения идентификатора.agent_id.-
Если файл найден и в нем содержится идентификатор агента в формате UUID, то идентификатор уже сгенерирован и повторная генерация не требуется.
-
В противном случае — переход к шагу 2.
-
-
Сканируется подкаталог
etcна наличие файла конфигурации с настройками подключения к менеджеруnats-leafnode.conf.-
Если файл найден и в нем содержится идентификатор агента в формате UUID, то идентификатор уже сгенерирован и повторная генерация не требуется.
-
В противном случае — переход к шагу 3.
-
-
Сканируется файл конфигурации агента
rpoint.conf. Способ генерации идентификатора зависит от заданных параметровagent_idиagent_id_generation_method. В таблице ниже представлены возможные соотношения параметров и итоговый способ генерации идентификатора.agent_id agent_id_generation_method Как генерируется идентификатор Указано значение в формате UUID
Значение не указано или указано любое значение
Берется значение
agent_idЗначение не указано или указано не в формате UUID
Значение не указано или указано некорректное значение
Используется автоматический способ генерации по
machineIdЗначение не указано или указано не в формате UUID
Указано любое корректное значение
Используется тот способ генерации, который указан в
agent_id_generation_method -
Сгенерированный идентификатор агента сохраняется в файле
.agent_idв подкаталогеetc.
Была ли полезна эта страница?