Hlavní navigace

Lehký úvod do elektronické pošty

23. 4. 2001
Doba čtení: 5 minut

Sdílet

V praxi to vypadá jednoduše. Napíšete zprávu, zvolíte adresu, a odešlete ji. Nic není snazšího. Co se však skrývá pod kabátem vašeho maileru? Jak se vaše zpráva dostane až k příjemci? Tím vším se zabývá tento článek.

Základním předpokladem, ze kterého vychází koncepce elektronické pošty, je skutečnost, že každý uživatel má někde na počítači připojeném v síti vytvořen účet, jehož součástí je i poštovní schránka (mailbox). Pod slovem poštovní schránka si v tomto případě nelze představit klasickou krabici na dopisy, ale spíše datový soubor, kam mu operační systém doručuje přijaté maily a do kterého má uživatel přístup pomocí svého poštovního klienta. Pokud chceme v takovémto prostředí poslat někomu zprávu, stane se to tak, že se váš počítač spojí s počítačem adresáta a uloží do jeho mailboxu dotyčnou zprávu.

Nutno poznamenat, že od doby, kdy byla elektronická pošta navržena, uplynulo mnoho času a změnilo se mnoho věcí. Přinejmenším se rozšířil počet uživatelů elektonické pošty, přičemž ne každý pracuje na počítači trvale připojeném k síti a ne každý používá víceuživatelský operační systém fungující na výše zmíněných principech.

Na počátku celého řetězce stojí program, který se jmenuje MUA, tedy Mail User Agent. Programů tohoto druhu existují desítky – od nejjednoduššího řádkového BSD mailu, přes vyspělé znakové klienty typu Mutta nebo Pine až po grafické programy, jako je třeba Microsoft Outlook.

Hlavním úkolem MUA je převzít od odesilatele zprávy text a adresáta, přidat základní hlavičku a celé odevzdat k doručení dalšímu programu, kterým je MTA (Mail Transfer Agent). Určitě nejrozšířenějším MTA je Sendmail. Jedná se o velice robustní program, který má své kořeny v dávné unixové historii. Tomu bohužel odpovídá i značně nemoderní design a poněkud složitější konfigurace. V minulosti byl Sendmail proslulý svými četnými bezpečnostními problémy, nicméně v poslední době, zdá se, už je v tohle směru situace lepší. Přesto existují i alternativní MTA, ze kterých nejvíce vyčnívá silná trojka programů – qmail, Exim a Postfix.

Poté, co MTA převezme od MUA zprávu, doplní její hlavičku o další údaje. Potom se zaměří na doménovou část adresy příjemce (napravo od zavináče) a pomocí DNS zjistí, který počítač je zodpovědný za přijímání pošty pro danou doménu. Jakmile se tak stane, otevře s tímto počítačem spojení a prostřednictvím protokolu SMTP mu zprávu přenese. Každá doména může mít určeno hned několik počítačů přijímajících poštovní zprávy. V systému DNS jsou seřazeny podle své priority. Pokud se nepodaří spojení s hlavním mailserverem, je osloven některý z náhradních, přičemž v takovém případě přebírá odpovědnost za doručení on. Pokud se nepodaří spojení s žádným autoritativním počítačem, může být odeslání zprávy odloženo a později stornováno s vygenerováním chybové zprávy odesílateli nebo správci poštovního serveru.

Přijímající MTA zkontroluje jmennou část adresy (nalevo od zavináče) a doručí zprávu do schránky s tímto jménem. Tradičním místem pro ukládání mailboxů bývá adresář /var/spool/mail, nicméně v posledním době se z různých důvodů můžeme setkat i s jinými typy maiboxů, a to mbox (doručení do domovského adresáře uživatele) a nejnověji také maildir (ukládá každou zprávu do samostatného souboru v rámci adresáře Maildir). Právě maildir je považován za nejdokonalejší formát, nicméně ne všechny MUA/MTA programy s ním umějí pracovat.

Pro úplnost dodejme, že mezi MTA a poštovní schránkou uživatele může působit také MDA (Mail Delivery Agent). MDA prozkoumá zprávu a aplikuje na ni celou řadu předem definovaných filtrů. Tak lze docílit například doručení do různých mailboxů, automatické odpověďi odesílateli, odfiltrování nežádoucích dopisů, přesměrování mailu na mobil, aj. To vše přímo na serveru bez aktivního zásahu adresáta. Nejznámějším MDA programem je procmail. Alternativou může být třeba maildrop. Jejich srovnání naleznete tady.

Jen co dojde k doručení zprávy do mailboxu, může si ji adresát přečíst. Buď k tomu použije MUA, který běží přímo na serveru (pokud na něm má účet), nebo si ji stáhne na svůj osobní počítač. K tomu jsou navrženy například protokoly POP nebo novější IMAP. Protokol POP3 je vlastně jednosměrným komunikačním kanálem, kterým jsou k uživateli, po předchozí autentizaci, dopraveny všechny zprávy nacházející se v jeho mailboxu.

Protokol IMAP je dokonalejší obdobou POP. Základní rozdíl je ten, že veškeré zprávy zůstávají uloženy na serveru. Uživatel může zprávy třídit, prohledávat a mazat bez toho, aby musel celý obsah mailboxu přenášet na svůj počítač. Může si třeba přečíst jen tělo mailu bez nutnosti stahovat přes síť i všechny objemné MIME přílohy. Novější revize IMAPu umějí synchronizovat uživatelův lokální mailbox s poštou na vzdáleném serveru. Největší předností IMAPu oproti POP je, že uživatel může ke své poště přistupovat z více různých míst a všude bude mít k dispozici stejné zprávy.

POP3 server může, ale nemusí být součástí MTA serveru, stejně jako POP3 klient může, ale nemusí být částí MUA. Nejpoužívanější samostatný POP/IMAP klient je fetchmail. Ze serverů můžeme zmínit vpopmail, ipop3d nebo Courier-IMAP.

Méně zkušení uživatelé obvykle používají kombinované MUA, kde jsou doručené zprávy uloženy v interních strukturách toho kterého programu. Typickým kombinovaným klientem je třeba Netscape Messenger. Zkušenější uživatelé naproti tomu volí externí POP3 klienty, kteří jim zprávy doručí do klasického mailboxu. Díky tomu mohou své zprávy číst více MUA, třídit je rafinovanými filtry apod.

CS24_early

Celý proces přenášení pošty je v principu nezabezpečený. Potencionální útočník může zprávu v kterémkoliv okamžiku zachytit a přečíst (veškerá komunikace probíhá v otevřeném textu), proto se objevují metody, jak zprávu na její cestě zašifrovat. Přenos POP3 a IMAP je možné otevřít po šifrovaném kanálu (POP3 over SSL). Někteří uživatelé si přesměrovávají POP3 port přes SSH. Stejně tak i SMTP transport můžeme provést přes SSL/TSL spojení. POP3 autentizaci lze nahradit autentizací APOP. Všechny tyto metody jsou však jen částečným řešením a vyžadují podporu jak na straně klienta, tak i MTA. Univerzální metodou ochránění zprávy před odposlechnutím tak zůstává pouze její šifrování asymetrickou šifrou. Nejpoužívanějším řešením tohoto druhu je PGP resp. jeho Opensource varianta GnuPG.

Zajímavé odkazy:

Byl pro vás článek přínosný?

Autor článku