Як експортувати журнали FortiSIEM

Як експортувати журнали FortiSIEM

SOC Prime Team
SOC Prime Team linkedin icon Стежити

Використовуйте API запиту подій REST FortiSIEM. Надішліть XML-запит на /phoenix/rest/query/eventQuery, який поверне ідентифікатор запиту, далі опитуйте його прогрес до досягнення 100, а потім отримаєте події. Результати повертаються у форматі XML. Початкова строка журналу кожної події міститься в атрибуті rawEventMsg, тому кілька рядків на Python перетворюють результат на необроблені журнали. Експорти з екрана Analytics виходять у форматах, які LogTotal сьогодні не читає. 

FortiSIEM є поширеним, де б Fortinet не керувала мережею, і часто містить набагато більше, ніж журнали міжмережевого екрану. Prime Core має 19,692 правила виявлення для FortiSIEM, які відповідають 664 технікам MITRE ATT&CK. Нижче описано, як отримати події, очистити їх і безкоштовно досліджувати в LogTotal.

Почніть безкоштовно

Перед початком

Користувач API. Використовуйте обліковий запис з правами на виконання аналітичних запитів. API аутентифікується за допомогою базової авторизації, з додачею організації до імені користувача: super/<user> на встановленні підприємства, <org>/<user> для конкретної організації на встановленні провайдера.

Збереження. Онлайн-зіберігаючий простір подій обмежено. Сталі події можуть перебувати в архівному сховищі, яке потребує додаткових кроків. 

Назви атрибутів. Запити FortiSIEM використовують власні назви атрибутів, такі як reptDevName (звітний пристрій), reptDevIpAddr, eventType та phRecvTime. Спочатку створіть фільтр в Analytics.

Експорт з API запиту подій

Збережіть запит як query.xml:

<?xml version=”1.0″ encoding=”UTF-8″?>
<Reports><Report><Name>Експорт LogTotal</Name><Description/>
  <SelectClause><AttrList>phRecvTime,reptDevIpAddr,eventType,rawEventMsg</AttrList></SelectClause>
  <ReportInterval><Low>1792368000</Low><High>1792454400</High></ReportInterval>
  <PatternClause><SubPattern id=”1″ name=”Filter”>
    <SingleEvtConstr>reptDevName = “web-03″</SingleEvtConstr>
  </SubPattern></PatternClause>
</Report></Reports>

Інтервал задається епохальними секундами від 2026-10-19 00:00 UTC до 2026-10-20 00:00 UTC. Виконайте його:

FSM=”https://fortisiem.example.com”
AUTH=”super/apiuser:$FSM_PASS”

QID=$(curl -sS -u “$AUTH” -X POST -H ‘Content-Type: text/xml’ –data @query.xml “$FSM/phoenix/rest/query/eventQuery”)
until [ “$(curl -sS -u “$AUTH” “$FSM/phoenix/rest/query/progress/$QID”)” = “100” ]; do sleep 5; done
curl -sS -u “$AUTH” “$FSM/phoenix/rest/query/events/$QID/0/1000” > fsm_web03_1019.xml

Останні два сегменти шляху є початковим відступом і кількістю. Прокрутіть великі результати кроками по 1,000. Потім вийміть сирі повідомлення:

import xml.etree.ElementTree as ET

root = ET.parse(“fsm_web03_1019.xml”).getroot()
with open(“fsm_web03_1019.log”, “w”) as out:
    for attr in root.iter(“attribute”):
        if attr.get(“name”) == “rawEventMsg” and attr.text:
            out.write(attr.text.strip() + “n”)

Завантажте, очистіть та перегляньте в LogTotal

  1. Завантаження. Відкрийте logtotal.com і перетягніть файл.
  2. Очищення.
  3. Перегляд.

Як це виглядає на реальних даних. 

Коли щось йде не так

СимптомІмовірна причинаFix
401Організація відсутня з імені користувачаВикористовуйте super/<user> або <org>/<user>
Запит повертає помилку замість IDСинтаксис XML або невідома назва атрибутаПеревірте фільтр в Analytics; перевірте назви атрибутів
Прогрес ніколи не досягає 100Запит занадто широкийЗвузьте часовий діапазон і фільтр
rawEventMsg порожнійАтрибут не було вибраноДодайте rawEventMsg до AttrList
Старі події відсутніВони знаходяться в архівному сховищіПеревірте опції архіву

FAQ

Чому XML?

Це мова, якою розмовляє API FortiSIEM. Крок Python перетворює його на початкові необроблені рядки, які зазвичай потрібно завантажити.

Чи можу я експортувати інциденти замість цього?

Інциденти мають свої власні виклики API. Для LogTotal експортуйте події, що за ними стоять.

Приєднуйтесь до платформи Detection as Code від SOC Prime щоб покращити видимість загроз, найбільш актуальних для вашого бізнесу. Щоб допомогти вам розпочати та отримати негайну цінність, забронюйте зустріч зараз з експертами SOC Prime.