Elektronick� po�ta
Petr Velan, 255519@mail.muni.cz
Obsah
�vod
Elektronick� po�ta je zp�sob offline komunikace.
Vznik je�t� p�ed internetem, rok 1965.
P�vodn� pouze textov� zpr�vy.
Denn� je odesl�no asi 300 miliard e-mail�, z toho kolem 90% spamu.
Komponenty po�tovn�ho syst�mu
-
MTA (Mail Transfer Agent): Program pro p�enos zpr�v po s�ti. Zpr�vy z�sk�va� lok�ln� (od u�ivatel�), nebo od jin�ch MTA pomoc� SMTP a zaji�tuje dal�� doru�en� (p�eposl�n� jin�mu MTA, nebo MUA). P��klad: Postfix, sendmail, exim, ...
-
MUA (Mail User Agent): U�ivatelsk� program pro �ten� a pos�l�n� zpr�v, nap��klad: mutt, pine, Mozilla Thunderbird, ...
-
MDA (Mail Delivery Agent): Program pro lok�ln� doru�en� do schr�nky, p��padn� pro p�ed�n� zpr�vy od MUA k MTA. P��klad: mail, procmail, maildrop, ...
Princip SMTP
- E-mailov� zpr�va je tvo�ena hlavi�kami a vlastn�m t�lem zpr�vy, toto jsou z hlediska SMTP protokolu data.
- Skute�n� p��jemce (server kter� zpracov�v� po�tu pro danou e-mailovou adresu) a odes�latel (p��jemce chybov� zpr�vy) se ur�uje podle ob�lky.
-
SMTP transakce se skl�d� ze t�� ��st�:
- MAIL FROM: zad�v� se n�vratov� adresa
- RCPT TO: zad�v� se c�lov� adresa, m��e se opakovat
- DATA: vlastn� zpr�va
- MTA m��e upravovat hlavi�ky zpr�vy (odstran�n� Bcc, nastaven� Return-Path, Received, ...)
Sm�rov�n� po�ty
- Ob�lkov� c�lov� adresa (c�lov� MTA server) se ur�uje z adresy hlavi�kov�ho p��jemce.
- Pro ur�en� c�lov�ho MTA se pou�ije DNS MX z�znam.
- MX obsahuje prioritu (lze pou��t i k load-balancingu) a A (AAAA) z�znam MTA serveru.
- Jestli�e neexistuje MX z�znam, hled� se MTA pomoc� A z�znamu.
Form�t zpr�vy
- Form�t zpr�v definuje RFC 5322 (d��ve 2822, d��ve 822).
- Hlavi�ka obsahuje ��d�c� informace, ka�d� ��dek je tvaru kl��: hodnota, p��padn� za��n� b�l�m znakem - pokra�ov�n� z p�edchoz�ho ��dku.
- T�lo zpr�vy je odd�len� pr�zn�m ��dkem.
MIME
- Multipurpose Internet Mail Extension (RFC 2045-2049)
- P�vodn� bylo mo�n� pou��vat jen ASCII znaky, s MIME jsou na ASCII omezeny jen hlavi�ky, v t�le mohou b�t libovoln� znaky.
- Povinn� jsou MIME hlavi�ky:
- Mime-Version: 1.0
- Content-Type: typ[podtyp[; parametry ... ]]
- Content-Transfer-Encoding: p�enosov� k�dov�n�
-
Jednoduch� typy/podtypy:
- text/plain, html, richtext, ...
- image/jpeg, gif, ...
- application/octet-stream, pdf, postscript, ...
-
Slo�en� typy/podtypy:
- multipart/mixed - v�ce ruzn�ch typ� objekt�.
- multipart/parallel - nap��klad text a zvuk.
- multipart/alternative - vybere se nejvhodn�j�� z ��st� (text/html, text/plain).
-
P�enosov� k�dov�n�:
- 7bit - jen ASCII.
- base64 - 3 bajty na 4 znaky.
- quoted-printable - ne-ASCII znaky a rovn�tko se k�duj� jako =hexa k�d.
- 8bit - p��m� k�dov�n�, libovoln� bajty.
-
K�dov�n� ne-ASCII znak� v hlavi�k�ch:
- Form�t =?p�enosov� k�dov�n�?charset?text?=
P��klad SMTP komunikace
telnet smtp.example.com smtp
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 Jan 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}
Roz���en�:
- M�sto HELO lze pou��t EHLO - server vr�t� seznam povolen�ch roz���en�.
- 8BITMIME - mo�no p�en�et 8-bit data.
- SIZE - Server m��e odm�tnout p��li� velkou zpr�vu.
- PIPELINING - klient nem�s� v�dy �ekat na potvrzen� p�ed dal��m requestem.
Spam
V�t�inu e-mailov� komunikace tvo�� spam. Lze se mu br�nit omezen�m p��stupu k MTA a/nebo filtry v MDA.
- Open relay: SMTP server nakonfigurovan� tak, �e p�epos�l� po�tu z libovoln� adresy kamkoliv. Toto je dnes typicky zak�z�no a je vy�adov�n ur�it� stupe� autentizace, ISP omezuj� p�ipojen� pouze na svoji dom�nu.
- Relaying: Zneu�it� open relay server�. Nutno konfigurovat MTA tak, aby nep�ed�valy zpr�vy jinam, ne� je nutn� (do vlastn� dom�ny).
- Black-listy: Servery mohou udr�ovat glob�ln� seznam IP adres, kter� jsou podez�e� z rozes�l�n� spamu. Takov�mto adres�m je mo�no p��stup zak�zat.
- Greylisting: Server odpov� SMTP k�dem 4xx (do�asn� chyba). Legitimn� MTA se o doru�en� pokus� znovu pozd�ji.
- Greeting delay: Server nepo�le uv�tac� zpr�vu hned, ale chv�li �ek�. Dle standardu nesm� klient za��t komunikaci d��ve.
- Spam filtry: Sna�� se o ka�d� zpr�v� rozhodnout, zda je �i nen� spam. Rozhodnut� prov�d� na z�klad� heuristik - tvaru hlavi�ek, t�la zpr�vy, p��padn� vyu��v� blacklisty.
- mbox: v�echny zpr�vy v jednom souboru, odd�leny znakem > p�ed From. Probl�my se zamyk�n�m.
- Maildir: adres�� Maildir v home, ka�d� zpr�va ma vlastn� soubor v jednom z podadres��� tmp, new, cur.
Po�tovn� klienti
Lok�ln� po�ta
- P��m� p��stup k mailboxu, nutno �e�it zamyk�n�.
- Odes�l�n� p�es sendmail(1).
Vzd�len� klienti
- �ten� po�ty p�es POP-3 nebo IMAP.
- Odes�l�n� p�es protokol SMTP a relay server.
- V�echny protokoly podporuj� �ifrovan� verze.
-
POP-3 (Post Office Protocol):
- V�lu�n� p��stup k mailboxu - v�e se d�je atomicky.
- Nelze b�t trvale p�ipojen - schr�nka je zam�ena a nep�ij�m� nov� zpr�vy.
- Nelze m�t v�ce schr�nek v r�mci jednoho ��tu.
- Lze pouze st�hnout zpr�vy ze serveru (a smazat je).
-
IMAP (Internet Mail Access Protocol):
- Sd�len� p��stup k mailboxu.
- Je mo�n� p�istupovat z v�ce po��ta�� do jedn� schr�nky.
- Lze pracovat s v�ce schr�nkami v r�mci jednoho ��tu.
- Se zpr�vami na serveru leze pracovat - p�esouvat mezi slo�kami, mazat, ...
SMTP servery
Nejroz���en�j�� SMTP servery:
- sendmail: St�le vyv�jen�, slo�it� syntaxe konfigura�n�ch soubor�. Dlouhodob� probl�my s bezpe�nost�.
- qmail: Slo�it� konfigurace, dobr� bezpe�nost. Dlouho neaktualizovan�.
- exim: Dobr� dokumentace a p��klady, st�le vyv�jen�, historicky ne tak bezpe�n� jako qmail nebo postfix, je dob�e roz�i�iteln�
- postfix: Podobn� jako exim, s vy��� bezpe�nost�.
Fedora 15 nab�z� defaultn� postfix, Debian exim4 (a dlouhodob� se na toto t�ma diskutuje).
Konfigurace serveru Postfix
Defaultn� konfigurace by m�la poskytovat z�kladn� funk�nost pro obecn� syst�my. Podrobn� tutori�ly jsou dostupn� na webu postfixu.
Dva z�kladn� konfigura�n� soubory: master.cf a main.cf, typicky v /etc/postfix/
- master.cf: Definuje jak se u�ivatelsk� programy p�ipojuj� ke slu�b�m a jak� programy se spou�t� pro jednotliv� slu�by.
- main.cf: Obsahuje parametry ur�uj�c� chov�n� MTA.
N�kter� volby v main.cf:
- myhostname: n�zev stroje na kter�m postfix b��.
- mydomain: rodi�ovsk� dom�na pro $myhostname.
- myorigin: jak� dom�na se vypln� u odchoz�ch zpr�v.
- mydestination: pro kter� dom�ny se po�ta doru�uje lok�ln�.
- mynetworks: kter� s�t� (IP adresy) sm�j� pos�lat zpr�vy p�es tento MTA.
- local_recipient_maps: kter� lok�ln� u�ivatele syst�m zn� (jin� zpr�vy odm�t�)
- relay_domains: dom�ny, kter�m bude postfix p�epos�lat zpr�vy. Defaultn� $mydestinations
- virtual_alias_maps: Umo��uje specifikovat aliasy, nap��klad celou dom�nu do jedn� chr�nky (dom�nov� ko�).
Dom�nov� ko� je schr�nka do kter� jsou sm�rov�ny zpr�vy, kter� pat�� dan� dom�n�, ale neexistuje pro n� c�lov� ��et.
Literatura