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 17:22 | Humor

    Kanadský vývojář Anthony Sistilli vytvořil ironický DIY projekt parodující kamerové systémy Flock, s cílem názorně demonstrovat rizika masového sledování jaké provozují tyto komerční ALPR systémy. Z levné IP kamery a vlastního ML softwaru (napsaného s pomocí SI circa za 20 minut, kód se mi bohužel nepodařilo dohledat) běžícího v laptopu sestavil jednoduchý systém, který detekuje výhradně policejní vozidla, zaznamenává jejich SPZ a

    … více »
    ❗Červivý Hřib krade❗ | Komentářů: 3
    dnes 12:44 | Upozornění

    Část údajů uživatelů internetového supermarketu Rohlík byla odcizena. Kyberútočníci napadli nástroj zákaznické podpory Rohlíku, odcizili tak jména, e-mailové adresy, v některých případech také telefonní čísla nebo přepisy komunikace mezi klienty a zákaznickou podporou. Rohlík incident nahlásil příslušným orgánům a přijal příslušné opatření, aby zamezil podobným případům v budoucnosti, uvedla firma.

    Ladislav Hagara | Komentářů: 8
    dnes 11:11 | IT novinky

    Aplikace eDoklady fungovala v obou volebních dnech stabilně a prakticky bez front. Digitální a informační agentura (DIA) odhaduje, že se digitálním dokladem prokázalo více než 100.000 voličů. Aplikaci si před volbami či během nich aktualizovalo 247.517 uživatelů. Nových registrací bylo 19.431 a do aplikace se přihlásilo 357.879 lidí. Největší nápor přišel bezprostředně po otevření volebních místností mezi 14. a 16. hodinou, kdy si

    … více »
    Ladislav Hagara | Komentářů: 5
    dnes 00:55 | Pozvánky

    Začal semestr, začal i podzim a kromě hub rostou jako po dešti i veřejné dílny v Praze. Nedávno strahováci referovali o hackerspacu Bordel, nyní se otevřela dílna Dejvice Lab jen kousek od ČVUT. Na blížící Virtuální Bastlírně tak uslyšíte nejen report z návštěvy dílny HWLab, ale i řadu novinek, událostí a úsměvných momentů, které se za poslední měsíc ve světě techniky, ale i vědy udály. Připojte se tedy již v úterý 13.10. od 20:00 a zapojte se do

    … více »
    bkralik | Komentářů: 0
    včera 11:33 | Nová verze

    Byl vydán LineageOS 24 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu. LineageOS 24 je založený na Androidu 17.

    Ladislav Hagara | Komentářů: 0
    včera 03:55 | IT novinky

    Společnost Valve publikovala na svém GitLabu nákresy a schémata zapojení headsetu Steam Frame. Pro nekomerční účely.

    Ladislav Hagara | Komentářů: 1
    10.10. 23:11 | Bezpečnostní upozornění

    Soutěž Pwn2Own Ireland 2026 skončila 9. října. Bezpečnostní výzkumníci získali celkem 1 262 000 dolarů na odměnách. Během soutěže bylo předvedeno zneužití 98 zero-day zranitelností. Testování zahrnovalo různé kategorie zařízení a software. Výzkumníci předváděli prakticky fungující útoky podle pravidel soutěže. Výsledky následně slouží výrobcům při přípravě oprav. Mezi pokořenými jsou: Samsung Galaxy S26, OpenAI Codex, Oracle Autonomous AI Database, Google Pixel 10, u iPhone 17 neuspěli.

    vencour | Komentářů: 1
    9.10. 22:44 | Nová verze

    Programovací jazyk Python byl vydán v nové verzi 3.15.0. Podrobný přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 20
    9.10. 22:33 | Zajímavý projekt

    BIGWORDS.PAGE je open-source webová aplikace, která po otevření odkazu v prohlížeči vykreslí přes celou obrazovku jednoduché informační sdělení. Zpráva i její nastavení jsou uložené v části URL za znakem #, například odkaz https://bigwords.page/#abclinuxu zobrazí jako velký bílý nápis 'abclinuxu' na černém pozadí. Obsah odkazu lze upravovat i vestavěným editorem, ten umožňuje nastavovat formátování a vizuální efekty textu, časovače, QR kódy a obrázky. Zdrojový kód je dostupný pod licencí MIT na GitHubu.

    ❗Červivý Hřib krade❗ | Komentářů: 10
    9.10. 11:55 | Upozornění

    V neděli 11. října proběhne rotace klíče kořenové zóny. Podruhé v historii. Ondřej Filip na blogu CZ.NIC: "Pokud je pro Vás DNS protokol spíše výzva, ale přesto spravujete nějakou síť či DNS resolver, zkuste si jednoduchý test, který připravila firma Cloudflare na této adrese. Obzvláště zbystřit byste měli, pokud uvidíte nějaká červená políčka."

    Ladislav Hagara | Komentářů: 15
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2837 hlasů
     Komentářů: 32, poslední včera 17:02
    Rozcestník

    Stavíme poštovní server – 5 (doručování, vzdálený přístup)

    13. 11. 2009 | Lukáš Jelínek | Sítě | 35306×

    Poštovní server obvykle nejen odesílá zprávy někam jinam, nýbrž je také přijímá k doručení do schránek. Existuje řada způsobů, jak lze schránky a doručování do nich řešit. Schránky musí být také samozřejmě přístupné pro uživatele.

    Obsah

    Jak doručovat, řešení uživatelů

    link

    Přijme-li poštovní server zprávu, rozhoduje se, co s ní udělá. Pokud je zpráva doručitelná, musí být správně doručena. Řešení z minulých dvou dílů předávala veškeré takové zprávy jinam. Ovšem často je potřeba doručovat tzv. místně, tedy uživatelům, kteří mají své schránky přímo na daném serveru.

    Možností, jak to dělat, existuje celá řada. Obecně můžeme rozlišovat tyto roviny:

    • zda doručuje přímo server (Postfix), nebo jiný program
    • zda jde o systémové, nebo virtuální uživatele
    • kde se nachází úložiště
    • jakým způsobem jsou zprávy uloženy

    Jednotlivé roviny spolu samozřejmě souvisejí, nicméně do určité míry jsou nezávislé. V první řadě jde o to, zda se o finální doručení stará přímo Postfix, nebo zda se využije nějaký program pro místní doručování. Pokud doručuje Postfix, je to celé jednodušší, spotřebuje to méně výkonu, nicméně protože Postfix nemá tuto činnost až tolik v popisu práce, nedá se proces doručování příliš ovlivňovat. Naopak využití doručovacího programu (agenta) je náročnější na konfiguraci a spotřebuje výkon navíc, na druhou stranu lze zprávy filtrovat, třídit, jemně definovat kvóty apod.

    Další rozlišení je mezi systémovými (unixovými) a virtuálními uživateli. Systémový uživatel je takový, který má svůj uživatelský účet zjistitelný přes systémovou databázi (podle nastavení NSS). Typicky jde o uživatele, který se může do systému běžně přihlašovat a pracovat v něm. Naopak virtuální uživatel existuje pouze v poštovním serveru. Řešení se systémovými uživateli se využívá v případě, kdy uživatelé využívají i další služby systému a současně poštovní server obsluhuje jen jednu doménu. Virtuální uživatelé se naopak hodí na dedikované poštovní servery obsluhující větší počet domén.

    Úložiště zpráv se může nacházet obecně kdekoliv, jak fyzicky, tak logicky. Fyzicky bývá buď přímo na daném stroji (běžný disk nebo RAID), anebo na jiném stroji (souborový server, NAS apod.). Z hlediska logického záleží na způsobu uložení zpráv (viz dále), ale pokud jde o souborové řešení, pak mohou být zprávy uloženy buď pod domovskými adresáři uživatelů (pokud jde o systémové uživatele), nebo v adresářovém stromě na vyhrazeném místě (např. /var/mail).

    Zprávy lze ukládat různými způsoby. Je samozřejmě vždy potřeba přizpůsobit volbu schopnostem programů, které k nim přistupují (zde Postfix a Dovecot). Další kritéria jsou robustnost řešení, výkon, případně možnost přebrat bez dalších úprav již existující úložiště. Některé programy používají různá databázová řešení (obvykle nekompatibilní s jinými programy), často se používá také Maildir (každá zpráva je soubor v adresáři) a mbox (všechny zprávy v jednom souboru).

    Přímé doručování systémovým uživatelům

    link

    První řešení bude situace, při které je na serveru určitý počet místních uživatelů, kterým bude Postfix doručovat zprávy do jejich schránek umístěných pod jejich domovskými adresáři. Uživatelé budou ke schránkám přistupovat jen lokálně, čili nebude potřeba zprovozňovat vzdálený přístup přes protokoly POP3 a IMAP. Odesílání zpráv do vnějšího světa bude fungovat tak jako minule.

    Konfigurace doručování

    link

    Doručování místním uživatelům ovlivňuje několik konfiguračních hodnot. Důležité jsou hlavně parametry local_transport (jeho nastavením bylo v minulém díle zakázáno lokální doručování) a local_recipient_maps. První stačí nechat na výchozí hodnotě (což je local:$myhostname, tedy lokální doručovací proces na tomto stroji; je samozřejmě potřeba, aby byl zapnutý v souboru master.cf). I v druhém případě si lze vystačit s výchozí hodnotou, ovšem nebude od věci se na ni podívat trochu podrobněji.

    Parametr local_recipient_maps definuje datové zdroje (tabulky), podle kterých se doručuje místním uživatelům. Výchozí hodnota je proxy:unix:passwd.byname $alias_maps. To znamená, že se nejdřív zkusí databáze unixových uživatelů a potom (při neúspěchu) se prověří ještě aliasy podle aktuálního nastavení (viz dále). Jak si můžete všimnout, využívá se datový zdroj proxy, přes který se teprve přistupuje k databázi uživatelů. Proč tomu tak je? Důvody jsou dva: výkonový (eliminace případných vícenásobných připojení ke stejnému zdroji podle nastavení NSS) a bezpečnostní (není třeba, aby měla služba local přístup k databázi uživatelů). Přístup zajistí služba proxymap.

    Ve výchozím nastavení local_recipient_maps jsou obsaženy i aliasy. Obecně není potřeba je používat, ovšem protože specifikace v RFC vyžaduje existenci některých adres (např. postmaster@doména…; je to dobré i z funkčních důvodů) a bývá zbytečné pro ně vyhrazovat samostatné schránky, aliasy se hodí. Dávají se obvykle do hešové tabulky umístěné v /etc/aliases – obsah může vypadat například takto:

    mailer-daemon: root
    postmaster: root
    hostmaster: root
    nobody: root
    security: root
    abuse: root
    

    Po vytvoření nebo úpravě (po instalaci distribuce mívá obvykle smysluplný obsah podobný výše uvedenému) souboru je potřeba ještě spustit na soubor příkaz postalias /etc/aliases, aby se tabulka vygenerovala. Také se musí nastavit, kde má Postfix aliasy hledat:

    alias_maps = hash:/etc/aliases
    

    Výchozí hodnota obvykle obsahuje tuto tabulku, nicméně obvykle tam bývá ještě přístup k NIS, který se obyčejně nevyužívá, proto je zbytečné ho nechávat zapnutý. Místo příkazu postmap lze využít také newaliases (bez udávání cesty), ale musí se správně nastavit parametr alias_database:

    alias_database = hash:/etc/aliases
    

    Hodnota local_recipient_maps slouží pouze ke zjišťování, zda určitá adresa existuje. Proto nezáleží na pořadí jednotlivých zdrojů dat. S aliasy pracuje služba local při doručování zpráv a vyhodnocuje je vždy dříve než poštovní schránky (proto vytvoření aliasu „zastíní“ příslušnou schránku).

    Nastavení úložiště

    link

    Nyní už je nastaveno, jak se budou zprávy doručovat, ještě ale není jasné kam. Protože se má doručovat do schránek pod domovským adresářem, je potřeba to v konfiguraci nastavit. Tady jsou dva příklady:

    home_mailbox = Mailbox
    
    home_mailbox = Maildir/
    

    Jak je z názvů patrné, v prvním případě se nastaví doručování do souboru formátu mbox s názvem Mailbox, ve druhém případě to bude formát Maildir a adresář nazvaný taktéž Maildir. Kdy použít tu či onu metodu? Záleží hlavně na tom, jaké programy (poštovní klienty) budou ke zprávám přistupovat. Každý způsob má jinak své výhody a nevýhody. mbox (všechny zprávy v jednom souboru) je obvykle rychlejší, ale při odstraňování zpráv zůstává prázdné místo a soubor se musí „zkompaktňovat“, aby nezabíral zbytečně moc prostoru. Maildir (každá zpráva je samostatný soubor) je robustnější, ale na některých souborových systémech je při velkém množství zpráv pomalý.

    V případě formátu Maildir je zatím řeč jen o tomto formátu, ne o jeho rozšířeních (jako používá např. Dovecot), která pomocí indexace umožňují výrazně zrychlit práci i na souborových systémech bez indexů nad adresáři.

    V obou případech, tedy jak pro mbox, tak i Maildir, doručuje Postfix s právy toho uživatele, kterému schránka patří. Je to jednoduché a pohodlné, nicméně z pohledu bezpečnosti to samozřejmě znamená, že musí služba local běžet s právy roota mimo prostředí chroot.

    Nastavení přístupu

    link

    K plné funkčnosti zbývá ještě nastavit přístup pro doručování zvnějšku. Aby server nebyl otevřený pro rozesílání spamu, musí zůstat v platnosti omezení definovaná minule (tedy přístup jen z určených sítí), ovšem současně je potřeba umožnit doručování do místních schránek odkudkoliv (není-li to zakázáno v blacklistu).

    V čem tedy tkví podstata změny konfigurace? Pokud si vzpomínáte na parametr reject_unauth_destination, tak to je přesně on. Ten totiž odmítne doručení kamkoliv mimo cíle, které obsluhuje tento server. Konfigurace kontroly pro SMTP příkaz RCPT TO se tedy změní takto (zjednodušená verze – plná přijde vzápětí):

    smtpd_recipient_restrictions =
      permit_mynetworks,
      check_recipient_access hash:/etc/postfix/access,
      reject_unauth_destination,
      permit
    

    Takto napsané pravidlo nejprve povolí doručení odkudkoli z vlastních sítí, pak provede kontrolu oproti blacklistu (protože může být někdy dobré některé místní schránky udělat opravdu jen „místní“, tedy bez doručování ze světa), potom odmítne veškeré „neautorizované“ cíle (tj. všechny adresy, které neobsluhuje tento server) a propustí všechno ostatní.

    Podobně je potřeba oproti minulému dílu upravit i další pravidla řízení přístupu, aby vše fungovalo tak, jak je třeba. Tady je celý výsledný konfigurační soubor se všemi pravidly:

    myhostname = postak.moje.domena
    myorigin = $mydomain
    mydestination = $mydomain, localhost
    
    alias_maps = hash:/etc/aliases
    alias_database = hash:/etc/aliases
    
    home_mailbox = Maildir/
    
    biff = yes
    delay_warning_time = 4h
    
    mynetworks = 127.0.0.0/8
    
    smtpd_client_restrictions =
      permit_mynetworks,
      check_sender_access hash:/etc/postfix/access,
      permit
    
    smtpd_sender_restrictions =
      permit_mynetworks,
      reject_non_fqdn_sender,
      reject_unknown_sender_domain,
      check_sender_access hash:/etc/postfix/access,
      permit
    
    smtpd_recipient_restrictions =
      permit_mynetworks,
      reject_non_fqdn_recipient,
      reject_unknown_recipient_domain,
      check_recipient_access hash:/etc/postfix/access,
      reject_unauth_destination,
      permit
    
    smtpd_error_sleep_time = 30
    smtpd_soft_error_limit = 10
    smtpd_hard_error_limit = 20
    
    smtpd_helo_required = yes
    disable_vrfy_command = yes
    

    Co je jinak oproti minulému dílu? Všimněte si například parametru mydestination. Ten říká, pro jaké všechny adresy bude server cílový. V tomto případě to budou adresy v definované doméně (mydomain) a adresy v „doméně“ localhost. Dále přibyly parametry pro aliasy (alias_*) a pro schránky (home_mailbox). V pravidlech pro kontrolu klientů se využívá blacklist, pravidla pro kontrolu odesílatele se proměnila tak, že propustí vše kromě formálně nevyhovujících adres a adres z blacklistu. Pravidla pro cílové adresy jsou upravena pro odmítání zpráv z vnějšku, kdy příjemce není „místní“. Všimněte si také parametru disable_vrfy_command, který zakazuje SMTP příkaz VRFY (tím si může spammer zjišťovat existenci schránek, aniž by se do nich pokusil doručit – tak by se mohl vyhnout odmítnutí za překročení limitu chyb).

    Ještě je důležité dodat, že při přístupu z vlastních sítí (zde pouze lokální adresy) je přístup vždy ihned povolen, bez dalších kontrol. Tyto kontroly jsou totiž obvykle zbytečné, navíc nevadí (a leckdy se to naopak hodí), že jsou propuštěny i adresy bez uvedení domény.

           

    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ář

    13.11.2009 08:59 ET
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 5 (doručování, vzdálený přístup)
    v dalsich clancich by mohlo byt jeste rozvinuto boj se spamem (spamassassin,...), automaticke odpovedi (yaa,..)
    13.11.2009 10:01 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše home_mailbox
    home_mailbox = Mailbox
    
    home_mailbox = Maildir/
    

    Jak je z názvů patrné, v prvním případě se nastaví doručování do souboru formátu mbox s názvem Mailbox, ve druhém případě to bude formát Maildir a adresář nazvaný taktéž Maildir.

    Není tu něco špatně? Slovo za rovnítkem definuje co? Formát nebo název souboru? Co umístění souboru? /var/spool/mail nebo domovský adresář?

    Heron avatar 13.11.2009 11:24 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: home_mailbox
    Pokud je tam lomítko, tak se to bere jako adresář pro maildir.

    Díky Lukovi za skvělý seriál. Kdy se dostaneš ke "vzdálenému" smtp? Zatím je odesílající klient puštěn díky adrese v $mynetworks (a příslušným permit pravidlem), jak zařídit, aby mohl odesílat odkudkoliv (po nějaké formě přihlášení)?
    13.11.2009 12:21 Vantomas | skóre: 32 | Praha
    Rozbalit Rozbalit vše Re: home_mailbox

    Priste. Jak je napsano na konci clanku

    Cílem bude ověřování virtuálních uživatelů, a to jak pro účely doručování (tedy jestli uživatel vůbec existuje), tak pro ověření pro odesílání zpráv (často je žádoucí mít možnost právo uživatele odesílat poštu ověřit i jinak než pouze podle síťových adres).

    Luk avatar 13.11.2009 12:58 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: home_mailbox
    Pokud je tam lomítko, tak se to bere jako adresář pro maildir.
    Přesně tak. Asi jsem měl použít lepší formulaci, takhle to nemusí být dostatečně zřejmé.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    13.11.2009 18:44 petr_p | skóre: 59 | blog: pb
    Rozbalit Rozbalit vše Re: home_mailbox
    A cesta jak? Když je absolutní, tak to je adresář, kde se budou vytvářet mailboxy/maildiry pojmenované podle uživatelského jména, a když je relativní, tak se bere vzhledem k domovskému adresáři?
    Luk avatar 13.11.2009 19:00 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: home_mailbox
    Jsou povoleny pouze relativní cesty (což má logiku, protože se zde vychází vždy z domovského adresáře). Co to udělá, pokud by tam někdo narval absolutní cestu, jsem nezkoušel, ale asi to bude řvát. Další možnost je, že se parametr vůbec nenadefinuje, pak to vytváří mailboxy/maildiry pojmenované podle uživatelského jména, a to v adresáři definovaném pomocí mail_spool_directory.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    21.11.2009 19:35 gagod | skóre: 2
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 5 (doručování, vzdálený přístup)
    Rozumím tomu správně, že nic nepokazím když použiji zkrácený zápis (s smtp_delay_reject=yes):
    smtpd_recipient_restrictions =
      permit_mynetworks,
      reject_non_fqdn_sender,
      reject_unknown_sender_domain,
      reject_non_fqdn_recipient,
      reject_unknown_recipient_domain,
      check_recipient_access hash:/etc/postfix/access,
      check_sender_access hash:/etc/postfix/access,
      reject_unauth_destination
    
    Nebo má v článku prezentované řešení jiné výhody? Btw ten permit na konci je přidán jen z psychologického hlediska, je tak? Díky
    Luk avatar 21.11.2009 20:27 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 5 (doručování, vzdálený přístup)
    Rozumím tomu správně, že nic nepokazím když použiji zkrácený zápis (s smtp_delay_reject=yes)
    Ano, za předpokladu smtp_delay_reject=yes by se to mělo chovat stejně.
    Nebo má v článku prezentované řešení jiné výhody?
    Upřednostňuji rozdělení na jednotlivé části, je to podle mého názoru přehlednější a názornější.
    Btw ten permit na konci je přidán jen z psychologického hlediska, je tak?
    Ano, je tam proto, aby bylo na první pohled patrné, co nastane, pokud žádné pravidlo nevyhoví.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    16.2.2010 16:51 Marek
    Rozbalit Rozbalit vše Re: Stavíme poštovní server – 5 (doručování, vzdálený přístup)
    Proč není u článku odkaz na další díl seriálu (a na předchozí, první a poslední, tak jako u ostatních)?

    Založit nové vlákno • Nahoru

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