Protokoly sledování zpráv v serveru Exchange Server

  • Možná použití protokolů sledování zpráv
  • Umístění a struktura protokolů sledování zpráv
  • Konfigurace sledování zpráv
  • Co je v protokolech sledování zpráv
  • Použití funkce Get-.MessageTrackingLog

Protokoly sledování zpráv jsou cenným zdrojem informací pro každého správce systému Exchange. Zatímco Office 365 má své sledování zpráv, které funguje bez problémů, lokální Exchange ukládá do protokolů mnohem více dat, která mohou sloužit k mnoha účelům.

Protokoly sledování zpráv Exchange

Možné využití protokolů sledování zpráv

Staré dobré protokoly sledování zpráv mohou sloužit k mnoha různým účelům:

  • Řešení problémů s doručováním – Pokud víte, co hledáte, mohou vám protokoly sledování zpráv prozradit, proč zpráva nebyla doručena, zda se její doručení zpozdilo a další informace (podívejte se, co je v protokolech sledování zpráv)
  • Statistika – Protokoly sledování zpráv uchovávají stopy každé jednotlivé zprávy, která prošla vašimi servery. Lze tak poměrně snadno získat některé údaje pro analýzu – kolik zpráv bylo zpracováno nebo kdo ve firmě odeslal nejvíce zpráv.
  • Forenzní analýza – Řekněme, že někdo vymaže e-mail a vy jste neměli zálohu e-mailu. A co hůř, e-mail obsahoval důvěrné informace a byl odeslán do vaší konkurenční společnosti. Právě v tomto případě vás mohou protokoly o sledování zpráv zachránit tím, že poskytnou některé cenné informace o e-mailech.
  • Soudní řízení – Podobná situace jako výše. Protokoly o sledování zpráv mohou být a jsou často používány v případě, že jsou vyžadovány důkazy pro účely soudního sporu.
  • Testování pravidel přenosu – Zvláště užitečné, pokud máte v organizaci nakonfigurováno více pravidel přenosu. Kdykoli je použito pravidlo přenosu, zanechá stopu a pomocí příkazu Get-MessageTrackingLog můžete zjistit, kdy bylo pravidlo přenosu nebo zásada DLP spuštěna.

Umístění a struktura protokolů sledování zpráv

Co jsou protokoly sledování zpráv? Protokoly sledování zpráv jsou jednoduché soubory CSV (s příponou LOG) uložené na serveru Exchange. Výchozí cesta k jejich fyzickému umístění je %ExchangeInstallPath%TransportRoles\Logs\MessageTracking. Protokoly mají nastavenou konvenci pojmenování. Mějte na paměti, že názvy souborů v protokolech sice můžete změnit, ale zabráníte tím jejich vyhledávání pomocí rutiny Get-MessageTrackingLog. Navíc se soubory se změněnými názvy nebudou započítávat do limitu velikosti složky. To může vést k překročení nastavených limitů.

Pro správu místa a množství dat uložených na serverech používá Exchange kruhové protokolování. Jinými slovy, nejstarší soubory jsou přepsány, kdykoli složka překročí svou maximální velikost nebo soubor protokolu dosáhne svého maximálního stáří. Pokud se budete držet výchozího nastavení, maximální stáří souboru protokolu je 30 dní a maximální velikost jednoho souboru je 10 MB. Ve výchozím nastavení nesmí všechny protokoly sledování zpráv ve výchozím adresáři překročit 1 GB. Všechny tyto limity můžete změnit pomocí prostředí PowerShell (podrobnosti viz Konfigurace sledování zpráv)

Každý den se vytvoří nový soubor protokolu sledování zpráv. Konvence pojmenování je:

MSGTRKServiceyyyymmdd-nnnn.log kde:

  • Service závisí na tom, která služba vytvořila protokol. MSGTRK ukazuje na protokoly vytvořené službou Transport; další písmena určují, které další služby protokol vytvořily. MA označuje službu Schvalování zpráv, MD službu Doručování poštovních schránek, MS službu Podávání poštovních schránek.
  • yyyymmdd určuje datum vytvoření protokolu zpráv.
  • nnnn je číslo souboru protokolu. Kdykoli soubor protokolu dosáhne svého maximálního limitu velikosti, vytvoří se další kopie. Hodnota je inkrementální a každý den začíná (zcela logicky) od 1.

Uvedl jsem některé výchozí hodnoty. Jak asi tušíte, tyto hodnoty lze snadno změnit.

Konfigurace sledování zpráv

Než začnete měnit výchozí hodnoty protokolů sledování zpráv, ujistěte se, že víte, co děláte. Protokoly sledování zpráv mohou být z hlediska velikosti poměrně těžkopádné. Navíc pokud se rozhodnete shromažďovat data po neomezeně dlouhou dobu, zabere každé rozsáhlé vyhledávání v protokolech sledování zpráv značné množství času. Zejména pokud neomezíte kritéria vyhledávání. Pokud plánujete shromažďovat informace o toku pošty po neomezeně dlouhou dobu, zvažte export obsahu protokolů sledování zpráv do souborů. Pak můžete ukládat údaje o všech e-mailech s výjimkou těch, které směřují například do Zdravotních schránek.

Konfiguraci protokolů sledování zpráv můžete provést pomocí rutiny Set-TransportService. Pomocí této rutiny můžete:

  • Povolit nebo zakázat sledování zpráv,
  • Změnit umístění pro ukládání protokolů sledování zpráv,
  • Změnit omezení velikosti a stáří protokolů sledování zpráv
  • a povolit nebo zakázat protokolování subjektů. Vysvětlení: Ve výchozím nastavení protokoly sledování zpráv neukládají žádný obsah e-mailů, kromě řádku předmětu. Přestože přítomnost řádku předmětu v protokolech výrazně zlepšuje sledování, některé organizace vyžadují vypnutí této funkce z důvodu zabezpečení nebo ochrany osobních údajů.

Uvedeme příklad, který mění všechny parametry najednou:

Set-TransportService Mailbox_Server -MessageTrackingLogEnabled $true -MessageTrackingLogPath "M:\logs" -MessageTrackingLogMaxFileSize 30MB -MessageTrackingLogMaxDirectorySize 2.5GB -MessageTrackingLogMaxAge 365.00:00:00

Výše uvedená rutina zapne sledování zpráv pro Mailbox_Server a nastaví ukládání protokolů na M:\logs. Limit velikosti jednoho souboru protokolu se změní na 30 MB. Jedná se především o kosmetickou změnu, která řídí počet souborů protokolu – čím větší je limit, tím méně csv se každý den vytvoří. Maximální velikost adresáře (před přepsáním nejstarších souborů) je nastavena na 2,5 GB a soubory záznamů se uchovávají 365 dní. Nastavení parametru -MessageTrackingLogMaxAge na 00:00:00 vám umožní uchovávat protokoly sledování zpráv po neomezenou dobu. Nebo alespoň před dosažením velikosti adresáře. Ale kdo potřebuje šetřit místem v Exchange, že?“

Co je v protokolech sledování zpráv

Je několik věcí, které byste měli vědět o tom, jak protokoly sledování zpráv ukládají své záznamy.

  1. Každá zpráva obvykle generuje více než jeden záznam v protokolu sledování zpráv.
  2. Záhlaví v protokolech nejsou stejná jako odpovídající atributy prostředí PowerShell. Například Event-id v souborech protokolu je EventId v prostředí PowerShell. Recipient-address v souborech protokolů se rovná recipientům v prostředí PowerShell. Pokud máte pochybnosti o tom, jak vyhledávat pomocí určitého atributu, použijte Get-MessageTrackingLog –ResultSize 1 | FL * or Get-MessageTrackingLog | Get-Member. Tyto rutiny vám poskytnou úplný seznam atributů.
  3. Některá pole jsou v protokolech sledování zpráv často prázdná. Některá nemusí obsahovat informace, které můžete považovat za důležité nebo relevantní.

Nejdůležitější pole v protokolech sledování zpráv

  • Odesílatel, Příjemce, Předmět zprávy – celkem srozumitelné, ukazuje, kdo komu zprávu poslal a jaký byl její předmět
  • TotalBytes – ukazuje velikost zprávy
  • Timestamp – poskytuje informace o tom, kdy k události došlo
  • EventID – jedno z nejdůležitějších polí v protokolech sledování zpráv. Je hlavním zdrojem informací o tom, co se se zprávou stalo. Nejčastější hodnoty jsou Receive, Send, Submit a Fail (Tato dokumentace společnosti Microsoft popisuje všechny typy událostí zpráv.)
  • MessageInfo a RecipientStatus poskytují podrobné informace o tom, co se se zprávou stalo.
  • MessageLatency ukazuje, kolik času potřeboval server ke zpracování e-mailu.

Nejdůležitější je, jak pomocí prostředí PowerShell získat z protokolů správné údaje.

Pomocí rutiny Get-MessageTrackingLog

Get-MessageTrackingLog můžete prohledat všechny protokoly sledování zpráv. Pokud rutinu použijete bez dalších atributů, vrátí až 1000 záznamů, z nichž většina bude pravděpodobně souviset s činností Stav poštovních schránek. Pokud chcete jedinou rutinou Get-MessageTrackingLog zahrnout více než 1000 záznamů, přidejte atribut -ResultSize unlimited. Přesto jsem si zcela jist, že rutinu neplánujete používat ke sledování aktivity Health Mailboxes. Klíčem k úspěchu je správné filtrování. Níže uvádím několik technik, které můžete použít k filtrování výsledků.

Jak získat obecné informace o toku pošty v Exchange Serveru

Pokud je vaším cílem získat velmi obecnou představu o nedávném toku pošty ve vaší organizaci, použijte níže popsanou syntaxi:

Get-MessageTrackingLog -Start (Get-Date).AddDays(-14) -ResultSize Unlimited | Where -Property Recipients -NotLike "*HealthMailbox*" | ConvertTo-Html > "C:\mtl.html"

Výše uvedený rutina prochází posledních 14 dní protokolů sledování zpráv. Možná vás napadne, proč používat část Where-Object -Property Recipients -NotLike „HealthMailbox*“. Tento filtr odstraní všechny záznamy určené pro Zdravotní schránky. Pokud jste zvědaví, můžete porovnat výsledky s filtrem Where-Object a bez něj. Nakonec poslední rutina v řetězci exportuje výsledky do souboru mtl.html. Výsledky můžete také exportovat do souboru CSV pomocí rutiny ConvertTo-Csv.

Problémem je, že při převodu výsledků do souboru HTML nebo CSV se pole obsahující informace o příjemcích nezobrazí správně. Místo správných hodnot budou pole obsahovat výrazy System.String. Chcete-li tento problém vyřešit, možná budete muset výsledky odeslat do další rutiny Select-Object. Když už jste v tom, proč neomezit výstup tak, aby obsahoval jen nejdůležitější pole?

Get-MessageTrackingLog -Start (Get-Date).AddDays(-7) -ResultSize Unlimited | Where -Property Recipients -NotLike "*HealthMailbox*" | Select-Object sender,@{Name="Recipients";Expression={$_.recipients}},@{Name="RecipientStatus";Expression={$_.recipientstatus}},messagesubject,totalbytes,eventid,messageinfo,messagelatency | ConvertTo-Html > "C:\mtlx.html"

Pokud chcete zaevidovat všechny neúspěšné doručenky a zapsat je do souboru, použijte následující rutinu.

Get-MessageTrackingLog -Start (Get-Date).AddHours(-24) -ResultSize Unlimited –EventId Fail | Where -Property Recipients -NotLike "HealthMailbox*" >> "C:\failed deliveries.csv"

Nejlepší je, že znak >> přidá nové hodnoty do souboru failed.deliveries.csv, takže můžete rutinu pravidelně spouštět a zaznamenávat všechny události selhání.

Jak shromažďovat statistiky pomocí Get-MessageTracking Log

Pokud chcete s operacemi protokolu sledování zpráv provádět složitější operace, uložte je do proměnné.

$mtl Get-MessageTrackingLog -Start (Get-Date).AddDays(-2) –eventId Send -ResultSize Unlimited | Where -Property Recipients -NotLike "*HealthMailbox*"

Výše uvedená rutina ukládá informace o všech zprávách odeslaných za poslední dva dny. Chcete-li změřit, kolik e-mailů vaši uživatelé odeslali obecně, stačí zadat:

$mtl | measure

count sent items in message tracking logs

Pro podrobnější informace můžete použít některé další rutiny pro seskupování, třídění a zobrazení výsledků. Můžete například zobrazit počet e-mailů pro konkrétní uživatele seřazený sestupně:

$mtl | group-object -property sender | Select-Object name,count | Sort-Object count -desc

třídění výsledků v protokolech sledování zpráv

Pomocí trojice rutin Group-Object, Select-Object a Sort-Object spolu s rutinou Get-MessageTrackingLog můžete snadno získat libovolné statistiky o toku pošty.

Jak sledovat konkrétní zprávy pomocí rutiny Get-MessageTrackingLog

Pokud chcete zkontrolovat, co se stalo s konkrétní nedoručenou zprávou, můžete rychle zobrazit všechny nejdůležitější informace tak, že vyhledávání přečerpáte na rutinu Format-List:

… | FL –Property Sender, Recipients, MessageSubject, RecipientStatus

podrobné informace o výsledcích - forenzní analýza v protokolech sledování zpráv

Ve výše uvedeném příkladu můžete snadno zjistit, že zpráva nebyla doručena kvůli transportnímu pravidlu. Zde se ukázalo, že v určitém okamžiku někdo spustil pravidlo toku pošty, které blokuje všechny zprávy, které mají přílohu a klíčové slovo Kitten v předmětu.

Předpokládejme, že z firmy unikla nějaká utajovaná data. Protokoly o sledování zpráv vám mohou pomoci s určením uživatelů, kteří odeslali e-maily mimo vaši společnost, například konkrétní konkurenční společnosti.

Get-MessageTrackingLog –ResultSize Unlimited | Where -Property Recipients -Like "*@competitive-company.com"

Vyhledávání vám umožní najít podezřelé. Je samozřejmě možné, že budete muset kritéria vyhledávání rozšířit nebo zpřísnit, ale to záleží na tom, kolik dat máte k dispozici. Co s výsledky uděláte, není předmětem diskuse na blogu správce.

Další čtení:

  • Sledování zpráv v Office 365 (Exchange Online)
  • Exchange 2019, 2016, 2013, 2010 zálohování poštovních schránek exportem do PST (PowerShell)

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.