e GR..ó..D..ó.. KyZe D. Dent O'REIl.Ly Předmluva Wietse Venema



Podobné dokumenty
Elektronická pošta. elementární služba, výchozí pro některé další jedna z prvních síťových služeb vůbec. základní principy popisují

Linux jako mail server

Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP

spolupráce více systémů. . Pro zajištění služby je používáno více aplikačních protokolů, např.: DNS SMTP.

Návod na používání webmailu

Inovace a zkvalitnění výuky prostřednictvím ICT Počítačové sítě

Jemný úvod do Postfixu

1. DATOVÉ SCHRÁNKY OBECNÝ PŘÍSTUP K DATOVÉ SCHRÁNCE DATOVÉ ZPRÁVY... 3

Jemný úvod do Postfixu

PRAVIDLA PROVOZU ELEKTRONICKÉ POŠTY V BIOFYZIKÁLNÍM ÚSTAVU AV ČR

Elektronická pošta... 3 Historie... 3 Technické principy... 3 Komunikační protokoly... 3 MBOX... 4 Maildir... 4 Jak funguje POP3...

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

Příručka nastavení funkcí snímání

Návod pro použití Plug-in SMS Operátor

Postup nastavení bezpečné ové schránky pro zákazníky Logicentra

Ing. Jitka Dařbujanová. , SSL, News, elektronické konference

Na vod k nastavenı u

Použití programu WinProxy

Podstata elektronické pošty

1 Princip fungování Aplikace Šimon. 2 Instalace programu do telefonu

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

Nastavení telefonu T-Mobile MDA II

Správa linuxového serveru: Úvod do poštovního serveru

Je to SMTP a POP3 server který spolupracuje s GSM branami Alphatech. Převádí SMS zprávy na y a y na SMS zprávy.

Administrace Unixu (Mailování)

SEMESTRÁLNÍ PROJEKT Y38PRO

Práce s ovými schránkami v síti Selfnet

Systém souborů (file system, FS)

Nastavení programu pro práci v síti

Connection Manager - Uživatelská příručka

SMTPServer - Příručka

Uživatel počítačové sítě

Nastavení telefonu T-Mobile MDA II

BM Software, Databáze Docházky 3000 na NAS serveru (pro MySQL) Němčičky 84, Němčičky u Břeclavi. Úvodní informace:

Prosím mějte na paměti, že z bezpečnostních důvodů byste měli změnit Internetový přístupový kód každých 60 dní.

VDDMAIL by ESCAD, Corp. (Součást IWSE.NET Services by ESCAD, Corp.)

PSK3-20. Malý poštovní server I. Instalace

Úvod do informatiky 5)

Návod k obsluze IP kamery Zoneway. IP kamery jsou určené pro odbornou montáž.

Nastavení poštovních klientů pro přístup k ové schránce na VŠPJ

OBSAH. Word. První spuštění a hlavní obrazovka Wordu 3 Základní nastavení Wordu 6 Kontrola pravopisu a mluvnice 8 Nastavení ukládání dokumentu 12

1 Správce licencí Správce licencí Správce licencí Start > Všechny programy > IDEA StatiCa > Správce licencí Soubor > Správce licencí Licence

Nastavení telefonu T-Mobile MDA Compact III

CZ.1.07/1.5.00/

Dokumentace. k modulu. podnikový informační systém (ERP) Datové schránky

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

PŘÍRUČKA SÍŤOVÝCH APLIKACÍ

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Počítačové sítě Internetový systém elektronické pošty

Při konfiguraci domácího směrovače a bezdrátové sítě se setkáte s obrovským počtem zkratek, jejichž význam je jen málokdy dostatečně vysvětlen.

Nastavení telefonu Nokia N9

Uživatelská dokumentace

Provozní pokyny Průvodce Mopria

Nastavení telefonu Samsung S5610

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ. MEIV Windows server 2003 (seznámení s nasazením a použitím)

Stručná instalační příručka SUSE Linux Enterprise Server 11

Nastavení tabletu Apple ipad

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

Úvod do informačních služeb Internetu

Platební systém XPAY [

schopni vysvětlit, co znamená protokol NFS a k čemu se používá; umět rozpoznat autorské dílo a znát autorská práva;

SOFTWARE 5P. Instalace. SOFTWARE 5P pro advokátní praxi Oldřich Florian

1 Webový server, instalace PHP a MySQL 13

26 Evidence pošty. Popis modulu. Záložka Evidence pošty

Identifikátor materiálu: ICT-3-03

Průvodce aplikací GTS Webový portál pro správce

Příručka Google Cloud Print

Uživatelská dokumentace

OmniTouch 8400 Instant Communications Suite. Integrace aplikace Microsoft Outlook. Připojení ke službám na vyžádání

Provozní pokyny Aplikační stránky

Nastavení telefonu Nokia Asha 311

Návod k nastavení uvolnění tisku

Souborové systémy a logická struktura dat (principy, porovnání, příklady).

Import kořenového certifikátu CA ZŠ O. Březiny

Aplikace BSMS. Uživatelská příručka - 1 -

Send Driver. Příručka správce

Aktualizace softwaru Uživatelská příručka

Název školy: Základní škola a Mateřská škola Žalany. Číslo projektu: CZ. 1.07/1.4.00/ Téma sady: Informatika pro devátý ročník

ové služby a IPv6

Vzdálené připojení do sítě ČEZ VPN Cisco AnyConnect

Uživatelský manuál

Aplikace AWEG3 Profil SMS. Uživatelská příručka. Aktualizace:

Návod pro připojení k síti VŠPJ prostřednictvím VPN Vysoká škola polytechnická Jihlava

Nastavení telefonu Nokia Lumia 925

9. Ovládání poštovní schránky po telefonu. Verze dokumentu: 1.0 Autor: Petr Šetka Časová náročnost: 20 minut

Vzdálené připojení do sítě ČEZ VPN Cisco AnyConnect

FIO API PLUS. Verze 1.1.1

ové služby na IPv6-only

Uživatelská příručka BlackBerry Internet Service

MANUÁL K PROGRAMU EKV verze 1.4

Nastavení telefonu Windows Phone 8S by HTC

Ukazka knihy z internetoveho knihkupectvi

Dokumentace k nevizuálnímu rozhraní aplikace DopisOnline

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

Osnova kurzu OBSLUHA PC ZÁKLADNÍ ZNALOSTI. pilotního projektu v rámci I. Etapy realizace SIPVZ

Nápověda pro systém ehelpdesk.eu

Nastavení Microsoft Outlook 2007

Transkript:

e GR..ó..D..ó.. O'REIl.Ly KyZe D. Dent Předmluva Wietse Venema

Kyle D. Dent Postfix kompletní průvodce Přeložil Ludvik Roubíček Z anglického originálu "Postfix: The Definitive Guide", vydaného v roce 2004 nakladatelstvím O'Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472, USA. Copyright Grada Publishing, a.s., 2005. Authorized translation of the English edition. 2004 O'Reilly Media, Inc. This translation is published and sold by permission of O'Reilly Media, Inc., the owner of all rights to publish and seli the same. Vydala Grada Publishing, a.s. U Průhonu 22, Praha 7 jako svou 2217. publikaci Odpovědný redaktor Martin Kysela Sazba Helena Krischke Grafická úprava obálky Matouš Přikryl Počet stran 252 První vydání, Praha 2005 V knize pou:ijté nát!!y programorych produktů, firem apod mohou Idt ochrannými známkami nebo registrovanými ochrannými známkami příslušných vlastníků. Vytiskly Tiskárny Havlíčkův Brod, a.s. Husova ulice 1881, Havlíčkův Brod ISBN 80-247-1029-3

Obsah Předmluva... ix Úvod... x 1. Úvod... 1 Původ a ftlosofie Postfixu 1 E-mail a internet 3 Role Postfixu 5 Zabezpečení Postfixu 6 Další informace o získání Postfixu 8 2. Předpoklady... 9 Témata o systému Unix 9 Témata týkající se e-mailů 11 3. Architektura Postfixu... 18 Komponenty Postfixu 18 Jak zprávy vstupují do systému Postfix 19 Místní doručení 21 Doručení pošty 21 Trasování zprávy přes Postfix 24 4. Obecná konfigurace a správa... 27 První spuštění Postfixu 28 Konfigurační soubory 29 Důležité úvahy o konfiguraci 40 Soubor master.cf 46 Omezení příjmu Přepisování adres Příkaz chroot Dokumentace 50 51 55 56

5. Řízení fronty... 57 Jak funguje qmgr 57 Nástroje fronty 61 6. E-mail a DNS... 66 Úvod do DNS 66 Směrování pošty 67 Postfix a DNS 70 Běžné problémy 72 7. Místní doručování a POP/IMAP... 75 Způsoby doručování 75 Formáty úložiště zpráv Místní doručování POP a IMAP Protokol LMTP (Local Mail Transfer Protocol) 8. Hosting více domén... 87 Sdílené domény se systémovými účty 88 Oddělené domény se systémovými účty 88 Oddělené domény s virtuálními účty 89 Oddělené úložiště zpráv 93 Doručování do příkazů 93 9. Předávání pošty (Mail Relaying)... 101 Záložní MX 101 Transportní mapy 104 Brána pro příchozí poštu 107 Předávání odeslané pošty 108 UUCP, fax a další doručování 109 10. E-mailové konference... 11 O Jednoduché elektronické konference 111 Správci konferencí (MLM - Mailing-List Managers) 115 11. Blokování nevyžádaných zpráv... 123 Povaha spamu 123 Problém spamu 124 Otevřené systémy (Open Relays) 124 Detekce spamu 125 Nastavení Postfixu 128 Pravidla pro detekci klienta 128 Kontrola obsahu 141 Upravené třídy omezení Příklad nastavení Postfixu proti spamu 76 78 81 82 144 145

12. Ověřování SASL... 147 Seznámení se SASL 148 Postfix a SASL 150 Nastavení Postfixu pro SASL 150 Testování nastavení ověřování 155 Ověřování klienta SMTP 157 13. TLS (Transport Layer Security)... 159 Postfix a TLS 159 Certifikáty TLS 161 14. Filtrování obsahu... 169 Filtrování založené na příkazech 170 Filtrování založené na démonu 172 Další informace 176 15. Externí databáze... 177 MySQL 178 LDAP 183 A. Konfigurační parametry... 187 B. Příkazy Postfixu... 211 C. Kompilace a instalace Postfixu... 213 D. Často kladené dotazy... 226 Rejstřík... 231

J sem vždy ohromen, když přemýšlím o původních návrhářích technologií internetu. Byli (a mnozí stále jsou) úžasnou skupinou lidí, kteří vyvíjeli software a technologie pro síť, která byla ve srovnání s dneškem nepatrná. Výsledky jejich práce fungují i v nejen mnohem větším, ale také ve velmi odlišném prostředí. Rozšíření nebylo zcela bezbolestné, ale to nezmenšuje tento úžasný výkon. Sendmail je příkladem jedné z dávných technologií, které byly napsány pro jiný svět, a která je stále relevantní a používaná pro doručování velké části dnešní pošty. Postfix má tu výhodu, že byl postaven na základě znalostí měřítka a nepřátelského prostředí, kterému musí čelit. Ve skutečnosti bylo jeho vytvoření motivováno potřebou překonání některých problémů software napsaného v mnohem bezpečnější době. Nejprve jsem začal používat Postfix při práci se systémy v prostředí náročném na zabezpečení. Příslib vyšší flexibility a vyššího zabezpečení mě hned zaujal. A nebyl jsem zklamán. Netrvalo dlouho a zapojil jsem se a dal jsem přednost Postfixu. Tato kniha je mým pokusem o vytvoření referenční příručky a návodu k pochopení toho, jak Postfix funguje. Jejím hlavním cílem je vysvětlení podrobností a konceptů na pozadí Postfixu. Také nabízí instrukce pro provedení mnoha specifických úloh. Dokumentování software, který je stále aktivně vyvíjen, je tak trochu jako pokusem o zastavení tekoucí vody. Tato kniha bude proto nekompletní ještě dříve než bude vydána. Pokusil jsem se strukturovat informace v této knize tak, abych vypustil věci, které by se mohly stát rychle irelevantními nebo zastaralými, aby kniha obsahovala po co nejdelší dobu hodnotné informace. Samozřejmě můžete tyto informace doplňovat o online dokumentaci, webové stránky a e-mailovou konferenci Postfixu. Audience Postfix je sít'ovou aplikací napsanou pro systém Unix. Čím více budete vědět o sítích a Unixu, tím lépe budete vybaveni pro správu Postfixu. Tato kniha se pokouší vysvětlit věci tak, aby byly pochopitelné i pro nové uživatele Unixu, ale je nerealistické si myslet, že byste se naučili spravovat Postfix bez znalosti (nebo alespoň získávání znalosti) systémů Unix. Tato kniha se zaměřuje na samotný Postfix. Další koncepty jsou vysvětleny jen

pro pochopení funkcí a konfigurace Postfixu. Pokud jste nováčky v Unixu, určitě byste si měli opatřit i jiné informace o Unixu. Výbornou volbou je kniha Unix System Adrninistration Handbook, kterou napsal Evi Nemeth, et al. (prentice-hall) a která obsahuje užitečnou část o elektronické poště. Užitečné mohou být napřfklad také dokumenty RFC zmíněné v této knize. Organizace knihy Kapitoly 1 až 3 poskytují základní informace o Postfixu a elektronické poště, kapitoly 4 až 7 se zabývají obecnými aspekty provozu Postfixu a kapitoly 8 až 15 popisují konkrétní témata, která můžete a nemusíte potřebovat - podle toho, jak používáte Postfix: Kapitola 1 Představuje Postfix a některé obecné koncepty elektronické pošty. Také se zabývá některými věcmi návrhu, které vedly k vytvoření Postfixu. Kapitola 2 Zahrnuje témata potřebná pro pochopení ostatních konceptů uvedených v této knize. Kdokoliv se znalostí základů Unixu a elektronické pošty může tuto kapitolu bezpečně vynechat. Kapitola 3 Vysvětluje části modulární architektury Postfixu a to, jak Postfix zpracovává elektronické zprávy. Kapitola 4 Obsahuje velké množstvi témat pro nastavování a správu serveru s Postfixem. Kapitola 5 Vysvětluje, jak funguje správce fronty Postfixu a uvádí nástroje používané pro práci s frontou. Kapitola 6 Popisuje používání DNS pro směrování e-mailových zpráv. Uvádí ohledy pro nastavování DNS tak, aby pracovalo s Postfixem. Kapitola 7 Popisuje, jak Postfix provádí místní doručování a jak spolupracuje se servery POP almap. Kapitola 8 Se zabývá použitím Postfixu pro příjem pošty pro virtuální domény. Kapitola 9 Popisuje práci Postfixu jako systému pro předávání pošty nebo poštovní brány.

Kapitola 10 Popisuje nastavování e-mailových konferencí v Postfixu a používánúti Postfixu ve spojení se správci konferencí (MlM). Obsahuje příklady pro Majordomo a Mailman. Kapitola 11 Tato kapitola se zabývá nástroji Postfixu pro blokování nevyžádané pošty. Kapitola 12 Popisuje používání knihoven SASL pro ověřování SMTP pro klienty pro předávání zpráv prostřednictvím vašeho serveru s Postfixem. Kapitola 13 Zabývá se použitím TLS pro zajištění šifrované komunikace mezi klienty a vaším serverem PostflX. Kapitola 14 Popisuje externí f1ltry obsahu. Kapitola 15 Seznamuje s používánúti externích datových zdrojů pro vyhledávací tabulky Postfixu. PfílohaA Pfí/oha B Obsahuje abecední seznam konfiguračních parametrů Postfixu. Obsahuje seznam nástrojů pro příkazový řádek, které jsou obsaženy v Postfixu, s krátkými popisy. Příloha C Se zabývá kompilací a instalací Postfixu ze zdrojových souborů. Příloha D Obsahuje seznam často kladených otázek o Postfixu. Konvence používané v této knize Knrziva Položky objevující se v této knize jsou někdy zdůrazněné jejich odlišením od běžného textu. Zde je jejich popis: Je používána pro příkazy, e-mailové adresy, URl, názvy souborů, zdůrazněný text, první uvedení termínů a citace z knih a článků. Písmo Courier New Se používá pro literály, konstantní hodnoty, V)'Pisy kódu a XML. Kurzivní písmo Courier New Se používá pro nahraditelné názvy parametrů a proměnných.

Tučné písmo Couríer Ne. Používá se pro zdůraznění části výpisu kódu..... [TI, : II.....:. "., Tyto ikony označují tip, doporučení nebo obecnou poznámku. Tyto ikony označují varování nebo upozornění. Komentáře a dotazy Komentáře a dotazy týkající se této knihy prosím adresujte vydavateli: O'Reilly & Associates, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 (800) 998-9938 (in the United States or Canada) (107) 829-0515 (international or local) (107) 829-0104 (fax) O'Reilly udržuje webovou stránku pro tuto knihu, která obsahuje errata, příklady a případné další informace. Tato stránka je k dispozici na adrese: http://www.oreil/y. com/catalog/ postftx/ Komentáře nebo dotazy ohledně této knihy posílejte na adresu: bookquestions@oreil/y.com Více informací o knihách vydavatelství O'Reilly, konferencích, zdrojích informací a O'Reilly Network najdete na webu O'Reilly na adrese: http://www.oreil/y.com/ Poděkování Můj dík si samozřejmě v první řadě zaslouží Wietse Venema za Postfix, ale také za mnoho příspěvků internetové komunitě. Díky cti spolupracovat s ním při vytváření této knihy je mi jasné, že věnuje stejnou pozornost všem detailům. Tato kniha značně čerpala z jeho příspěvků. Vždy jsem obdivoval O'Reilly & Associates jako společnost. Po zkušenosti se spoluprací s nimi můj obdiv přinejmenším neklesl. Můj redaktor, Andy Oram, perfektně zosobňuje cíle společnosti. Rád jsem s ním diskutoval a jeho komentáře byly vždy užitečné. Oceňuji jeho enormní trpělivost. Lenny Muellner mi pomohl s nástroji pro zpracování textu a rád bych poděkoval Davidu Chu za jeho pomoc kdykoliv jsem ji potřeboval. Také bych rád poděkoval Robertu Romano za zpracování mých hrubých náčrtků do

profesionálních obrázků, které najdete v této knize, a Regovi Aubry za provedení této knihy redakčním procesem. Spolupracoval jsem s několika odbornými korektory, kteří mi pomáhali nejen opravovat detaily, ale také často nabídli užitečná doporučení ke stylizování textu. Mé díky patří Robu Dinoff, Vikto!u Dukhovni (a.k.a. Victor Duchovni), Lutzu Janicke, a Alanu Schwartz. Přál bych si mít takový tým hledící mi přes rameno při všem, co dělám. Také bych rád poděkoval mnoha členům konference postfix-users@postfix.org. Je to aktivní konference s malým obsahem irelevantních informací, používaná velmi schopnými lidmi. Její členové pomáhají nejen uživatelské komunitě, ale přispěli svými komentáři k vývoji samotného Postfixu. Nakonec jsem velkým dlužní'kem mé ženy a prvního korektora, Jackie. Podrobila puntičkářskému testování mé počáteční návrhy. Tato kniha byla značně vylepšena díky její trpělivosti a hodnotnému přispění.

KAPITOLA 1 Úvod Historie internetové elektronické pošty Ce-mailu) sahá až do počátků 70. let minulého století, kdy docházelo k odesílání prvních zpráv přes síť Arpanet, což je předchůdce dnešního internetu. Od té doby je e-mail nejpoužívanější aplikací na internetu. Kdysi bylo doručování elektronické pošty relativně jednoduché a obvykle sestávalo z přesunování malých poštovních souborů z jednoho velkého hostitele na jiného velkého hostitele, který sloužil mnoha uživatelům. Jak se internet vyvíjel a síť samotná byla stále složitější, byly zapotřebí pro přesun pošty mezi různými sítěmi a různými typy sítí stále flexibilnější nástroje. Balíček Sendmail, uvedený na počátku 80. let, měl za úkol vyrovnat se s mnoha odlišnostmi mezi jednotlivými poštovními systémy. Rychle převzal dominantní roli v doručování pošty na internetu. V současné době používá většina internetových sídel k odesílání a příjmu poštovních zpráv poštovní protokol SMTP. Sendmail je stále jedním z nejpoužívanějších serverů SMTP, trpí však také určitými problémy. Jeho monolitická architektura je zásadním zdrojem řady potíží se zabezpečením a jeho konfigurace a správa může být rovněž obtížná. Systém Postfix byl od samého počátku vyvíjen s tím záměrem, že nahradí převládající Sendmail. Jeho návrh odstraňuje řadu zdrojů bezpečnostních potíží. Postfix také eliminuje většinu složitostí, které doprovázejí správu instalace Sendmailu. Správa Postfixu je řízena dvěma konfiguračními soubory a Postfix je již od základů vytvořen tak, aby se rozumným způsobem vyrovnal se všemi neočekávanými hardwarovými a softwarovými problémy. Původ a filosofie Postfixu Postfix napsal Wietse Venema, který je znám zejména díky svým bezpečnostním nástrojům a dokumentům popisujícím zabezpečení. Program byl zpřístupněn jako software s otevřeným zdrojovým kódem v prosinci roku 1998. Původní uvedení sponzorovala firma IBM Research, která podporuje i jeho neustálý vývoj. (IBM označuje tento balíček za Secure Mailer.) Již na počátku byly stanoveny určité cíle, jež řídily návrh a vývoj Postfixu:

Spolehlivost Postf1x prokazuje svou skutečnou hodnotu zejména při práci ve vysokém zatížení. Dokonce i v jednoduchých prostředích se může software setkat s neočekávanými výjimkami. Mnoho softwarových systémů se například chová nepředvídatelně, když jim dojde paměť nebo diskový prostor. Postf1x detekuje takové podmínky a namísto zhoršení ptoblému nabídne systému možnost vzpamatovat se. Bez ohledu na různá rizika, kterým je vystaven, se Postf1x všemožnými způsoby snaží fungovat stabilně a spolehlivě. Zabei/lečení vykon Postf1x předpokládá, že běží v nepřátelském prostředí. K ochraně proti útočníkům zavádí několik obranných vrstev. Celým systémem Postf1xu prostupuje bezpečnostní princip nejmenších oprávnění, takže každý proces, který může běžet izolovaně, běží s nejnižší sadou oprávnění neboli privilegií, jež skutečně potřebuje. Procesy běžící s vyššími oprávněními nikdy nedůvěřují neprivilegovaným procesům. Podobně platí, že nepotřebné moduly lze deaktivovat, což vede ke zvýšení zabezpečení a zjednodušení instalace. Postf1x byl vytvořen s ohledem na dosažení vysokého výkonu. Ve skutečnosti musí činit určité kroky zajišťující, že jeho rychlost nezahltí jiné systémy. Speciálními technikami limituje jak počet nových procesů, které je nutné vytvořit, tak i počet přístupů k systému souborů, jež jsou zapotřebí v rámci zpracovávání zpráv. Flexibilita Systém Postfix je tvořen několika různými programy a podsystémy. Tento přístup nabízí vysokou flexibilitu čili pružnost. Všechny součásti lze snadno dolaďovat prostřednictvím jednoduchých konfiguračních souborů. Snadné pout/vání Postf1x je z hlediska nastavení a správy jedním z nejjednodušších balíčků pro zpracování elektronické pošty, protože pracuje s prostými konf1guračními soubory a jednoduchými vyhledávacími tabulkami zajišťujícími překlad adres a předávání zpráv. Základní princip nastavení Postf1xu lze označit za "nejmenší překvapení". To znamená, že Postf1x se do maximální možné míry chová právě tak, jak by většina lidí očekávala. Během rozhodování ve fázi návrhu se Dr. Venema přikláněl na tu stranu, která se zřejmě bude zdát většině lidí jako nejrozumnější. Kompatibilita se S endmailem Protože je kompatibilní se Sendmailem, může Postf1x jednoduše nahradit Sendmail, aniž by se v systému změny nějak dotkly uživatelů a aniž by došlo k narušení funkce aplikací, které jej využívají. Postf1x podporuje konvence Sendmailu jako letci aliases a soubory fonvard. Spustitelný program Sendmailu, sendmail, je nahrazen verzí Postf1xu, která podporuje téměř všechny původní argumenty přľkazového řádku, běží však ve spojení se systémem Postfix. I když vaše programy závislé na Sendmailu budou nadále fungovat, Postf1x byl vyvíjen nezávisle na Sendmailu a nemusí implementovat všechny prvky práce s elektronickou poštou stejným způsobem.

E-mail a internet Na rozdíl od mnoha proprietárních řešení elektronické pošty, kdy jediný softwarový balíček zajišťuje vše, je internetový e-mail sestaven z několika standardů a protokolů, které definují skladbu zpráv a jejich přenos od odesílatele k příjemci. Procesu se účastní mnoho různých softwarových součástí, přičemž každá se stará a jiný krok dodání zprávy. Postfix zajišťuje jen část celého tohoto procesu. Většina uživatelů elektronické pošty zná pouze software, který používá ke čtení a psaní zpráv. Ten se označuje za poftovního u vatelského agenta (Mail User Agent - MUA). Příklady obvyklých agentů MUA jsou mutt, elm, Pine, Netscape Communicator a Outlook Express. Programy MUA jsou dobré pro čtení a psaní zpráv elektronické pošty, o dodání zpráv se však téměř nestarají. Právě zde nastupuje Postfix. Součásti e-mailu Když řeknete MUA, aby odeslal nějakou zprávu, pak ji jen prostě předá poštovnímu serveru, na kterém běží poštovní přenosový agent (Mail Transfer Agent - MT A). Obrázek 1-1 zachycuje komponenty, které se účastní jednoduchého vyslání e-mailu od odesílatele k příjemci. Agenti MTA Gako Postfix) mají na starosti veškerou práci s přesunem zprávy z jednoho systému na druhý. Když obdrží požadavek na příjem zprávy elektronické pošty, stanoví agent MTA, zda má danou zprávu přijmout nebo nikoli. MTA obvykle přijímá zprávy pro své vlastní lokální uživatele, pro jiné systémy, kterým umí zprávu předat, nebo zprávy od uživatelů, systémů či sítí, které mohou předávat poštu na jiné cíle. Jakmile daný MTA zprávu přijme, musí se rozhodnout, co s ní dále udělá. Může ji odeslat nějakému uživateli na svém systému, nebo ji může předat dál jinému agentovi MTA. Zprávy, určené pro jiné sítě, zřejmě projdou mnoha systémy. Nedokáže-li náš MT A zprávu doručit ani ji předat dále, odešle ji zpět původnímu odesílateli nebo na tuto skutečnost upozorní správce systému. Servery MTA obvykle spravují poskytovatelé služeb internetu (Internet Service Provider - ISP) v případě jednotlivců, nebo podniková oddělení informačních systémů v případě zaměstnanců. Odesnatel I ;:J c:p M....... r-!a!.1 A I,,:, L..... r;;i Obrázek 1-1. fednodlldj průchod iprál!y internetem POP/IMAP ( IMAP Zpráva nakonec dorazí na MTA, který je konečným cílem. Je-li zpráva je určena uživateli na tomto systému, daný MTA ji předá agentovi doručení ifjrál!j (Message Delivery Agent - MDA), který zajistí její finální doručení. MDA si může zprávu uložit jako

prostý soubor, nebo ji může předat speciální databázi elektronické pošty. Termín úloťiftl ráv (Message Store) označuje nějaké trvalé úložiště zpráv a nezabývá se tím, jak konkrétně vypadá. Jakmile je zpráva umístěna do úložiště, zůstane tu, až dokud není příslušný příjemce připraven k jejímu vyzvednutí. Příjemce používá k převzetí zprávy a jejímu přečtení agenta MUA. -Tento agent kontaktuje server poskytující přístup k úložišti zpráv. Daný server je oddělen od MTA, který zprávu dodal, a je vytvořen specificky k zajišťování přístupu pro přebírání zpráv. Jakmile server žadatele úspěšně ověří, může zprávu tohoto uživatele odeslat jeho agentovi MUA. Protože internetové standardy jsou otevřené, existuje mnoho různých softwarových balíčků zpracování internetové elektronické pošty. Různé balíčky implementující tytéž protokoly mohou vzájemně spolupracovat bez ohledu na to, kdo je vytvořil, a na jakém typu systému běží. Budete-li sestavovat kompletní e-mailový systém, pak bude zřejmě software zpracovávající SMTP v jiném balíčku, než software zpracovávající POP /IMAP' Pro každý aspekt vašeho kompletního systému elektronické pošty existuje mnoho různých softwarových řešení. Hlavní e-mailové protokoly Komunikace, k níž dochází mezi popisovanými komponentami e-mailového systému, je definována standardy a protokoly. Dokumenty standardů spravuje skupina Internet Engineering Task Force (letf) a publikuje je jako Request For Comments (RFC - žádost o komentář). To jsou číslované dokumenty vysvětlující určitou technologii nebo protokol. K odesílání zpráv se používá Simple Mail Transport Protocol (SMTP - jednoduchý protokol přenášení pošty), zatímco k jejich příjmu slouží Post Offtce Protocol (pop - poštovní protokol) nebo Internet Mail Application Protocol (lmap - protokol aplikace internetové pošty). SMTP, definovaný v RFC 2821, popisuje konverzaci, k níž dochází mezi dvěma hostiteli na síti při výměně e-mailových zpráv. Protokoly lmap (RFC 2060) a POP (RFC 1939) popisují, jak přebírat zprávy z úložiště zpráv. Protokol lmap byl vyvinut až po protokolu POP a nabízí doplňkové funkce. V obou případech zůstávají na centrálním serveru zprávy elektronické pošty pro uživatele, kteří si je obvykle přes síť přebírají. Není nutné, aby MUA používal pro POP /IMAP stejný systém jako pro SMTP. Právě proto je zapotřebí na klientech elektronické pošty nakonfigurovat samostatně POP / lmap a SMTP. Poskytovatel může nabízet svým klientům jiné servery pro každou funkci a podnikoví uživatelé, kteří jsou mimo kancelář, si často stahují zprávy z podnikového serveru POP /IMAP, přičemž ale k odesílání zpráv používají server SMTP nebo vytáčené připojení k ISP. Software MTA, běžící na serverech SMTP, neustále naslouchá požadavkům na příjem zpráv. Tyto požadavky mohou přijít od agentů MUA nebo jiných serverů MT A.

SMTP a předávání elektronické pošty SMTP se běžně používá k odesílání zpráv a jejich předávání mezi agenty MTA. Když nějaký MUA kontaktuje MTA a požaduje dodání zprávy, používá protokol SMTP. SMTP se také použije, když jeden MTA kontaktuje druhého MTA a chce mu předat zprávu. Protokol SMTP původně neobsahoval prostředky ověření uživatelů, jeho rozšíření však v případě nutnosti mohou tuto schopnost zajistit. Další informace o ověřování (autentikovám) uživatelů SMTP najdete v sedmé kapitole. POPil MAP a přístup k poštovní schránce Když si chtějí uživatelé stáhnout zprávy, použijí svého agenta MUA, který se připojí k serveru POP nebo lmap a vše pro ně zajistí. Uživatelé POP obvykle převezmou ze serveru všechny zprávy a pak s nimi pracují místně. lmap nabízí prvky, které usnadňují správu pošty přímo na serveru. (Další informace o používání Postfixu ve spojení se servery POP a lmap najdete ve dvanácté kapitole.) Mnoho serverů nyní nabízí oba protokoly, takže je budu společně označovat za servery POP /IMAP. Protokoly POP a lmap nemají nic společného s odesíláním e-mailu. Zabývají se výhradně tím, jak uživatelé přebírají již dříve doručené a uložené zprávy. Ne všichni uživatelé potřebují přístup POP /IMAP k úložišti zpráv. Kupřľkladu uživatelé s přístupem k prostředí unixového počítače mohou mít své agenty MUA nakonfigurované tak, že čtou elektronickou poštu přímo z poštovního souboru, který se nachází na témže stroji. Role Postfixu Postfix je agent MTA; zpracovává předávání zpráv mezi servery a lokálně v rámci systému. Nezajišťuje komunikace POP ani lmap. Obrázek 1-2 představuje jednoduchý příklad odesílání zprávy, kdy má Postfix zodpovědnost MTA a za místní doručení. Jako agent MTA Postfix přijímá a odesílá zprávy elektronické pošty přes síť protokolem SMTP. V případě místruno dodání může lokální agent Postfixu vkládat zprávy přímo do úložiště zpráv nebo je předávat specializovanému agentovi doručení pošty. Příklad ukazuje Postfix jako sever SMTP na obou koncích e-mailové transakce; jelikož ale Postfix vychází z internetových standardů, může být druhým serverem elektronické pošty našeho příkladu jakýkoli jiný server naplňující tytéž standardy. Postfix může komunikovat s jiným serverem hovořícím protokolem SMTP (a dokonce i některými dalšími, které SMTP tak dobře nezvládajd. V našem případě chce Heloisa odeslat zprávu Abélardovi ze své adresy (heloise@oreilfy.com) na jeho adresu (abelard@postftx. org). Heloisa použije k sestavení zprávy svého klienta elektronické pošty, který ji následně předá agentovi MTA (prostřednictvím SMTP). Zde je jejím MTA server Postfix umožňující předávání zpráv. Po příjmu zprávy od poštovmno klienta Heloisa stanoví server Postfix podle Abélardovy e-mailové adresy, kam je zapotřebí zprávu odeslat. S V}"lžitím DNS

polnll prlllmel PolHlI odnnl'lla PoIIovof IIlVIr PoIIovof servlr :....... "--....... I J Slrvar DNS Obrázek 1-2. Pfi/eJad dorulení e-mailové :@ráty v síti (další informace o DNS a e-mailu najdete v šesté kapitole) zjistí, který server SMTP by měl přijímat zprávy pro Abélardovu doménu (post6x.org) a tento server kontaktuje (pomocí SMTP). Abélardův server Post6x zprávu přijme a uloží ji až do okamžiku, než bude Abélard připraven k jejímu vyzvednutí. V tomto okamžiku práce Post6xu končí. Jakmile je Abélard připraven převzít své zprávy, jeho klient elektronické pošty převezme protokolem POP nebo lmap zprávu od Heloisy. Náš příklad vypouští podrobnosti komplikovaných úkolů doručování počty Post6xem. V případě zpráv s více příjemci musí Post6x zjistit, kam odeslat kopie pro jednotlivé adresáty. Pokud nemohou nějací příjemci zprávu přijmout kvůli problému se sítí nebo systémem, musí Post6x zprávu zařadit do fronty a periodicky se pokoušet o její odeslání. Z hlediska uživatele je operace Post6xu téměř neviditelná. Z hlediska internetových poštovních systémů zajišťuje Post6x většinu aspektů doručení zprávy elektronické pošty. Zabezpečení Postfixu E-mailové systémy jsou pochopitelně vystavené útokům, protože už samotný princip jejich činnosti vyžaduje příjem dat z nedůvěryhodných systémů. Je poměrně obtížné vybudovat systémy, které odolají útoku, a každá dobrá strategie zabezpečení bude zahrnovat více ochranných vrstev. To platí především pro veřejné systémy a potenciálně nepřátelské prostředí. Post6x řeší zabezpečení aktivním a vícevrstvým přístupem. Již samotná architektura Post6xu omezuje nebezpečnost zranitelných míst pro případ, kdyby byly odhaleny chyby návrhu nebo kódu, jež by v monolitickém programu mohly vytvářet velmi citlivá místa. Modulární návrh Modulární architektura Post6xu tvoří základ většiny jeho zabezpečení. Každý proces Post6xu běží s minimálními oprávněními nezbytnými k naplnění své úlohy. Mnoho bez-

pečnostních potíží Sendmailu mělo velmi nepříjemné dopady, protože systém Sendmail běžel většinou jako privilegovaný proces. Postfix pracuje s minimálním množství privilegií potřebných ke splnění určitého úkolu. Procesy Postfixu, které na systému nejsou zapotřebí, lze vypnout, takže je vůbec nebude možné zneužít. Kupříkladu systém se síťovým firewallem, jenž jen předává poštu a nepoužívá místní doručování, může mít vypnuté všechny postfixové komponenty lokálního doručování zpráv. Procesy Postfixu jsou vzájemně izolované a jen minimálně využívají meziprocesní komunikaci. Každý proces si sám zjišťuje to, co potřebuje vědět. Prostředí a procesy Ve většině případů nevyžaduje doručování pošty unixový proces prostředí, když jej však konfigurace používá, Postfix informace před jejich umístěním do proměnných prostředí "desinfikuje". Postfix se pokouší odstranit všechny škodlivé znaky, které mohou mít pro prostředí zvláštní význam, a teprve potom údaje prostředí zpřístupňuje. Většinu procesů Postfixu vykonává důvěryhodný řídící démon. Neběží jako uživatelské podřízené procesy, takže jsou imunní vůči bezpečnostním potížím vyplývajícím z dědičných vztahů nadřazený-podřazený a komunikací. Tyto útoky, které používají signály, sdtlenou paměť, otevřené soubory a další typy meziprocesní komunikace, jsou vůči Postfix v zásadě bezmocné. Zabezpečení v samotném návrhu Dalším obvyklým typem útoku na aplikace je přetečení bufferu (vyrovnávací paměti). Při tomto typu útoku dosahují crackeři toho, že program zapisuje do oblasti paměti, kam by neměl zasahovat. To jim může umožnit změnit cestu vykonávání a převzít tak řízení procesu. Již jsem zmínil, že procesy Postfixu běží s minimem oprávnění, takže ani takový útok by se daleko nedostal; navíc se Postfix snaží nepoužívat buffery s pevnou velikostí pro dynamická data, takže úspěšný útok přetečením bufferu je velmi nepravděpodobný. Důležitou bezpečnostní ochranou na systémech Unix je schopnost měnit kořenový adresář aplikací (chrool). Tímto způsobem se stanovuje nový kořenový adresář běžící aplikace, například Ivar I spool/postfix. Když pak takový program běží, jeho pohled na systém souborů je omezený na strom pod Ivarlspool/postfix a nic nad tímto bodem nemůže pozorovat. Kritické systémové adresáře ani ostatní programy zneužitelné při útoku nejsou přístupné. V Postfixu je velmi jednoduché zařídit, aby jeho procesy běžely v rámci změněného kořenového adresáře (více si o tomto tématu povíme ve čtvrté kapitole). Když takový běh zadáte, bude Postfix vykonáván odděleně. I kdyby tedy došlo nějakým způsobem k rozvrácení ochran Postfixu, útočník si tím nezpřístupní mnohé z metod, které obvykle využívá ke kompromitování systému. Jelikož je Postfix navržen pro práci při velkém zatížení, jsou útoky odepřením služby (Denial-of-Service - DOS) mnohem méně efektivní. Dojde-li systému diskový prostor nebo paměť kvůli útoku DOS nebo díky jinému typu problému, pak se Postfix snaží

situaci nekomplikovat. Upustí od toho, co se snažil učinit, a umožní tak systému vzpamatovat se. Procesy Postfixu jsou nastaveny na práci s omezeným množstvím paměti, takže pod návalem zpráv v žádném případě nekontrolovatelně nerostou. Obtížnost plánování zabezpečení je v tom, že nikdy nevíte, jaký bude následující útok ani jak bude veden. Postfix je vytvořen tak, aby si dokázal poradit s nepříznivými podmínkami; ať už je jejich příčinou cokoli. Jeho vestavěná robustnost je zásadním faktorem ovlivňujícím stupeň zabezpečení zajišťovaný Postfixem. Dr. Venema řekl, že se ani tolik nestará o zabezpečení, jako jej zajímá vytváření softwaru, který funguje zamýšleným způsobem bez ohledu na okolní podmínky. Zabezpečení je jen přínosným vedlejším efektem. Další informace o získání Postfixu Více informací o Postfixu získáte na oficiálním webovém sídle, domovské stránce Postftxu (http://www.postftx.org/). Toto sídlo obsahuje zdrojový kód, dokumentaci, odkazy na doplňkový software, články a další informace o Postfixu. Najdete tu rovněž informace o přihlášení do aktivní e-mailové konference, v níž se diskutují všechny aspekty Postfixu. Nemáte-li zatím kopii Postfixu, můžete si stáhnout zdrojový kód z webového sídla Postfixu. Je však docela pravděpodobné, že tu najdete i předkompilovaný balíček pro vaši platformu, jehož použití může být pohodlnější. V takovém případě si obstarejte balíček Postfixu pro svůj operační systém a k jeho instalaci a konfiguraci využijte normální systémové nástroje. Při shánění softwaru pro svůj systém se podívejte na běžné používané servery s aplikacemi. Existuje mnoho dobrých důvodů, proč si sestavit Postfix vlastními silami: Nemusí existovat připravený balíček pro vaši platformu, nemusíte tvůrci balíčku důvěřovat v tom ohledu, že učinil pro vaše prostředí vše naprosto správně, můžete požadovat podporu doplňků, které v balíčku obsaženy nejsou, můžete potřebovat aktuálnější verzi, než je nabízena v balíčcích, nebo si prostě jen rádi aplikace sestavujete sami. Máte-li zkušenosti s kompilováním softwaru, nebudete mít se sestavením Postfixu žádné potíže. Rozhodně patří z hlediska kompilace mezi jednodušší balíčky otevřeného zdrojového kódu. Webové sídlo Postfixu obsahuje odkaz ke stažení, který zobrazuje seznam zrcadel, z nichž si můžete software nahrát. Měli byste použít zrcadlo, které je k vám nejblíže. Postfix je k dispozici bud' jako balíček Official Release (oficiální verze), nebo jako balíček Experimental Release (experimentální verze). I když je označena za experimentální, její kód je v každém případě velmi stabilní. Experimentální verze obsahují nové funkce, které se před převodem na oficiální mohou změnit. Některé nové prvky jsou nabízené pouze v experimentální verzi, klidně je ale můžete používat. Jenom pamatujte, že se mohou v dalších verzích mírně vyvíjet, než budou jejich funkce natolik stabilní, že se stanou součástí oficiální verze. Žádný software Postfixu není uvolněn, dokud neprojde rozsáhlým testováním a zkoumáním. Přečtěte si soubor RELEASE_NOTES (poznámky k verzi), který je součástí balíčku. Dozvíte se, jaké jsou rozdíly mezi aktuální oficiální a experimentální verzí.

KAPITOLA 2 Předpoklady Tato kapitola seznamuje s některými základními koncepty Unixu a elektronické pošty, které potřebujete pro sledování výkladu a příkladů uvedených dále v této knize. Pokud již máte nějaké zkušenosti se správou elektronické pošty, můžete tento materiál přeskočit a přejít k další kapitole. Tato kapitola neobsahuje systematické nebo komplexní informace o elektronické poště nebo systému Unix. Obě témata zahrnují nesmírné množství informací. Tato kapitola obsahuje pouze přehled položek, které jsou podrobně vysvětlovány dále v této knize. Témata o systému Unix Čím lépe budete znát systém Unix, tím lepším správcem serveru Postfix budete. Postfix je unixový program spolupracující při vykonávání funkcí s operačním systémem, na kterém je nainstalován. Pokud se s operačním systémem Unix teprve seznamujete, měli byste si prostudovat úvodní text. Tato část vám mezitím představí některé základní koncepty, které budete potřebovat pro pochopení dalšího výkladu v této knize. Přihlašovací jména a čísla UID Seznam uživatelů známých systému je uložen v souboru / ctc/ passwd. Každý uživatel by měl mit unikátní přihlašovací jméno a číselný identifikátor uživatele (obecně zapisovaný jako uid nebo UlD). Identifikátor UID, nikoliv přihlašovací jméno uživatele, je důležitým atributem pro kontrolu identity a vlastnictví. Přihlašovací jméno je konvenční pro lidi a systém je používá zejména pro zjištění identifikátoru UID. Některé konfigurační parametry Postfixu vyžadují při odkazech na uživatelské účty UID namísto přihlašovacího jména. Postfix někdy přijímá identitu různých uživatelů. Procesu je řečeno, aby použil práva daného účtu, když má předstírat jeho identitu.

Pseudoúčty Pseudoúčet je normálrú účet systému Unix s tím rozdílem, že neumožňuje přihlášení. Tyto účty se používají pro provádění úkolů správy nebo pro spouštění programů s určitými právy. Váš systém je s největší pravděpodobností nainstalován s několika pseudoúčty. Časté jsou názvy účtů jako například bin a démon. Tyto účty obvykle brání v přihlášení pomocí neplatného hesla a neexistujících domovských adresářů a shellu. Pro správu PostflXu potřebujete alespoň jeden pseudoúčet, pod kterým procesy Postfixu poběží. Možná budete potřebovat další pro jiné funkce, jako například programy pro e-mailové konference a fjltry. Standardní vstup a výstup Téměř všechny procesy v systému Unix mají při spuštění standardní vstup a standardní výstup. Čtou data ze standardního vstupu a zapisují data na standardní výstup. Standardním vstupem je obvykle klávesnice a standardním výstupem je obvykle monitor a uživatelé takto pracují se spuštěnými programy. Standardní vstup a výstup je možno přesměrovat a programy pak mohou vstup přijímat od jiných procesů nebo ze souboru nebo výstup předávat do jiného procesu nebo do souboru. Takto pracují často programy prováděné v systémových skriptech. Pro účely elektronické pošty byste si měli být vědomi standardního vstupu a výstupu, protože váš poštovní systém možná bude muset spolupracovat s jinými programy pomocí jejich standardrubo vstupu a výstupu. Například program pro fjltrování elektronické pošty může přijímat obsah elektronické zprávy na svém standardním vstupu standard a zkontrolovaný obsah zapisovat na svůj standardní výstup. Programy mají obvykle také standardní chybový výstup, kterým je podobně jako v případě standardrubo výstupu monitor uživatele, ale který může být také přesměrován. Standardní vstup, výstup a chybový výstup jsou často zapisovány jako stdin, stdout a stderr. Více informací najdete v knihách s úvodem do systému Unix. Superuživatel Pro provádění správy systému Unix je používán účet root. Také bývá označován za účet superuživatele a měli byste s ním zacházet opatrně. Jako uživatel root byste se měli přihlašovat pouze v případě, že potřebujete jeho práva pro konkrétní úlohu. Správa Postfixu někdy vyžaduje práva uživatele root. Pokud nemáte superuživatelský přístup do systému, nemůžete provádět správu PostflXU. Příkazový řádek Když pracujete s interaktivním shellem, normálně vás uvítá příkazový řádek, který oznamuje, že je systém připraven pro zadávání příkazů. Podle dohod obsahují příkazové řádky uživatelů znaky $ nebo %, zatímco příkazový řádek uživatele root obsahuje znak #. Účet uživatele root byste měli používat pouze pokud je to nezbytné. V příkladech