Späť na blog

Návod na konfiguráciu poštového servera: Ako používať Postfix, Dovecot, MySQL a SpamAssassin

Návod na konfiguráciu poštového servera: Ako používať Postfix, Dovecot, MySQL a SpamAssassin

Úvod

Na Ubuntu 20.04, môžete použiť nástroje ako Postfix, Dovecot, MySQL, a SpamAssassin na konfiguráciu poštového servera. Tento proces môže byť mätúci pre niekoho, kto sa o to pokúša prvýkrát. Tento návod má za cieľ zjednodušiť vám proces konfigurácie poštového servera pomocou podrobných krokov. Na konci tohto návodu budete vedieť, ako pridať virtuálne domény, používateľov a aliasy. V konečnom dôsledku urobíte svoj virtuálny server bezpečnejším pred spamovými centrami.

Požiadavky

Predtým, ako začnete s konfiguráciou poštového servera, je potrebné splniť niekoľko požiadaviek. Najprv sa uistite, že váš virtuálny privátny server má doménu, ktorá smeruje na váš server. Taktiež musíte nainštalovať a nakonfigurovať MySQL. Okrem toho musíte mať používateľa s udelenými root právami a nainštalovať SSL certifikát. Na záver sa uistite, že váš FQDN  je nakonfigurovaný a identifikovaný.

Ak inštalujete balíky ako root používateľ, budete mať všetky privilégiá. Preto to odporúčame:

Zadajte heslo vášho používateľa. V tomto momente uvidíte, že symbol $ sa zmení na #. Ďalej preskúmajme jednotlivé aspekty konfigurácie jeden po druhom.

Krok 1: Inštalácia balíkov

Začneme tým, že sa naučíme, ako inštalovať balíky:

Keď sa zobrazí konfigurácia Postfixu, vyberte Internet Site:

Mail Server postfix config

Budete požiadaní o System mail názov. Tu môžete použiť FQDN alebo hlavnú doménu:

postfix configuration 2

Krok 2: Vytvorenie databázy MySQL, virtuálnych domén, používateľov a aliasov

Ďalej, po nainštalovaní všetkých balíkov, prejdeme k konfigurácii. Naším cieľom je nakonfigurovať tri tabuľky. Jedna bude pre domény, jedna pre používateľov a jedna pre aliasy. Tieto budú umiestnené v databáze MySQL, ktorú vytvoríme.

Povedzme, že chceme našu databázu pomenovať servermail. Môžete použiť názov podľa vlastného výberu. Tu je návod, ako ju vytvoríme:

Musíte sa prihlásiť ako root používateľ MySQL:

Potom zadajte svoje heslo. Úspešný pokus zobrazí tento výsledok:

Ďalej vytvoríme nového používateľa špeciálne pre overovanie pošty. Udeľte oprávnenie SELECT nasledovne:

Potom znova načítajte svoje privilégiá MySQL, aby ste úspešne uplatnili povolenia:

Ďalej použijeme našu databázu na vytvorenie tabuliek a zadanie údajov:

Vytvoríme jednotlivé tabuľky pre konkrétne domény, ktoré sú rozpoznané ako autorizované domény:

Cieľom je pridať používateľov do tabuľky. Preto budeme pridávať príslušnú e-mailovú adresu a heslo. Majte na pamäti, že každého používateľa musíte priradiť k doméne:

Ďalej vytvoríme tabuľku pre všetky naše virtuálne aliasy, aby sme špecifikovali všetky e-maily, ktoré budeme presmerovávať na iný e-mail:

Na konci tohto procesu úspešne vytvoríte tri tabuľky. Ďalej musíme vložiť dáta.

  • Virtuálne domény

V tejto časti sa naučíme, ako vložiť domény do virtual_domains tabuľky. Konkrétne sa zameriame na to, ako vložiť primárnu doménu (example.com) a FQDN (hostname.example.com):

  • Virtuálne e-maily

Ďalej zadajte e-mailovú adresu a priradené heslá pre každú z domén. Uistite sa, že všetky informácie sú nahradené vašimi konkrétnymi údajmi:

  • Virtuálne aliasy

Teraz môžete zadať e-mailovú adresu, na ktorú budete presmerovávať druhú e-mailovú adresu. Prvá je zdroj, zatiaľ čo druhá je cieľ:

Potom môžete ukončiť MySQL:

Krok 3: Konfigurácia Postfixu

Je dôležité nakonfigurovať Postfix tak, aby dokázal spravovať SMTP pripojenia. Musí byť tiež schopný odosielať správy pre všetkých používateľov zadaných v databáze MySQL. Začnime vytvorením kópie predvoleného súboru. To preto, aby ste sa v prípade potreby mohli ľahko vrátiť k predvolenej konfigurácii:

Teraz otvorte main.cf súbor, aby ste ho upravili:

Začnite zakomentovaním parametrov TLS a potom pridajte akékoľvek ďalšie parametre. V našom príklade používame bezplatné SSL certifikáty. Konfiguráciu si samozrejme môžete zmeniť podľa svojich požiadaviek:

Ďalej pridáte tieto parametre pod nastavenia TLS:

Potom musíme zakomentovať mydestination predvolené nastavenia. Potom ich nahradíme localhost. S touto zmenou bude VPS môcť používať virtuálne domény v tabuľke MySQL:

Teraz použite tento príkaz na overenie, že myhostname parameter je nastavený vo vašom FQDN:

Okrem toho pridajte tento riadok, aby ste aktivovali lokálne doručovanie pošty pre všetky virtuálne domény uvedené v tabuľke:

Na záver pridáme nasledujúce parametre, aby sme Postfixu povedali, že má nakonfigurovať virtuálne domény, používateľov a aliasy:

Aby ste sa uistili, že tam nie sú žiadne chyby, porovnajte tieto zmeny s nasledujúcim súborom:

https://www.dropbox.com/s/x9fpm9v1dr86gkw/etc-postfix-main.cf.txt

Keď je to všetko skontrolované, vytvoríte tri súbory, ktoré pridáte do main.cf súboru. Cieľom je poskytnúť Postfixu inštrukcie, ako sa spojiť s MySQL. Aby sme to urobili, začneme vytvorením mysql-virtual-mailbox-domains.cf súboru. Samozrejme, vo vašom súbore vykonáte zmeny podľa vašej osobnej konfigurácie:

Ďalej reštartujte Postfix:

Musíte sa uistiť, že Postfix dokáže nájsť vašu doménu. Na otestovanie použite tento príkaz:

Príkaz vráti 1, ak bude úspešný. V takom prípade môžete pokračovať vytvorením mysql-virtual-mailbox-maps.cf súboru:

Znova reštartujte Postfix:

Opäť sa uistíme, že Postfix dokáže nájsť prvú e-mailovú adresu. Na otestovanie použite nasledujúci príkaz:

Ak bude úspešný, ako výsledok dostanete 1. Preto prejdeme k vytvoreniu posledného súboru:

Týmto je konfigurácia medzi Postfixom a MySQL dokončená. Pre uplatnenie reštartujte Postfix:

Ak chcete potvrdiť, že Postfix skutočne nachádza vaše aliasy, použite tento príkaz:

V ideálnom prípade by ste mali ako výstup dostať e-mail, ktorý je presmerovaný na alias. Môžete tiež upraviť /etc/postfix/master.cf súbor nasledovne, ak chcete bezpečne pripojiť port 587 s e-mailovými klientmi:

Tu je návod, ako odkomentovať určité riadky a pridať parametre:

Niekedy môže byť potrebné reštartovať Postfix, aby ste potvrdili, že port je otvorený:

Tento nástroj sa dá použiť aj na skenovanie portov domény. Môžete ho použiť na overenie, či sú porty 25 a 587 otvorené.

Krok 4: Konfigurácia Dovecotu

Teraz je čas nakonfigurovať Dovecot. V tejto časti budeme musieť skopírovať 7 súborov, ktoré chcete upraviť. Tým sa zabezpečí, že sa v prípade potreby budete môcť vrátiť späť. Zadajte tieto príkazy jeden po druhom:

Musíte upraviť konfiguračný súbor z Dovecotu:

Uistite sa, že je táto možnosť odkomentovaná:

Ďalej povolíme protokoly pod !include_try /usr/share/dovecot/protocols.d/*.protocol riadkom. Ak chcete, môžete pridať aj pop3:

To ensure there are no mistakes, compare it with this file:

https://www.dropbox.com/s/wmbe3bwy0vcficj/etc-dovecot-dovecot.conf.txt

Ďalej upravte konfiguračný súbor pošty:

Vyhľadajte mail_location riadok. Musíte ho odkomentovať a pridať tento parameter:

Potom vyhľadajte mail_privileged_group riadok. Opäť ho odkomentujte a pridajte parameter mail:

Aby ste vylúčili akúkoľvek možnosť chýb, porovnajte ho s týmto súborom:

https://www.dropbox.com/s/hnfeieuy77m5b0a/etc.dovecot.conf.d-10-mail.conf.txt

  • Overenie oprávnení

Na overenie oprávnení použite tento príkaz:

Uistite sa, že sa vaše oprávnenia zobrazujú nasledovne:

Pre každú doménu môžete vytvoriť priečinok. Všetky tieto priečinky budú zaregistrované v tabuľke MySQL:

Vytvorte používateľa a skupinu vmail s ID 5000:

Ďalej musíte zmeniť vlastníka /var/mail priečinka na používateľa vmail:

Teraz upravte /etc/dovecot/conf.d/10-auth.conf súbor:

Po odkomentovaní autentifikácie čistým textom pridajte nasledujúci riadok:

Toto použite na úpravu parametra auth_mechanisms :

Teraz tento riadok zakomentujte:

Ak chcete povoliť autorizáciu MySQL, musíte odkomentovať nasledujúci riadok:

Na zistenie a úpravu chýb použite nasledujúci súbor:

https://www.dropbox.com/s/4h472nqrj700pqk/etc.dovecot.conf.d.10-auth.conf.txt

Vytvorenie súboru /etc/dovecot/dovecot-sql.conf.ext s vašimi informáciami vám umožní autentifikáciu:

Vložte tento kód do súboru:

Na úpravu súboru /etc/dovecot/dovecot-sql.conf.ext použijeme naše vlastné informácie o MySQL:

Po odkomentovaní parametra driver nastavte MySQL ako parameter takto:

Svoje špecifické informácie o MySQL môžete zadať odkomentovaním riadku connect :

Teraz musíte odkomentovať riadok default_pass_scheme a zmeniť ho na SHA-512:

Po odkomentovaní password_query:

Na zistenie chýb použite tento súbor na porovnanie:

https://www.dropbox.com/s/48a5r0mtgdz25cz/etc.dovecot.dovecot-sql.conf.ext.txt

Ďalej môžete zmeniť vlastníka a skupinu priečinka dovecot na používateľa vmail:

Ďalším krokom je úprava súboru /etc/dovecot/conf.d/10-master.conf . Tu musíte byť obzvlášť opatrní, pretože sa zmenia rôzne parametre:

Použite nasledujúci kód na zmenu parametra unix_listener na service_auth:

Ďalej musíte upraviť service auth-worker nasledovne:

Chyby zistíte porovnaním s týmto súborom:

https://www.dropbox.com/s/g0vnt233obh6v2h/etc.dovecot.conf.d.10-master.conf.txt

Ďalším krokom je úprava konfiguračného súboru SSL pre Dovecot. Ak plánujete použiť predvolenú konfiguráciu, môžete tento krok preskočiť a prejsť na ďalšiu časť:

Ďalej zmeňte parameter ssl na required nasledovne:

Taktiež upravíme cestu pre ssl_cert aj ssl_key:

Reštartujte Dovecot:

Uistite sa, že port 993 je otvorený. Ak ste povolili pop3, skontrolujte aj port 995:

Ak ste dokončili kroky až do tohto bodu, gratulujeme! Úspešne ste nakonfigurovali svoj poštový server. Ak sa chcete uistiť, že ste všetky kroky vykonali správne, môžete svoje konto otestovať pomocou e-mailového klienta nasledovne:

Port 993 sa používa pre zabezpečený IMAP a port 587/port 25 pre SMTP.

Krok 5: Konfigurácia SpamAssassin

Konečne sme sa dostali k poslednej časti návodu, v ktorej nakonfigurujeme SpamAssassin. Začneme inštaláciou SpamAssassin:

Vytvorte používateľa pre SpamAssassin nasledovne:

Ak chcete nakonfigurovať SpamAssassin, musíte otvoriť a upraviť nastavenia konfigurácie:

Keď ste tu, musíte zmeniť parameter ENABLED na povolenie démona SpamAssassin:

Upravte parametre home a options pomocou tohto kódu:

Použite tento riadok na špecifikovanie parametra PID_File :

Ďalej použite tento príkaz na označenie, že pravidlá SpamAssassin sa budú aktualizovať automaticky:

Skontrolujte chyby porovnaním s nasledujúcim dokumentom:

https://www.dropbox.com/s/ndvpgc2jipdd4bk/etc.default.spamassassin.txt

Ak chcete nastaviť pravidlá proti spamu, musíte znova otvoriť súbor /etc/spamassassin/local.cf :

SpamAssassin funguje tak, že ohodnotí každý e-mail, ktorý používateľ prijme. Vyhodnotí skóre e-mailov a ak je pri kontrole spamu vyššie ako 5.0, e-mail sa označí ako spam. Tu sú parametre, ktoré môžete použiť na konfiguráciu týchto pravidiel proti spamu:

Po nastavení pravidiel proti spamu musíte Postfixu oznámiť, že každý e-mail sa má skontrolovať pomocou programu SpamAssassin. Na tento účel musíme upraviť /etc/postfix/master.cf súbor:

Nájdite nasledujúci riadok a pridajte spamassassin filter:

Teraz môžete pridať tieto parametre:

Na záver spustite SpamAssassin a reštartujte Postfix, aby sa zmeny prejavili. Po reštarte začne Postfix overovať spam v e-mailoch:

A to je všetko! Úspešne ste nakonfigurovali svoj poštový server pomocou Postfixu a Dovecotu. Taktiež ste vykonali autentifikáciu MySQL a nastavili filtrovanie spamu pomocou programu SpamAssassin.

Záver

Tento návod popisuje kroky, ktoré musíte vykonať na konfiguráciu vášho poštového servera pomocou vyššie uvedených nástrojov. Môže slúžiť ako komplexný sprievodca pre samostatné nastavenie vášho poštového servera. Ak máte záujem o využitie funkcie SMTP servera od Google, postupujte podľa tohto návodu.

Príjemnú prácu s počítačom!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev je kreatívny dizajnér v spoločnosti CloudSigma, ktorý sa zameriava na konzistentnú firemnú identitu prostredníctvom tradičných a inovatívnych marketingových kanálov. Dokáže brilantne spájať umeleckú víziu so strategickým marketingom, čím vytvára pôsobivé príbehy značky.

Komentáre

Zatiaľ žiadne komentáre. Buďte prvý.