Elektronická pošta

Erich Duda, 374054(zavináč)mail.muni.cz

Obsah

Priebeh spracovania mailu

  1. MUA (Mail User Agent) prevezme email od užívateľa a pošle ho cez TCP port 587 protokolom SMTP na MSA (Mail Submission Agent), ktorého adresu má v konfigurácii. MSA typicky vyžaduje od MUA aby sa autentizoval. Predstavitelia MUA: Mutt, Evolution, Thunderbird, GMail (webové rozhranie) ...
  2. MSA posiela email ďalej MTA (Mail Transfer Agent), ktorý je zodpovedný za doručenie emailu na domény príjemcov, ktoré sú uvedené v emailových adresách za @.
  3. MTA si vyžiada od DNS serveru MX záznamy pre domény príjemcov.
  4. MTA skúša nadviazať TCP spojenie podľa priority v MX záznamoch (menšie číslo => vyššia priorita).
  5. MTA cieľovej domény úspešne prijala email, ktorý ďalej posiela MDA (Mail Delivery Agent). MDA je zodpovedné za lokálne doručenie správy konkrétnemu užívateľovi (informácia v emailovej adrese pred @). Správy môže ukladať v rôznych formátoch. Najznámejšie formáty na ukladanie správ sú:
  6. Príjemca si prezrie emailovú schránku (IMAP, POP3) a uvidí tam nový neprečítaný email.

Formát správy

Správa sa skladá z 2 častí:

Protokoly

SMTP (Simple Mail Transfer Protocol)

S: 220 smtp.example.com ESMTP Postfix
C: HELO relay.example.org
S: 250 Hello relay.example.org, I am glad to meet you
C: MAIL FROM:<bob@example.org>
S: 250 Ok
C: RCPT TO:<alice@example.com>
S: 250 Ok
C: RCPT TO:<theboss@example.com>
S: 250 Ok
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: From: "Bob Example" <bob@example.org>
C: To: "Alice Example" <alice@example.com>
C: Cc: theboss@example.com
C: Date: Tue, 15 January 2008 16:02:43 -0500
C: Subject: Test message
C:
C: Hello Alice.
C: This is a test message with 5 header fields and 4 lines in the message body.
C: Your friend,
C: Bob
C: .
S: 250 Ok: queued as 12345
C: QUIT
S: 221 Bye
{The server closes the connection}

Červenou farbou je zvýraznená obálka (envelope), kde si server a klient vymenia svoje FQDN a klient pošle informácie od koho a komu je mail určený. Po obálke nasleduje dátová časť, ktorú klient ohlási poslaním správy DATA, na ktorú server reaguje zaslaním ukončovacej sekvencie. Ak klient pošle prázdny riadok, bodku na začiatku riadku a znovu prázdny riadok, tak server vie, že už prijal celú správu a reaguje správou 250 Ok. V prípade, že by chcel užívateľ poslať správu, ktorá obsahuje prázdny riadok, bodku a prázdny riadok, tak klient musí bodku na začiatku riadku zdvojiť. Server to interpretuje ako jednu bodku.

POP3 (Post Office Protocol)

Protokol slúžiaci na získanie emailov zo vzdialeného servera. Je určený hlavne pre užívateľov, ktorý majú pomalé alebo časovo obmedzené internetové pripojenie. Emaily sa stiahnu zo serveru a následne sa vymažú. Táto vlastnosť sa ukázala neskôr v dobe keď jeden užívateľ používa viac počítačov ako nepraktická a preto sa dá toto správanie vypnúť. Samotný protokol nie je nijak zabezpečený, prihlasovacie údaje sa posielajú v nešifrovanom tvare. Problém bezpečnosti sa rieši buď použitím šifrovaného SSL spojenia na porte 995 alebo zabezpečením pomocou STARTTLS na štandardnom porte 110.

IMAP (Internet Message Access Protocol)

Podobne ako POP3 slúži na vzdialený prístup k emailovej schránke. Oproti POP3 umožňuje pokročilé možnosti vzdialenej správy emailov. Dokáže pracovať so zložkami, presúvať správy medzi nimi, prehľadávať správy na strane serveru. Protokol IMAP narozdiel od POP3 udržuje trvalé TCP spojenie so serverom. Všetky správy sú uložené na serveri a sťahujú sa len potrebné informácie (napr. hlavičky správ). Celá správa sa stiahne až keď si ju chcel užívateľ prečítať. U správ sa uchováva ich stav (prečítaná/neprečítaná, odpovedená, dôležitá). Protokol taktiež umožňuje pripojenie viacerých užívateľov zároveň. Všetky zmeny urobené jedným užívateľom sa automaticky zobrazia ostatným.

Spam

Spam je nevyžiadaná reklamná správa, ktorá sa masovo šíri internetom. Môže sa šíriť rôznymi spôsobmi, my sa budeme zaoberať šírením cez email.

Open relay

Tento termín sa používa na označovanie SMTP servrov, ktoré prevezmú email od kohokoľvek a pošlú ho komukoľvek. Takéto servry zneužívajú spameri na rozposielanie správ. Výhoda pre spamerov je, že poslaním správy cez open relay server sa zamaskuje IP adresa odosielateľa, čo sťažuje filtráciu spamu. SMTP server by mal byť nakonfigurovaný tak, aby preberal len také správy, ktoré u neho začínajú alebo končia. Správa určená na odoslanie by sa teda nemala posielať priamo MTA ale MSA, ktorá vyžaduje autentizáciu.

Blacklisting

Rozhoduje, či správa je alebo nie je SPAM na základe e-mailovej adresy odosielateľa alebo jeho IP adresy. Blacklisty obsahujúce IP adresy, z ktorých bolo zaznamenané rozosielanie spamu bývajú zverejňované cez systém DNS. Server sa môže takúto správu odmietnuť, alebo ju zaradí do zložky SPAM.

Greylisting

Greylisting je metóda, ktorá využíva fakt, že spameri nepoužívajú na odosielanie spamu riadne implementované nástroje a nedokážu tak správne reagovať na chyby 4xx. Protokol SMTP definuje chyby 4xx ako dočasné. Pri obdržaní takejto chyby by mal klient posielajúci správu zaradiť túto správu do fronty a pokúsiť sa o to neskôr. SMTP servry tak úmyselne odmietajú prvé pokusy o doručenie správy chybou 4xx. Pri prvom pokuse si server poznačí v tzv. greyliste tri údaje o odosielateľovi (IP adresu, adresu odosielateľa, adresy príjemcov) spolu s časovou známkou. Správa bude odmietaná s dočasnou chybou pokiaľ neuplynie nakonfigurovaná doba. Ak odosielateľ vydrží posielať správu aj po uplynutí tejto doby, tak sa dočasne zaradí (na niekoľko dní) na bielu listinu a server bude od neho prijímať správy okamžite.

SPF (Sender Policy Framework)

SMTP umožňuje odoslať email s ľuboľnou zdrojovou adresou. SPF umožňuje majitelovi domény určiť, ktoré počítače môžu odosielať poštu s danou zdrojovou adresou. Používajú sa na to špeciálne DNS záznamy SPF.

DKIM (DomainKeys Identified Mail)

Mechanizmus overenia, či prijatý mail je naozaj poslaný z domény uvedenej v obálke. Správa sa posiela spolu s digitálnym podpisom a príjemca si môže overiť, či bola správa podpísaná súkromným kľúčom danej domény. Verejný kľúč je uvedený v DNS .

Antispamové filtry

Mailové servery

Konfigurácia Postfixu

Konfiguračné súbory

Po každej zmene main.cf alebo master.cf je treba použiť príkaz "postfix reload".

Literatura