Šablony
Šablony se používají k nastavení formátu emailových zpráv, které odesílá funkce Upozornění. V sekci Upozornění se nastaví podmínky, které při splnění vygenerují email. Obsah a vzhled vygenerovaných emailů se definuje pomocí šablon.
Šablony používají šablonovací jazyk popsaný zde: Dokumentace ke tvorbě šablon.
Tabulka seznamu šablon zobrazuje zabudované šablony a zároveň i šablony definované uživateli. V seznamu je zobrazen pouze název šablony.
Nad tabulkou je kolonka vyhledávání, podle které lze seznam šablon vyfiltrovat.
Šablony lze přidat, prohlížet, editovat a odstranit.
Pokud potřebujete přidat novou šablonu, klikněte v hlavní tabulce na zelenou ikonu plus v pravém horním rohu.
Do připraveného formuláře zadáte následující údaje:
- název: uživatelský název šablony,
- předmět šablony: předmět emailové zprávy, lze využít šablonovací jazyk,
- tělo šablony: obsah emailové zprávy, lze využít šablonovací jazyk.
Všechna pole formuláře jsou povinná.
Přidání šablony provedete kliknutím na tlačítko vytvořit, zrušení vyplněného formuláře a vrácení zpět do seznamu provedete kliknutím na tlačítko zrušit.
Editace šablony se spustí kliknutím na modrou ikonu tužky, která je uvedena u každého řádku v seznamu. Zabudované šablony nelze editovat ani smazat.
Nyní se zobrazí formulář shodný s formulářem pro přidání nové šablony.
Změnu šablony provedete kliknutím na tlačítko uložit, zrušení vyplněného formuláře a vrácení zpět do seznamu šablon, provedete kliknutím na tlačítko zrušit.
Smazání šablony se provede kliknutím na ikonu červeného křížku, který je uveden u každého řádku v seznamu.
Po kliknutí na křížek se zobrazí dialogové okno Smazat šablonu a pro kontrolu se vypíše jméno šablony, která se má smazat. Pro pokračování a vymazání šablony klikněte na tlačítko ano, pro zrušení klikněte na tlačítko ne.
Každá uložená zpráva v systému Logmanager obsahuje hodnoty uložené v proměnných. Libovolnou proměnnou z těchto zpráv lze vypsat do šablon.
Základní práce s proměnnými v šabloně:
{{ msg['variable_name'] }}
Příklad získání uživatelského jména:
{{ msg['username'] }}
Příklad získání IP adresy hosta z meta informací zprávy:
{{ meta.src.host }}
Ekvivalent zápisu:
{{ meta['src']['host'] }}
Pro získání speciálních hodnot lze využít zápis:
{{ msg['variable_name@extended']['parameter_name'] }}
Příklad získání země zjištěné z IP adresy:
{{ msg.dst_ip@ip.country_name }}
Ekvivalent zápisu:
{{ msg['dst_ip@ip']['country_name'] }}
Jako příklad šablony použijeme přihlášení do zařízení FortiGate.
Ve formuláři pro novou šablonu zadejte následující:
-
Název: FortiGate logon
-
Předmět šablony:
LM Alert - {{ description }} / {{ meta.src.host }}
For example this subject is generated to the email:
LM Alert - FortiGate logon / 192.0.2.1
-
Tělo šablony:
On FortiGate <b>{{ meta.src.host }}</b> user logged in <b>{{ msg['username'] }}</b> with protocol <b>{{ msg['ui'] }}</b> from source IP address <b>{{ msg['client_ip'] }}</b>.
Do obsahu emailu se vygeneruje například následující odstavec:
On FortiGate 192.0.2.1 a user example has logged in with protocol from source IP address 192.0.2.101.
Popis jednotlivých kroků:
- {{ description }}: vypíše hodnotu popis vyplněnou v části upravit alert.
- {{ meta.src.host }}: vypíše IP adresu zařízení Fortigate.
- {{ msg[‚username‘] }}: vypíše uživatelské jméno, které obsahuje zpráva, která vyvolala upozornění.
- {{ msg[‚ui‘] }}: vypíše protokol, kterým se uživatel přihlásil.
- {{ msg[‚client_ip‘] }}: vypíše IP adresu, ze které se uživatel přihlásil.
Systém podporuje skládání šablon. Lze si vytvořit obecnou šablonu například s výpisem zdrojové zprávy, která vyvolala upozornění.
Ukázka obecné šablony - example template:
{% extends "base.html" %}
{% block content %}
{% block custom %}{% endblock %}
<strong>Message data</strong>
<table style="border: 1px solid rgb(0, 102, 153); border-collapse: collapse; overflow: hidden;">
<tr><td style="border: 1px solid rgb(0, 102, 153);font-weight: bold;">Name</td><td style="border: 1px solid rgb(0, 102, 153);font-weight: bold;">Value</td></tr>
{% for key in msg|sort %}
<tr>
<td align=left style="border: 1px solid rgb(0, 102, 153);">{{ key|e }}</td>
<td align=left style="border: 1px solid rgb(0, 102, 153);">{{ msg[key]|e }}</td>
</tr>
{% endfor %}
</table>
{% endblock %}
Tuto šablonu lze použít v další šabloně, kde se použije blok custom, do kterého se vypíše libovolný text:
{% extends "alert/example template/body" %}
{% block custom %}
On FortiGate <b>{{ meta.src.host }}</b> user logged in <b>{{ msg['username'] }}</b>
with protocol <b>{{ msg['ui'] }}</b> from source IP address <b>{{ msg['client_ip'] }}</b>.
{% endblock %}
Odeslaný email bude vypadat následovně:
Na FortiGate 192.0.2.1 se přihlásil uživatel example protokolem ze zdrojové IP adresy 192.0.2.101.
Message data:
Name | Value |
---|---|
device_id | ID123456 |
device_name | fortigate-firewall |
dst_host | 192.0.2.1 |
… | …. |