Перейти к основному содержимому
Версия: 1.0

RuSIEM

Данное руководство описывает быструю настройку интеграции (автоматическую загрузку индикаторов компрометации (IoC)) Solar TI Feeds Agent с RuSIEM.

Предварительные требования

  • Установленный и настроенный Solar TI Feeds Agent;
  • Учетные данные для доступа к RuSIEM;
  • Доступ к серверу TI Feeds с действительным JWT-токеном.

Конфигурация интеграции

Данная интеграция автоматизирует выгрузку индикаторов компрометации из Solar TI Feeds в RuSIEM. Для каждого потока данных (фида) угроз создается отдельный пайплайн обработки, обеспечивающий получение, преобразование и загрузку данных.

Переменные окружения

Для работы интеграции необходимо определить следующие переменные окружения:

Переменные для интеграции с RuSIEM

  • TIC_AGENT_SERVICE_HOST - Хост или IP-адрес сервера RuSIEM
  • TIC_AGENT_SERVICE_PORT - Порт для подключения к API RuSIEM
  • TIC_AGENT_SERVICE_TOKEN - Токен для аутентификации к API RuSIEM

Структура пайплайнов для RuSIEM

Каждый пайплайн состоит из следующих компонентов:

  1. FeedStreamGenerator — получает индикаторы из Solar TI Feeds.
  2. IndicatorsTextMap — преобразует данные в текстовый формат, пригодный для загрузки.
  3. IndicatorsTextSink — сохраняет данные в CSV-файл и загружает их в RuSIEM.

Конфигурация автоматически создает отдельный пайплайн для каждого фида из списка allFeedsList. При необходимости вы можете изменить этот список, указав только нужные фиды.
Пример настройки списка фидов:

local feedsList = List(
"c2",
"botnet",
"stealer",
"ransomware",
"cryptomining",
"apt",
"phishing",
"active_c2",
"honeypot_attacker",
"honeypot_payload",
"intrusion"
)

Справочник параметров для RuSIEM

Ключевые параметры конфигурации для RuSIEM приведены в таблице:

ПараметрТип данныхЗначение по умолчаниюОбязательностьОписаниеПример
credentialsCredentialsДаДанные для аутентификацииcredentials = new agent.Basic {username = RuSIEM_User password = RuSIEM_Password}
addressAddressДаДанные подключенияaddress {host = RuSIEM_Host port = RuSIEM_Port insecureSkipVerify = true scheme = "https"}
timeoutDuration30.sНетТаймаут запросов60.s
listNameStringДаИмя списка для загрузки данных“4rays_feeds”

Дополнительные параметры конфигурации для расширения RuSIEM

ПараметрТип данныхЗначение по умолчаниюОбязательностьОписаниеПример
ttlDuration14.dНетВремя жизни индикаторов в списке30.d

Полный пример конфигурационного файла для интеграции с RuSIEM

amends "package://pkg.pkl-lang.org/github.com/pipelane/pipelaner/pipelaner@1.3.1#/Pipelaner.pkl"
import "package://pkg.pkl-lang.org/github.com/pipelane/pipelaner/pipelaner@1.3.1#/source/Components.pkl"
import "../agent.pkl"
import "../templates.pkl"

local feedsList = templates.allFeedsList

pipelines = feedsList.map((f) -> new Components.Pipeline{
name = f + "-pipeline"
inputs {
new agent.FeedStreamGenerator {
name = f + "-generator"
server = templates.serverEnvCfg
schedule = templates.scheduleCronMinCfg
filter = new agent.IndicatorRequestParams {
actions = templates.allActionsList
types = List("ipv4-addr", "ipv6-addr", "url", "domain-name")
fields = List("value", "indicator_type", "action")
feedNames = List(f)
}
sqlite = templates.sqliteEnvCfg
}
}
transforms {
new agent.IndicatorsTextMap {
name = f + "-map"
inputs {
f + "-generator"
}
fieldsMap {
["indicator_type"] = "IndicatorType"
["value"] = "normalizeValue(IndicatorType, Value)"
["action"] = "Action"
}
}
}
sinks {
new agent.IndicatorsTextSink {
name = f + "-sink"
inputs {
f + "-map"
}
writer {
outputDirectory = templates.outputDirEnv
outputFileName = f + ".csv"
writeMode = "rolling"
fileFormat = "csv"
separator = ";"
allQuotes = true
}
sqlite = templates.sqliteEnvCfg
service = new agent.RuSiemCfg {
address {
host = templates.externalServiceHostEnv
port = templates.externalServicePortEnv
insecureSkipVerify = true
scheme = "https"
}
credentials = new agent.Token {
token = templates.externalServiceTokenEnv
}
listName = "4rays_" + f
timeout = 60.s
ttl = 30.d
}
}
}
}).toListing()

settings = templates.baseSettings

Мониторинг результатов работы интеграции

После запуска агента убедитесь в корректности работы интеграции:

  • Проверка файлов результатов: Убедитесь, что в рабочей директории (TIC_AGENT_OUTPUT_DIR) создаются CSV-файлы с именами соответствующих фидов.
  • Анализ логов: Проверьте логи агента в директории TIC_AGENT_LOG_DIR на наличие ошибок или предупреждений.
  • Верификация в RuSIEM: В интерфейсе RuSIEM убедитесь, что созданы списки индикаторов с префиксом 4rays_ и что они содержат актуальные данные.