Настройка конфигурации агента
Конфигурация агента настраивается в файле 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— интервал проверки изоляции.
Пример содержимого файла конфигурации 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
}
Секция 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
Была ли полезна эта страница?