www.SAMURAJ-cz.com 

24.04.2024 Jiří Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Exchange - příjem a odesílání pošty pomocí Receive Connectors

Neděle, 14.10.2012 18:40 | Samuraj - Petr Bouška |
Pokud chceme využít protokol SMTP a na Exchange server, nebo pomocí něho někam dále, odeslat zprávu, tak se na straně Exchange využívá logická brána, která se označuje jako Receive Connector. Tyto konektory zpracovávají příchozí komunikaci z internetu, ostatních poštovních serverů a klientů, kteří nepoužívají protokol MAPI. Variant, které v praxi potřebujeme nastavit, je velké množství, a ne vše je možno provést pomocí EMC.

Tento článek byl také publikován v rámci Microsoft TechNet Blog CZ/SK v Microsoft sekci na Živě Exchange: obsluha pošty pomocí Receive Connectors.

Pozn.: Uváděné informace odpovídají Exchange Server 2010 SP2, ale i verze 2007 je v této oblasti velice podobná.

V nadpisu je uvedeno odesílání pošty pomocí Receive Connectors, což se může zdát jako nesmysl, protože tento konektor slouží pro příjem pošty. Pro odesílání máme jiný typ konektoru, který se jmenuje Send Connector. Ale přesto nastavení práv na Receive Connector ovlivňuji v určitých situacích, jestli se nám podaří odeslat zprávu někam dále. Také se na termíny příjem/odesílání musíme dívat z pohledu Exchange serveru a ne našeho. Konfigurace Send Connector v sobě nemá žádné záludnosti a zde se jim věnovat nebudeme.

Popis Receive Connectors

Na Exchange serveru můžeme vytvořit celou řadu přijímacích konektorů. Rozlišují se podle unikátní kombinace parametrů, což je lokální IP adresa, port a zdrojový rozsah IP adres. Dle těchto hodnot se vybírá konektor, který se použije pro dané spojení.

Konfiguraci nebo vytváření Receive Connector provádíme pomocí Exchange Management Console (EMC), která nedovolí nastavit všechny vlastnosti, nebo Exchange Management Shell (PowerShell), k některým nastavením můžeme použít i ADSIEdit.

Když pracujeme s konektory, tak nejčastěji řešíme dvě oblasti:

  • kdo se může ke konektoru připojit - tedy autentizaci
  • kam je možno přes daný konektor doručovat zprávy - pouze do schránek na serveru nebo předávat dále do internetu, případně jaká může být adresa odesílatele - takže jde o oprávnění

Pozn.: S Receive Connector souvisí i termín Open Relay, tak se označuje server, který dovolí komukoliv z internetu skrze něj odesílat poštu (tedy i zprávy, které nekončí na něm) bez autentizace. To je již dlouho naprosto nežádoucí, protože takové servery jsou zneužívány SPAMery.

Na Hub Transport serveru (který je zařazený do domény) se informace o konektorech ukládají do Active Directory. Můžeme se na ně podívat třeba pomocí nástroje ADSIEdit.mscConfiguration - Services - Microsoft Exchange - firma - Administrative Groups - Exchange Administrative Groups - Servers - server - Protocols - SMTP Receive Connectors.

Konfigurace Receive Connector pomocí Exchange Management Console se nachází v Server Configuration - Hub Transport - náš server.

Exchange Management Console

Defaultní konektory

Po instalaci serveru s rolí Hub Transport se automaticky vytvoří dva konektory Client Servername (NetBIOS jméno serveru je servername), který je plánovaný pro příjem pošty od non-MAPI klientů, nastaven je pro Exchange User s autentizací, ale používá pro příjem port 587 (sice jde o používaný port pro tento účel, ale je mnohem méně známý než běžný port 25). Druhý konektor je Default Servername, ten je plánovaný na příjem pošty od jiných Hub Transport a Edge Transport serverů, také vyžaduje autentizaci a povoluje připojení serverů, poslouchá standardně na portu 25.

Počítá se s tím, že máme Edge Transport Server, kde se vytvoří konektor, který akceptuje anonymní připojení z internetu (které potřebujeme pro příjem zpráv z jiných poštovních serverů). Pokud jej nemáme, tak musíme upravit defaultní konektor nebo vytvořit nový.

Vytváření konektoru

Při vytváření nového konektoru nastavujeme předpokládaný účel použití, podle této volby se nastaví autentizace a oprávnění na konektoru. U již vytvořeného konektoru nemáme možnost tento účel měnit (nic takového v jeho parametrech neexistuje, tato hodnota slouží pouze k nastavení v průvodci), ale můžeme upravovat jednotlivě autentizaci a oprávnění.

Receive Connector - účel použití

Nastavit můžeme následujících pět hodnot, u nich je uvedeno jaké vlastnosti se nastaví.

  • Client - permission groups: ExchangeUsers, authentication: TLS, Basic authentication + TLS, Integrated Windows authentication
  • Custom - permission groups: none, authentication: none
  • Internal - permission groups: ExchangeServers, ExchangeLegacyServers, authentication: Exchange Server authentication
  • Internet - permission groups: AnonymousUsers, Partner, authentication: None or Externally Secured
  • Partner - permission groups: Partner, authentication: TLS + Enable Domain Security (Mutual Auth TLS)

Následující dva obrázky ukazují první záložky ve vlastnostech vytvořeného Receive Connector, jak si je můžeme prohlédnout a editovat pomocí EMC. Zde se nastavují základní vlastnosti konektoru, které jsou dostatečně intuitivní, takže je nebudeme podrobněji rozebírat a podíváme se až na další záložky.

Receive Connector - General Receive Connector - Network

Když se začíná navazovat SMTP session, tak se nejprve podle síťových parametrů zvolí odpovídající konektor. Potom se klientovi nabídnou povolené autentizační metody na daném konektoru. Ten si z nich zvolí tu nejlepší, kterou podporuje a autentizuje se. Po té, co dojde k autentizaci, se nastaví daná oprávnění. Tyto věci souvisí s hodnotami, které nastavujeme na konektoru, v EMC jde o záložky Authentication a Permission Groups.

Authentication

Na záložce Authentication volíme, jaké autentizační metody bude konektor nabízet a podporovat. Pokud chceme připojení bez autentizace, tak nezaškrtneme žádnou volbu. Pro připojení z některých aplikačních serverů potřebujeme zvolit Basic Authentication (což odpovídá SMTP AUTH), ideálně s TLS, protože jinak je heslo přenášeno nezabezpečeně (jméno i heslo je pouze kódované pomocí Base64). Integrated Windows authentication využívá NTLM nebo Kerberos.

Receive Connector - Authentication

Permission Groups

Permission Groups jsou předdefinované skupiny objektů (uživatelé, počítače, bezpečnostní skupiny), které můžeme nastavovat na Receive Connector. Například Exchange Users obsahuje AD skupinu Authenticated Users a v Anonymous users jsou neautentizovaní uživatelé. Navíc se každé skupině automaticky přiřazují různá detailní oprávnění. Pro Anonymous jde o Ms-Exch-SMTP-Submit, Ms-Exch-SMTP-Accept-Any-Sender, Ms-Exch-SMTP-Accept-Authoritative-Domain-Sender, Ms-Exch-Accept-Headers-Routing. Pro Authenticated Users jsou práva Ms-Exch-SMTP-Submit, Ms-Exch-SMTP-Accept-Any-Recipient, Ms-Exch-Bypass-Anti-Spam, Ms-Exch-Accept-Headers-Routing.

Receive Connector - Permission Groups

Receive Connector Permissions

Co se týče oprávnění na konektoru, tak EMC nám dovoluje provést pouze hrubé nastavení pomocí Permission Groups, které by údajně mělo být dostatečné pro většinu situací (já to tak ovšem nevidím). Volbou nějaké skupiny oprávnění se na vlastní konektor nastaví práva (ExtendedRights) pro určitý objekt. Pro účely Exchange serveru existuje několik speciálních oprávnění. Většinou je jejich účel vcelku pochopitelný již z názvu, ale uvedeme si zde stručný popis nejdůležitějších práv.

  • ms-Exch-SMTP-Submit - základní právo, aby konektor přijal zprávu
  • ms-Exch-SMTP-Accept-Any-Recipient - dovolí posílat zprávy (relay) příjemcům mimo naši organizaci, bez tohoto oprávnění přijímá pouze zprávy pro příjemce, jejichž adresa spadá do accepted domains
  • ms-Exch-SMTP-Accept-Any-Sender - obchází kontrolu podvržení odesilatele, v opačném případě musí mít uživatel oprávnění odesílat za tuto adresu
  • ms-Exch-SMTP-Accept-Authoritative-Domain-Sender - umožňuje odesílat zprávy z emailových adres, které patří mezi autoritativní domény (zpracovává je náš server)
  • ms-Exch-Accept-Headers-Routing - ponechává hlavičky beze změny, v opačném případě se received headers odstraňují

Konfigurace Receive Connector

Základní vytvoření konektoru nebo jeho nastavení pomocí Exchange Management Console není složité. Obdobné je i pomocí Exchange Management Shell, kde máme k dispozici hlavně dva příkazy New-ReceiveConnectorSet-ReceiveConnector. Tomu se zde ale věnovat nebudeme a podíváme se spíš na nastavení, která nemůžeme provést pomocí EMC.

Pro detailní nastavování práv na konektor můžeme využít buď EMS nebo také ADSIEdit.msc. Další popis bude využívat EMS, ale jde o to vědět co nastavujeme a pokud někdo upřednostňuje ADSIEdit, tak není problém provést nastavení v něm (cestu, kde se konektor nachází, jsme si uvedli v začátku článku).

Nastavení Banneru - identifikace serveru

V úvodu si zmíníme pouze jednu výjimku z dalšího popisu konfigurace oprávnění. Jde o vhodné bezpečnostní nastavení na konektoru, hlavně pokud je dostupný z internetu. Při navázání SMTP spojení na server se tento identifikuje svým jménem a textem Microsoft ESMTP MAIL Service, což může napovídat útočníkovi (samozřejmě to není jediná věc, podle které je možné poznat, že jde o Microsoft poštovní server). Tento text můžeme změnit konfigurací konektoru pomocí EMS.

Set-ReceiveConnector -Identity "SERVER\Default SERVER" -Banner "220 Firma mail server"

Zjištění nastavených oprávnění na konektoru

Jak jsme si uvedli, tak pomocí EMC vidíme pouze nastavené Permission Groups. V praxi se často potřebujeme podívat přímo na oprávnění a případně je měnit. Pomocí EMS si můžeme nejprve vypsat seznam konektorů:

Get-ReceiveConnector

Následně zobrazit nastavená oprávnění na konektoru:

Get-ReceiveConnector "SERVER\jméno konektoru" | Get-ADPermission | FT -AutoSize

To je dlouhý seznam a neobsahuje ExtendedRights, což je asi to hlavní, co chceme zobrazit. Takže náš dotaz trochu upravíme.

Get-ReceiveConnector "SERVER\jméno konektoru" | Get-ADPermission | Sort-Object User | FT User, ExtendedRights, Deny, IsInherited -AutoSize

To už je hezčí, ale pořád dlouhý seznam. V řadě případů nás zajímají oprávnění nastavená pro autentizované a anonymní uživatele, takže můžeme ještě seznam omezit. Případně upravíme tak, že se nám zobrazí práva pro určitou skupinu či uživatele. Níže jsou dva příklady.

Get-ReceiveConnector "SERVER\jméno konektoru" | Get-ADPermission | where-object {$_.User -ilike "NT*"} | Sort-Object User | FT User, ExtendedRights, Deny, IsInherited -AutoSize
Get-ReceiveConnector "SERVER\jméno konektoru" | Get-ADPermission | where-object {$_.IsInherited -eq $false} | Sort-Object User | FT User, ExtendedRights, Deny, IsInherited -AutoSize

Nastavení oprávnění na konektoru

V praxi nastávají různé situace, kdy nám nevyhovuje defaultní nastavení práv a potřebujeme je nastavit lépe. Nejčastěji jde o to, že chceme využít Relay. Tedy, aby náš poštovní server přeposílal zprávy, například z aplikačních serverů, tiskáren, apod. Jde o to, abychom dle možností nastavili tuto situaci bezpečně a nevytvořili Open Relay. Uvedeme si pár běžných situací, a jaká práva je třeba nastavit. Na konci je příklad příkazu, který nastavení provede.

Konektor, který přijímá poštu z internetu, musí akceptovat anonymní uživatele. To můžeme nastavit i pomocí EMC. V EMS pak můžeme zkontrolovat, že pro tuto skupinu (ANONYMOUS LOGON) akceptuje pouze zprávy určené příjemcům z Accepted Domains, tzn. nemá právo ms-Exch-SMTP-Accept-Any-Recipient.

Konektor pro klienty většinou musí dovolit odeslat zprávy všem příjemcům (i mimo organizaci) a měl by vyžadovat autentizaci, takže skupina Authenticated Users potřebuje právo  ms-Exch-SMTP-Accept-Any-Recipient.

Pro aplikační servery potřebujeme konektor, který omezíme pouze na vybrané IP adresy odesílatelů, buď mu nastavíme autentizaci (třeba Basic + TLS) nebo třeba i bez autentizace (pokud ji klient nepodporuje). Pokud chceme odesílat zprávy i mimo organizaci, tak potřebujeme ms-Exch-SMTP-Accept-Any-Recipient, a může být třeba nastavit i ms-Exch-SMTP-Accept-Any-Sender. Pokud využíváme autentizaci, tak asi máme speciální účet, kterým se klient ověřuje, a na konektoru můžeme nastavovat práva pouze pro tohoto uživatele.

Pokud konektor neomezujeme, například na zdrojové IP adresy, tak jej můžeme použít pro více skupin s různými právy. Protože jiná oprávnění nastavíme autentizovaným uživatelům a jiná anonymním.

Nastavení pomocí EMS vypadá následovně:

Get-ReceiveConnector "SERVER\Default SERVER" | Add-ADPermission -User "NT AUTHORITY\Authenticated Users" -ExtendedRights ms-Exch-SMTP-Accept-Any-Sender, ms-Exch-SMTP-Accept-Authoritative-Domain-Sender
zobrazeno: 16843krát | Komentáře [1]

Autor:

Související články:

Microsoft Exchange

Jednou částí mé práce je administrace poštovního serveru od firmy Microsoft, tedy Exchange Serveru. Články začínají u verze 2003 a jak jde čas, tak pokračují dále.

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

  1. [1] Erik

    Dobry den ja by som sa Vas chcel opytat ze ci v Outlooku existuje taka fumkcia ako v Thunderbird ze ked oznacim spravu na jednom PC ako precitanu aby sa mi na druhom PC na tom istom ucte objavila ako neprecitana a nie ako precitana,

    Vopred dakujem

    Pondělí, 26.10.2015 21:16 | odpovědět
Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách