abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 01:44 | Zajímavý projekt

Kampaň na podporu chytrého telefonu Librem 5, jenž by měl respektovat bezpečnost, svobodu a soukromí uživatelů, úspěšně skončila. Bylo vybráno více než 2,1 milionu dolarů, tj. cíl kampaně byl splněn na více než 141 %. Objednáno bylo cca 3 000 telefonů. Telefon Librem 5 by měl být k dispozici v lednu 2019.

Ladislav Hagara | Komentářů: 4
včera 21:11 | Komunita

Ke zhlédnutí jsou videozáznamy přednášek z konferencí All Systems Go! (media.ccc.de) a GStreamer Conference 2017 (ubicast.tv) konaných o víkendu 21. a 22. října. All Systems Go! v Berlíně a GStreamer Conference 2017 v Praze.

Ladislav Hagara | Komentářů: 0
včera 20:33 | Komunita

MojeFedora.cz informuje (en), že Fedora 27 přináší snadný přístup k Red Hat Enteprise Linuxu. Virtualizační nástroj Boxy nyní umožňuje jednoduše stáhnout a nainstalovat Red Hat Enterprise Linux, který je pro vývojáře zdarma. Vytvořit lze neomezené množství virtuálních mašin s RHEL.

Ladislav Hagara | Komentářů: 3
včera 19:00 | Komunita

Konsorcium Linux Foundation oficiálně představilo licence pro komunitní otevřená data Community Data License Agreement (CDLA). První licence je copyleftová CDLA-Sharing a druhá permisivní CDLA-Permissive. Odpovědi na často kladené otázky ve FAQ.

Ladislav Hagara | Komentářů: 0
včera 13:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 145. pražský sraz, který proběhne ve čtvrtek 26. října od 18:00 hodin v karlínském Pivovarském klubu. Najdete jej kousek od metra Florenc na adrese Křižíkova 17, Praha 8. Jedná se o poslední sraz před konferencí OpenAlt 2017, jež proběhne o víkendu 4. a 5. listopadu 2017 na FIT VUT v Brně. Běží registrace účastníků.

Ladislav Hagara | Komentářů: 0
včera 06:00 | Zajímavý software

Byla vydána verze 0.56 open source platformy Home Assistant (GitHub) pro monitorování a řízení inteligentní domácnosti naprogramované v programovacím jazyce Python verze 3 a bežící také například na Raspberry Pi. Pro vyzkoušení je k dispozici demo [reddit].

Ladislav Hagara | Komentářů: 0
22.10. 16:55 | Nová verze

Byla vydána verze 1.0 klienta F-Droid určeného pro instalaci aplikací do Androidu ze softwarového repozitáře F-Droid (Wikipedie), alternativy k Google Play, nabízející pouze svobodný a otevřený software. Podrobnosti v přehledu změn [Hacker News].

Ladislav Hagara | Komentářů: 9
22.10. 00:55 | Nová verze

Po téměř 13 měsících vývoje od verze 0.11.0 byla vydána verze 0.12.0 hardwarově nenáročného desktopového prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklého sloučením projektů Razor-qt a LXDE. Přehled novinek v příspěvku na blogu.

Ladislav Hagara | Komentářů: 11
21.10. 12:33 | Zajímavý software

Článek ne Medium představuje nejnovější stabilní verzi 2.0 svobodné decentralizované mikroblogovací platformy a sociální sítě podobné Twitteru Mastodon (Wikipedie). Detailní přehled novinek na GitHubu [Hacker News].

Ladislav Hagara | Komentářů: 0
21.10. 06:00 | Komunita

V Praze na půdě Elektrotechnické fakulty ČVUT dnes probíhá RT-Summit 2017 – setkání vývojářů linuxového jádra a uživatelů jeho real-time verze označované jako preempt-rt. Přednášky lze sledovat online na YouTube.

Ladislav Hagara | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (10%)
 (1%)
 (0%)
 (1%)
 (75%)
 (12%)
Celkem 250 hlasů
 Komentářů: 8, poslední 22.10. 23:02
    Rozcestník

    Stavíme poštovní server – 2 (Dovecot)

    19. 10. 2009 | Lukáš Jelínek | Sítě | 24158×

    Seriál o budování poštovního serveru pokračuje představením druhého základního „člena týmu“ – programu Dovecot. Ten se na serveru stará o přístup k poště pomocí protokolů POP3 a IMAP, může zajišťovat i lokální doručování a poskytovat autentizační služby jiným programům.

    Obsah

    Dovecot a jeho historie

    link

    Dovecot (název znamená anglicky „holubník“, zřejmě v asociaci na poštovní holuby) je program, který vhodně doplňuje Postfix nebo jiné MTA (např. Sendmail, Exim nebo qmail) zejména o přístup k poště, ale případně i o další funkce. Jeho hlavním úkolem je role IMAP serveru (protokol IMAP 4, revize 1) a POP3 serveru – uvedené protokoly podporuje v plné šíři a ještě různá rozšíření navíc. Obsahuje samozřejmě podporu pro komunikaci přes TLS, a to jak formou explicitního zapnutí TLS pro konkrétní relaci, tak i v implicitní formě na samostatných portech.

    Součástí programu Dovecot je také lokální doručovací agent, který může přebírat zprávy od MTA a zajišťovat finální doručení. Je to výhodné zejména v kombinaci s filtrací doručované pošty (technologie Sieve, viz dále) nebo s nastavováním kvót. Dovecot může fungovat také jako autentizační agent (technologie SASL) pro jiné programy, např. pro Postfix. Lze tak snadno centralizovat autentizaci na jedno místo.

    Historie programu Dovecot

    link

    Podobně jako Postfix, je i Dovecot v zásadě „jednomužným“ projektem, přestože se na něm do určité míry podílí mnoho lidí a řada firem. Začal ho vyvíjet finský programátor Timo Sirainen z Tampere (kromě programu Dovecot vyvinul též například IRC klienty irssiirrsi2, komunikační protokol Icecap a pracuje i na dalších projektech). První verze alfa verze (0.93) byla k dispozici v červenci 2002, první ostrá verze (1.0.0) se dočkala vydání až v dubnu 2007, po 5 letech vývoje (jen pro zajímavost, např. jen RC verzí 1.0.0 bylo 32). Nicméně už dlouho před tímto okamžikem byl Dovecot velmi dobře použitelný, byl součástí řady linuxových distribucí a byl nasazován i na produkční servery.

    Již verze 1.0 obsahovala velmi dobrou podporu specifikací protokolů a různých rozšíření, verze 1.1 (vydaná v červnu 2008) dosáhla prakticky stoprocentní podpory a přinesla i nová rozšíření a různá další vylepšení. Aktuálně je nejnovější verze 1.2 (v tento okamžik konkrétně 1.2.6) z července 2009. Nových věcí v této verzi není až tolik, jde hlavně o nová rozšíření protokolu IMAP a o plnou podporu sdílených schránek a IMAP ACL. 12. října 2009 byla vydána první alfa verze 2.0, obsahující poměrně zásadní změny v implementaci a přinášející například podporu protokolu LMTP nebo univerzální administraci pomocí doveadm.

    Cílem vzniku programu bylo vytvoření bezpečného, nenáročného, stabilního a snadno spravovatelného serveru s maximální podporou standardů. Timo Sirainen svůj důraz na bezpečnost ukázal i tím, že vyhlásil odměnu 1000 eur za nalezení zneužitelné bezpečnostní díry. Na vývoji se podílí řada autorů, vývoj podporují některé firmy, část kódu byla (samozřejmě v souladu s licencí) převzata z hotových produktů. Timo Sirainen je nyní zaměstnán v hostingové firmě Rackspace (dříve Mailtrust), kde se plně věnuje právě vývoji programu Dovecot.

    Dovecot je poskytován pod směsí licencí, různé části kódu mají různé licence. Největší část je pod GNU LGPL 2.1 (což je také nejrestriktivnější z použitých licencí), další část pod licencí MIT, něco je public domain a pár komponent má vlastní licence (podobné licenci MIT).

    Proč používat Dovecot

    link

    Seznam důvodů bude velmi podobný tomu, který si můžete přečíst u.minulého dílu o Postfixu Je to logické, právě proto se tyto dva programy k sobě hodí.

    • výborná podpora standardů
    • robustnost, stabilita, bezpečnost
    • flexibilita
    • škálovatelnost
    • funkční bohatost
    • snadná konfigurace a správa
    • nízké systémové nároky

    Dovecot výborně podporuje standardy. Na rozdíl od řady jiných IMAP serverů (u čistých POP3 serverů je situace jiná, vzhledem k primitivnosti protokolu v porovnání s protokolem IMAP), které trpí většími či menšími odchylkami od specifikace protokolu IMAP4rev1, je na tom Dovecot (počínaje verzí 1.1) výborně. Prokazuje to i fakt, že úspěšně prošel všemi ze 403 skriptovaných testů zaměřených na základní IMAP a dalšími 100 testy na rozšíření protokolu (což se v rámci porovnávání podařilo už jen programu Panda IMAP – všechny ostatní trpěly různým počtem chyb). Dovecot navíc podporuje různé workaroundy, kterými se vyrovnává s chybami v implementaci protokolu na straně klientů.

    Dovecot je stabilní, robustní a bezpečný. Kromě již zmíněného důrazu při vývoji a vyhlášené odměny na nalezení chyby je bezpečnost řešena podobně jako u programu Postfix – tedy velkou modularitou, minimalizací a separací práv atd. Moduly jsou opět velmi nezávislé a problémy jednoho nemají dopady na fungování těch ostatních.

    Dovecot je flexibilní. Lze si ho v širokém rozmezí přizpůsobit, a to například jak z hlediska úložiště zpráv, tak i datových zdrojů, autentizačních metod, podporovaných funkcí atd. Velkou výhodou je možnost velmi snadné migrace z většiny jiných POP3/IMAP řešení, často bez nutnosti jakkoli zasahovat do úložiště a beze změny unikátních identifikátorů zpráv.

    Dovecot je škálovatelný. Vzhledem k architektuře programu tento může dobře využít jak stroj s omezenými prostředky (aniž by mu to činilo potíže), tak i rychlý server s dostatkem zdrojů.

    Dovecot je funkčně bohatý. Podporuje velkou škálu rozšíření komunikačních protokolů a autentizačních metod, ale má také zásuvné moduly (pluginy) pro další funkce – samozřejmě s tím, že další pluginy lze vytvářet a využívat podle potřeby.

    Dovecot je snadno spravovatelný a konfigurovatelný. Konfigurační soubor se do určité míry podobá konfiguraci programu Postfix (parametr=hodnota), je ale hierarchicky členěný (např. sekce autentizace, v ní sekce LDAP apod.). Základní konfigurace sestává z jediného souboru. Pokud se využívá jako zdroj informace SQL databáze nebo LDAP, potřebné údaje se dávají do samostatných souborů. Informace o případných potížích program dává najevo srozumitelnými zprávami.

    Dovecot má nízké systémové nároky. Jsou spuštěny jen skutečně využívané komponenty, některé moduly lze sdílet napříč celým serverem, kód není náročný na paměť ani čas procesoru.

    Architektura programu Dovecot

    link

    Architektura je do značné míry podobná té, kterou má i Postfix. Tedy existuje jeden hlavní program (master), který řídí běh výkonných modulů. Zásadní rozdíl je ale v tom, jak se tato hierarchie spravuje. Zatímco u Postfixu řídí nakládání s moduly správce serveru, u Dovecotu je to program samotný – správce si určí, co všechno (a jak přesně) bude Dovecot dělat, a jeho hlavní program už se postará o to, aby běžely ty správné moduly.

    Architektura systému Dovecot

    Do určité míry však správce do spouštění modulů zasahuje. Může například určit, jaký počet procesů určitého druhu se bude spouštět nebo jaký počet relací bude obsluhovat – v závislosti na tom, jaké prostředky jsou k dispozici a jak se s nimi má nakládat. I tak ale primární úlohou administrátora zůstává, aby zvolil podporované služby a jejich chování.

    Dovecot je schopen fungovat i jako spouštěný na vyžádání (inetd, resp. xinetd), místo hlavního programu se však spouštějí přímo moduly pro daný protokol, které si pak samy spustí další potřebné moduly. Lze to využít pro servery s minimem prostředků, kde se k poště přistupuje jen zřídka.

    Na rozdíl od programu Postfix má Dovecot podporu pro pluginy. Dělí se do různých kategorií (konkrétně obecné a specifické pro jednotlivé služby – pro autentizaci, IMAP, POP3 a LDA), základní sada je k dispozici společně s programem, další pluginy lze získat od jiných autorů nebo si je případně i vytvořit podle potřeby.

    Dovecot nemá žádné ovládací utility. Nové načtení konfigurace se vynucuje přímo signálem (SIGHUP), konfiguraci lze předem zkontrolovat spuštěním programu se specifickým přepínačem, totéž se týká vypsání nastavených (nevýchozích) hodnot. Jedinou utilitou je program dovecotpw, určený ke generování hesel – lze ho využít v případech, kdy se přihlašovací údaje ukládají do souborů.

    Jak Dovecot nakládá se zprávami

    link

    Dovecot se ke zprávám může dostat v zásadě dvojím způsobem – buď mu je do úložiště vkládá jiný program (např. Postfix nebo procmail), nebo si je tam vkládá sám prostřednictvím doručovacího agenta (LDA). Záleží samozřejmě na tom, o jaké konkrétní úložiště se jedná, nicméně vždy platí, že pokud Dovecot běží, aktualizuje si ihned indexy, které si pro přístup ke zprávám vytváří (buď to udělá přímo LDA, nebo – v případě doručení jiným programem – to Dovecot udělá na základě notifikace pomocí technologie inotify nebo dnotify). Poškodí-li se nebo odstraní indexy (např. smazáním příslušných souborů), Dovecot si je automaticky opraví.

    Při přístupu uživatele ke zprávám začíná relace samozřejmě vždy autentizací. Na připojení uživatelů čekají přihlašovací moduly (imap-loginpop3-login). Po připojení začne autentizace, kterou provede modul dovecot-auth; ten si může spustit ještě další pracovní instance, potřebuje-li provést blokující operace, např. dotazy do databáze. Po úspěšné autentizaci uživatelskou relaci přebírá modul imap, resp. pop3, který se stará o vlastní práci se zprávami.

    Pokud se využívá i lokální doručování přes Dovecot LDA, vstupuje do hry ještě další modul – deliver. Ten ale neběží jako démon, nýbrž ho spouští MTA jako svůj cílový transport. LDA se často využívá v kombinaci s pluginy (protože pro pouhé ukládání zpráv by byl skoro zbytečný, to zvládne i samotný MTA), zejména pro sledování kvót nebo pro filtraci zpráv.

    Uživatelské databáze

    link

    Klíčovými informacemi, se kterými program pro přístup k poště pracuje, jsou údaje o uživatelích – tedy jméno, heslo, uživatelský adresář, příp. umístění schránky, UID, GID, kvóty a další parametry. Tyto údaje lze získávat z různých zdrojů, Dovecot jich podporuje celou řadu – konkrétně tyto:

    • passwd – databáze systémových uživatelů, typicky využívaná přes NSS (základem jsou soubory /etc/passwd, /etc/shadow atd., ale může využívat i jiné zdroje)
    • soubory typu passwd – jde o obecné soubory se syntaxí /etc/passwd
    • NSS – využití konkrétní služby NSS (oproti passwd umí rozlišit dočasné a trvalé chyby)
    • LDAP – využití adresářových služeb LDAP, včetně Microsoft Active Directory
    • SQL – databáze založené na jazyce SQL; aktuálně jsou k dispozici ovladače pro MySQL, PostgreSQL a SQLite
    • statické hodnoty – pevně definované nebo generované pomocí šablon
    • VPopMail – využití externích programů VPopMail nebo VMailMgr
    • prefetch – využití informací načtených dříve (viz dále)

    Metoda „prefetch“ znamená, že se při zjišťování údajů o uživateli použije to, co bylo zjištěno při zjišťování hesel. Uvedený seznam se totiž týká uživatelů jako takových – s hesly je to mírně jinak. Podporovány jsou výše uvedené metody, navíc ještě PAM a externí program CheckPassword. Co je ale důležité, ne všechny metody lze používat společně se všemi autentizačními schématy – problém je totiž v tom, že některá schémata vyžadují heslo v otevřeném tvaru (nikoli šifrované/hešované). Podle toho lze rozlišit dvě skupiny zdrojů – v jedné jsou zdroje umožňující pouhé porovnání hesla s uloženým heslem (omezená množina schémat), ve druhé zdroje umožňující získání hesla a další práci s ním (plná množina schémat). Ještě o tom bude řeč v dalších dílech seriálu.

    Uvedené údaje může Dovecot (formou implementace SASL) poskytovat i jiným programům. Ty pak mají k dispozici stejné a stejným způsobem využitelné (ve smyslu škály použitelných schémat) údaje jako samotný Dovecot. Lze toho s výhodou využít například při spolupráci s programem Postfix.

    Některé zásuvné moduly

    link

    Přestože základní program poskytuje většinu potřebné funkcionality, zásuvné moduly (pluginy) přidávají některé velmi užitečné funkce. Tady je přehled některých takových pluginů, které jsou z tohoto pohledu zajímavé:

    • acl – poskytuje podporu pro přístupové seznamy (access control lists, ACL); do verze 1.1 se jedná o ACL řízené správcem, od 1.2 jde již o plnou implementaci rozšíření IMAP ACL
    • expire – automaticky maže zprávy po určité době; vhodné např. pro automatické čištění složky se spamem
    • fts – indexace pro fulltextové vyhledávání (podporuje vlastní engine Squat a také externí LuceneSolr)
    • quota – podpora kvót; doplňkovým pluginem je imap_quota pro hlášení stavu zaplnění klientům
    • trash – automaticky odstraňuje smazané zprávy, pokud je překročena kvóta

    Kromě pluginů přibalených přímo k programu existují další, od jiných autorů. Nejzajímavějším externím pluginem je zřejmě CMU Sieve (implementace filtrační technologie Sieve) z projektu Cyrus; od Dovecotu verze 1.2 lze však použít plugin poskytovaný přímo s programem. Jednotlivé pluginy lze konfigurovat, a to nejen globálně, ale i na úrovni uživatelů nebo schránek/složek (tzn. například definovat kvóty globálně, potom jednotlivým uživatelům a nakonec ještě konkrétním složkám).

    Od teorie k praxi

    link

    Teoretický úvod (tedy spíše stručná přehlídka možností) je u konce a přichází čas na něco praktičtějšího. Příští díl bude věnován tomu, kde oba popisované programy získat, jaké verze zvolit, a hlavně, jak už také něco doopravdy zprovoznit.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    19.10.2009 05:52 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 2 (Dovecot)
    Pokud si pamatuju dobře, tak Dovecot neumí (rozumně) sdílení mailboxů a ACL.
    In Ada the typical infinite loop would normally be terminated by detonation.
    Luk avatar 19.10.2009 06:43 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 2 (Dovecot)
    Od verze 1.2 umí. Možná jsem to nenapsal dostatečně srozumitelně, ale zmiňuji to na dvou místech.
    LinuxMarket - linuxový e-shop | LinuxEXPRES - linuxový magazín | OpenOffice.cz - portál uživatelů OpenOffice/LibreOffice
    19.10.2009 10:14 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 2 (Dovecot)
    OK, a funguje to do té míry, že když uživatel poštovního klienta (kmail, thunderbird, …) klikne na „sdílení/acl“, tak se mu povede vše nastavit? Nebo se musej editovat ACL ručně někde na serveru?
    In Ada the typical infinite loop would normally be terminated by detonation.
    Luk avatar 19.10.2009 13:12 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 2 (Dovecot)
    OK, a funguje to do té míry, že když uživatel poštovního klienta (kmail, thunderbird, …) klikne na „sdílení/acl“, tak se mu povede vše nastavit?
    Ano, od verze 1.2. Lze to ovládat pomocí libovolného klienta, který umí IMAP ACL (příkazy MYRIGHTS, GETACL, SETACL a DELETEACL).
    Nebo se musej editovat ACL ručně někde na serveru?
    To bylo dřív.
    LinuxMarket - linuxový e-shop | LinuxEXPRES - linuxový magazín | OpenOffice.cz - portál uživatelů OpenOffice/LibreOffice
    19.10.2009 09:11 Zemis | skóre: 11
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 2 (Dovecot)
    Díky za hezké články. Sám Postfix(2.6) a Dovecot(1.2) používám a musím říct, že provozování tohoto serveru je naprosto bezproblémové. Velice si cením dovecot-saslu, který snížil zátěž na LDAP server. Těším se na další díly a doufám že se budete věnovat i nějakým těm pluginům (třeba expire a quota :)
    xkucf03 avatar 19.10.2009 22:57 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše ACL a Sieve
    Už se těším na praktickou část seriálu :-) Poštovní server s postfixem a dovecotem už provozuji, ale k ACL a Sieve jsem se zatím nedostal, to se bude hodit.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.