Konfigurace POP3 a IMAP

Z Milan Kerslager
Verze z 14. 11. 2012, 18:47, kterou vytvořil Milan.Kerslager (diskuse | příspěvky) (IMAPS: fix)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přejít na: navigace, hledání

Pokud zřídíme na svém serveru poštovní uzel, který bude přijímat poštu pro naši doménu, bude příchozí elektronická pošta ukládána na pevný disk serveru. Uživatelé pro čtení elektronické pošty obvykle používají specializované programy (Outlook, Thunderbird, Opera Mail, ...), které si došlé maily stahují ze serveru pomocí protokolu POP3.[1] Druhou možností je použití protokolu IMAP, který umožňuje ovládat celou poštovní schránku na dálku.[2]

POP3

Služba POP3 umožňuje stažení e-mailů ze složky Nová pošta (INBOX) na počítač s programem poštovního klienta.Protokol POP3 je na serveru poskytován na portu 110.

Šifrovaná varianta se nazývá POP3S. Používá SSL a server naslouchá na portu 995.

IMAP

Službu IMAP je možné využít pro přístup do vzdálené poštovní schránky s elektronickou poštou z libovolného místa v Internetu. Nevýhodou tohoto řešení je, že je potřeba mít trvalé připojení k Internetu po celou dobu práce se vzdálenou poštovní schránkou. Někteří klienti (např. Thunderbird) však umožňují zprávy stáhnout na lokální disk počítače a číst si je i bez trvalého připojení (podobně jako protokol POP3). Protokol IMAP je na serveru poskytován na portu 143.

Šifrovaná varianta se nazývá IMAPS. Používá SSL a server naslouchá na portu 993.

Konfigurace

RHEL 4, RHEL 5

Od verze RHEL 4 je v systému pro zajištění služby POP3 a IMAP speciální démon dovecot, který se řídí konfiguračním souborem /etc/dovecot.conf, ve kterém by pro zabezpečení všech variant musel být řádek (vyjmenujte pouze služby, které potřebujete):

protocols = imap imaps pop3 pop3s

Nainstalujte balíček, spusťte démona a nastavte automatické spuštění démona při startu:

yum install dovecot
/etc/init.d/dovecot restart
chkconfig dovecot on

RHEL 3

V RHEL3 se pro poskytování služeb IMAP a POP3 používá síťový superserver xinetd, který naslouchá na portu a při příchodu spojení od klienta spustí příslušný obslužný program. Proto je potřeba nainstalovat balíčky xinetd a imap. Pak je potřeba spustit démona xinetd a nastavit automatické spuštění služby POP3 po startu počítače:

yum install xinetd imap
chkconfig ipop3 on
/etc/init.d/xinetd restart
chkconfig xinetd on

Poznámka: V RHEL3 je vhodné určit napevno podadresář, do kterého se budou v domácím adresáři uživatelů umisťovat složky s dopisy. V novějších verzích RHEL je takto nastaven adresář mail. Pokud není nastaven, vidí uživatel při konfiguraci složek celý domácí adresář, což není příliš praktické a pro uživatele to může být matoucí.

Ověření funkce

Pro ověření správné funkce je vhodné založit testovacího uživatele, nastavit mu heslo a poslat mu e-mail:

adduser huzva
passwd huzva
echo Testovaci e-mail | mail -s Test huzva

Při standardním nastavení se doručený e-mail uloží do souboru /var/spool/mail/huzva. Dále se pokusíme kontaktovat příslušného démona (POP3 nebo IMAP) a vyžádat si od něj informace.

POP3

Správnou funkci démona POP3 ověříme tak, že se s ním pokusíme spojit pomocí programu telnet na port 110 (kde je očekáváno připojení klienta služby POP3). V příkladu je tučně naznačen vstup uživatele, zbytek jsou odezvy serveru.

telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK Dovecot ready.
USER huzva
+OK
PASS tajneheslo
+OK Logged in.
LIST
+OK 1 messages:
1 825
.
QUIT
+OK Logging out.
Connection closed by foreign host.

Ve výše uvedeném příkladu je provedeno připojení do schránky uživatele huzva. Všimněte si, že heslo je zadáváno v otevřeném tvaru, a proto může být v případě posílání přes síť snadno odposlechnuto. Příkaz LIST vypíše stav schránky (zde je přítomna 1 zpráva, která je dlouhá 825 bajtů).

Spojení vytvořené programem telnet lze (jak je vidět výše) předčasně ukončit pomocí CTRL+] a CTRL+d (podržení klávesy CTRL a stisknutí znaku ] a pak podržení CTRL a stisknutí písmene d).

POP3S

Šifrovaný přístup k POP3 serveru lze otestovat pomocí nástroje openssl, který zajistí zakódování a dekódování provozu mezi klientem a serverem. V následujícím příkladu se připojujeme k lokálně spuštěnému POP3 serveru na port 995. Po navázání spojení je možné používat příkazy, které jsou použity v předchozím příkladu s nástrojem telnet. Zadejte níže uvedený příkaz a místo localhost uveďte název nebo IP adresu testovaného POP3 serveru:

openssl s_client -ign_eof -crlf -connect localhost:995

IMAP

Správnou funkci démona IMAP ověříme tak, že se s ním pokusíme spojit pomocí programu telnet na port 143 (kde je očekáváno připojení klienta služby IMAP). V příkladu je tučně naznačen vstup uživatele, zbytek jsou odezvy serveru. Před každým příkazem je klientem volená identifikační značka, kterou server používá i v odpovědích (a001, a002 atd).

telnet localhost imap
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
* OK Dovecot ready.
a001 CAPABILITY
* CAPABILITY IMAP4rev1 SASL-IR SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS STARTTLS AUTH=PLAIN
a001 OK Capability completed.
a002 LOGIN huzva tajneheslo
a002 OK Logged in.
a003 SELECT INBOX
* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)
* OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted.
* 1 EXISTS
* 0 RECENT
* OK [UNSEEN 1] First unseen.
* OK [UIDVALIDITY 1244056245] UIDs valid
* OK [UIDNEXT 2] Predicted next UID
a003 OK [READ-WRITE] Select completed.
a004 LOGOUT
* BYE Logging out
a004 OK Logout completed.
Connection closed by foreign host.

IMAPS

Šifrovaný přístup k IMAP serveru lze otestovat pomocí nástroje openssl, který zajistí zakódování a dekódování provozu mezi klientem a serverem. V následujícím příkladu se připojujeme k lokálně spuštěnému IMAP serveru na port 993. Po navázání spojení je možné používat příkazy, které jsou použity v předchozím příkladu s nástrojem telnet. Zadejte níže uvedený příkaz a místo localhost uveďte název nebo IP adresu testovaného IMAP serveru:

openssl s_client -ign_eof -crlf -connect localhost:993

Reference

  1. http://cs.wikipedia.org/wiki/Post_Office_Protocol_version_3
  2. http://cs.wikipedia.org/wiki/Internet_Message_Access_Protocol