Жүктелуде...

RSyslog шаблондары (template): оқиғаларды қалыптастыру және түрлендіру.

5 | 21.09.2026 21:53 | #Audit #RSyslog AI

Жалпы мәліметтер.

RSyslog-тағы шаблондар оқиғаның қандай түрде файлға жазылатынын, алыстағы серверге жіберілетінін немесе басқа әрекетпен өңделетінін анықтайды.

Шаблондардың көмегімен Syslog-хабарламасының құрылымын өзгертуге, қажетті өрістерді таңдауға, тұрақты мәндер қосуға, өзгертуге болады HOSTNAME, хабарламаның тақырыбын қалыптастыруға және оқиға өңделу кезінде жасалған қосымша қасиеттерді пайдалануға болады.

Шаблон мысалы.

RFC 5424 форматында хабарлама қалыптастыруды қарастырайық:

template(
   name="RemoteEvents"
   type="list"
) {
   constant(value="<")
   property(name="pri")
   constant(value=">1 ")
   property(
       name="timestamp"
       dateFormat="rfc3339"
   )
   constant(value=" ")
   property(name="hostname")
   constant(value="-nginx ")
   constant(value="nginx_access - - - ")
   property(name="msg")
   constant(value="\n")
}

Нәтижесінде келесі құрылымдағы хабарлама қалыптасуы мүмкін:

<PRI>1 TIMESTAMP HOSTNAME-nginx nginx_access - - - MESSAGE

Мысалы:

<158>1 2026-09-21T10:00:00+05:00 server01-nginx nginx_access - - - <сообщение>

Негізгі элементтер.

ЭлементМақсаты
template()Жаңа RSyslog шаблонды жариялайды
name="RemoteEvents"Шаблонның бірегей атауы
type="list"Шаблон түрін көрсетеді
constant()Нәтижеге тұрақты мән қосады
property()Өңделіп жатқан оқиғаның қасиет мәнін қосады
property(name="pri")Syslog PRI мәні (facility + severity)
property(name="timestamp")Оқиғаның уақыт белгілері
dateFormat="rfc3339"Уақыт белгілерін RFC 3339 форматында форматтайды
property(name="hostname")Оқиға алынған түйіннің атауы
property(name="msg")Хабарлама мазмұны
constant(value="\n")Жол үздік қосады

Шаблонды қолдану.

Шаблон жарияланғаннан кейін оны белгілі бір action.

Мысалы:

action(
    type="omfwd"
    target="192.168.0.200"
    port="514"
    protocol="tcp"
    template="RemoteEvents"
)

Бұл жағдайда оқиға алыстағы серверге жіберілмес бұрын шаблонға сәйкес түрлендіріледі RemoteEvents.

Шаблон түрлері.

RSyslog бірнеше шаблон түрлерін қолдайды. Таңдау міндет пен қажет нәтижелік форматқа байланысты.

Шаблон list.

Шаблон әріптестік ретпен property() және constant():

template(
    name="ExampleList"
    type="list"
) {
    property(name="timestamp")
    constant(value=" ")
    property(name="hostname")
    constant(value=" ")
    property(name="msg")
    constant(value="\n")
}

Осындай тәсіл күрделі шаблондар үшін ыңғайлы, себебі әрбір өріс жеке сипатталады және хабарламаның құрылымы конфигурацияда айқын көрінеді.

Шаблон string.

Бір жолмен шаблонды анықтауға мүмкіндік береді:

template(
    name="ExampleString"
    type="string"
    string="<%PRI%>%TIMESTAMP% %HOSTNAME% %syslogtag%%msg%\n"
)

Салыстырмалы түрде қарапайым мәтіндік форматтарға ыңғайлы.

Басқа түрлері.

RSyslog сондай‑ақ басқа типтегі шаблондарды да қолдайды, атап айтқанда:

  • type="subtree" — хабарламаның құрылымдық деректер ағашының бөлігі сериализациясы;
  • type="plugin" — нәтижені арнайы output‑плагин арқылы қалыптастыру.

Сонымен қатар, RSyslog танымал Syslog форматтары үшін кіріктірілген (reserved) шаблондар ұсынады.

Таңдау между list немесе string.

Шаблон list және string ең кең таралған. Екі тип те заманауи конфигурацияларда қолданылуы мүмкін. 

Шаблон string бір жолдық шаблонды білдіреді және қарапайым форматтар үшін ыңғайлы. Шаблон list тағы да құрылымдық тәсілді қолданады. Жаңа және күрделірек конфигурациялар үшін шаблонды listқолдану орынды, себебі бұл тәсіл:

  • оқиға қасиеттері мен тұрақты мәндерді айқын бөліп көрсетеді;
  • конфигурацияны оқу мен қызмет көрсетуді жеңілдетеді;
  • жеке қасиеттерді дербес баптауға мүмкіндік береді;
  • күрделі құрылымдалған хабарламаларды құру кезінде ыңғайлы;
  • ұзын жолдарды %property%алмастыру қажеттілігін азайтады.

Шаблон мысалдары.

Шаблон мысалдары бар RSyslog‑тың ресми сайтына сілтеме:

Template examples

SOCpedia - білім платформасы

Мұнда SOC және Blue Team тәжірибелері бойынша материалдар жинақталған: мақалалар, жаңалықтар, кітаптар және аудармалар.