Рейтинг:0

syslog-ng — установить значение или макрос на основе значения другого макроса

флаг tl

У меня есть конфигурация patterndb, которая анализирует сообщения журнала фильтрации pfsense для извлечения различных полей для отправки в Azure Sentinel в формате CEF, в основном она работает нормально.

Мне нужно установить поле «Серьезность» моего события на основе действия брандмауэра.

например, если поле «PF.PF_ACTION» является блочным, «Серьезность» должна быть = 4, если «PF.PF_ACTION» проходит, «Серьезность» должна быть = 1

Серьезность на данный момент не существует, я создаю здесь новый макрос или хочу вернуть правильное значение на основе исходного макроса

Я пробовал функцию шаблона с if, но, похоже, всегда думает, что результат верен.

функция-шаблона set_pfsense_severity "$(if (\"${PF.PF_ACTION}\" == \"pass\" ) \"4\" \"1\")";
функция шаблона cef_header_netgate "${ISODATE} ${HOST} CEF:0|Netgate|pfSense||${PF.PF_TRACKER}||$(set_pfsense_severity)|";
        файл(
                "/var/журнал/pfsense.log"
                fsync (да)
                template("$(cef_header_netgate)$(format-welf --omit-empty-values ​​act=${PF.PF_ACTION} dvc=$HOST dvchost=$HOST dst=${PF.PF_IP_DESTINATION_IP} dpt=${PF.PF_IP_DESTINATION_PORT } in=${PF.PF_IP_PAYLOAD_LENGTH} msg=$MSG proto=${PF.PF_IP_PROTOCOL_TEXT} src=${PF.PF_IP_SOURCE_IP} spt=${PF.PF_IP_SOURCE_PORT} csl=${PF.PF_RULE_NUMBER} deviceDirection=${PF .PF_DIRECTION} deviceFacility=$FACILITY)\n")
        );
};
журнал {
        источник (s_udp_oms);
        фильтр (f_oms_pfsense_filterlog);
        парсер (pfsense);
        переписать (r_set_direction);
        пункт назначения (pfsense_parsed);
};

вот 2 строки журнала для справки, поле Severity — это поле перед |действовать=

2022-03-09T20:23:38+00:00 192.168.x.254 CEF:0|Netgate|pfSense||1000000103||4|act=block csl=4 deviceDirection=0 deviceFacility=local0 dpt=9999 dst=255.255 .255.255 dvc=192.168.x.254 dvchost=192.168.x.x in=14 msg=4,,,1000000103,igb0.20,match,block,in,4,0x0,,64,0,0,DF,17, udp,34,0.0.0.0,255.255.255.255,9998,9999,14 proto=udp spt=9998 src=0.0.0.0
2022-03-09T20:23:41+00:00 192.168.x.254 CEF:0|Netgate|pfSense||1770011110||4|act=pass csl=130 deviceDirection=0 deviceFacility=local0 dpt=443 dst=17.253 .x.x dvc=192.168.x.254 dvchost=192.168.x.x in=0 msg=130,,,1770011110,igb0.10,match,pass,in,4,0x0,,64,0,0,DF,6, tcp,64,192.168.x.x,17.253.x.x,58359,443,0,S,3162698201,,0,,mss;nop;wscale;nop;nop;TS;sackOK;eol proto=tcp spt=58359 src=192.168.x.x

как еще я могу настроить макрос, который я могу поместить в шаблон, или вернуть правильное значение?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.