Zpět na blog

Návod na konfiguraci poštovního serveru: Jak používat Postfix, Dovecot, MySQL a SpamAssassin

Návod na konfiguraci poštovního serveru: Jak používat Postfix, Dovecot, MySQL a SpamAssassin

Úvod

Na Ubuntu 20.04, můžete použít nástroje jako Postfix, Dovecot, MySQL a SpamAssassin ke konfiguraci poštovního serveru. Tento proces může být pro někoho, kdo se o to pokouší poprvé, matoucí. Tento návod si klade za cíl zjednodušit vám proces konfigurace poštovního serveru pomocí podrobných kroků. Na konci tohoto návodu budete vědět, jak přidat virtuální domény, uživatele a aliasy. Nakonec zabezpečíte svůj virtuální server před spamovými centry.

Požadavky

Před zahájením konfigurace poštovního serveru je třeba splnit několik požadavků. Nejprve se ujistěte, že váš virtuální privátní server má doménu, která směřuje na váš server. Dále musíte nainstalovat a nakonfigurovat MySQL. Kromě toho musíte mít uživatele s udělenými právy root a nainstalovat SSL certifikát. Nakonec se ujistěte, že váš FQDN  je nakonfigurován a identifikován.

Pokud instalujete balíčky jako uživatel root, budete mít všechna oprávnění. Proto to doporučujeme:

Zadejte heslo svého uživatele. V tomto okamžiku uvidíte, že se symbol $ změní na #. Dále prozkoumáme jednotlivé aspekty konfigurace jeden po druhém.

Krok 1: Instalace balíčků

Začneme tím, že se naučíme, jak nainstalovat balíčky:

Až se zobrazí konfigurace Postfixu, vyberte Internet Site:

Mail Server postfix config

Budete dotázáni na název System mail. Zde můžete použít FQDN nebo hlavní doménu:

postfix configuration 2

Krok 2: Vytvoření databáze MySQL, virtuálních domén, uživatelů a aliasů

Dále, jakmile budou všechny balíčky nainstalovány, přejdeme ke konfiguraci. Naším cílem je nakonfigurovat tři tabulky. Jedna bude pro domény, jedna pro uživatele a jedna pro aliasy. Ty budou umístěny v databázi MySQL, kterou vytvoříme.

Řekněme, že chceme naši databázi pojmenovat servermail. Můžete použít libovolný název podle svého výběru. Zde je návod, jak ji vytvoříme:

Musíte se přihlásit jako uživatel root MySQL:

Poté zadejte své heslo. Úspěšný pokus zobrazí tento výsledek:

Dále vytvoříme nového uživatele speciálně pro ověřování pošty. Udělte oprávnění SELECT následovně:

Poté znovu načtěte oprávnění MySQL, aby se změny úspěšně projevily:

Dále použijeme naši databázi k vytvoření tabulek a zadání dat:

Vytvoříme jednotlivé tabulky pro konkrétní domény, které jsou rozpoznány jako autorizované domény:

Cílem je uvést uživatele do tabulky. Proto budeme přidávat příslušnou e-mailovou adresu a heslo. Mějte na paměti, že každého uživatele musíte přiřadit k doméně:

Dále vytvoříme tabulku pro všechny naše virtuální aliasy, abychom specifikovali všechny e-maily, které budeme přesměrovávat na jiný e-mail:

Na konci tohoto procesu úspěšně vytvoříte tři tabulky. Dále musíme vložit data.

  • Virtuální domény

V této sekci se naučíme, jak vložit domény do virtual_domains tabulky. Konkrétně se zaměříme na to, jak vložit primární doménu (example.com) a FQDN (hostname.example.com):

  • Virtuální e-maily

Dále zadejte e-mailovou adresu a přidružená hesla pro každou z domén. Ujistěte se, že jsou všechny informace nahrazeny vašimi konkrétními údaji:

  • Virtuální aliasy

Nyní můžete zadat e-mailovou adresu, na kterou budete přesměrovávat druhou e-mailovou adresu. První je zdroj, zatímco druhá je cíl:

Poté můžete ukončit MySQL:

Krok 3: Konfigurace Postfixu

Je důležité nakonfigurovat Postfix tak, aby mohl spravovat připojení SMTP. Musí být také schopen odesílat zprávy pro všechny uživatele zadané v databázi MySQL. Začněme vytvořením kopie výchozího souboru. To proto, abyste se v případě potřeby mohli snadno vrátit k výchozí konfiguraci:

Nyní otevřete soubor main.cf pro jeho úpravu:

Začněte zakomentováním parametrů TLS a poté připojte jakékoli další parametry. V našem příkladu používáme bezplatné SSL certifikáty. Konfiguraci samozřejmě můžete změnit podle svých požadavků:

Dále tyto parametry připojíte pod nastavení TLS:

Poté musíme zakomentovat mydestination výchozí nastavení. Poté jej nahradíme localhost. S touto změnou bude VPS moci používat virtuální domény v tabulce MySQL:

Nyní použijte tento příkaz k ověření, že myhostname parametr je nastaven ve vašem FQDN:

Navíc přidejte tento řádek, abyste aktivovali doručování místní pošty do všech virtuálních domén uvedených v tabulce:

Nakonec přidáme následující parametry, abychom Postfixu řekli, jak má nakonfigurovat virtuální domény, uživatele a aliasy:

Abyste se ujistili, že zde nejsou žádné chyby, porovnejte tyto změny s následujícím souborem:

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

Jakmile je to vše zkontrolováno, vytvoříte tři soubory, které připojíte do souboru main.cf . Cílem je dát Postfixu instrukce, jak se připojit k MySQL. Chcete-li to provést, začneme vytvořením souboru mysql-virtual-mailbox-domains.cf . Ve vašem souboru samozřejmě provedete změny podle vaší osobní konfigurace:

Poté restartujte Postfix:

Musíte se ujistit, že Postfix je schopen najít vaši doménu. Chcete-li to otestovat, použijte tento příkaz:

Příkaz vrátí hodnotu 1, pokud bude úspěšný. V takovém případě můžete pokračovat vytvořením souboru mysql-virtual-mailbox-maps.cf :

Znovu restartujte Postfix:

Opět se ujistíme, že Postfix je schopen najít první e-mailovou adresu. Chcete-li to otestovat, použijte následující příkaz:

Pokud bude úspěšný, získáte na výstupu hodnotu 1. Proto přejdeme k vytvoření posledního souboru:

Tímto je konfigurace mezi Postfixem a MySQL dokončena. Pro použití změn restartujte Postfix:

Chcete-li ověřit, že Postfix skutečně nachází vaše aliasy, použijte tento příkaz:

V ideálním případě byste měli jako výstup obdržet e-mail, který je přesměrován na daný alias. Můžete také upravit soubor /etc/postfix/master.cf následovně, pokud chcete bezpečně připojit port 587 k e-mailovým klientům:

Zde je návod, jak odkomentovat určité řádky a připojit parametry:

Někdy může být nutné restartovat Postfix, abyste ověřili, že je port otevřený:

Tento nástroj lze použít také ke skenování portů domény. Můžete jej použít k ověření, že porty 25 a 587 jsou otevřené.

Step 4: Configuring Dovecot

Nyní je čas nakonfigurovat Dovecot. V této části budeme muset zkopírovat 7 souborů, které chcete upravit. Tím zajistíte, že se v případě potřeby budete moci vrátit zpět. Zadejte tyto příkazy jeden po druhém:

Musíte upravit konfigurační soubor Dovecotu:

Ujistěte se, že je tato možnost odkomentovaná:

Dále povolíme protokoly pod řádkem !include_try /usr/share/dovecot/protocols.d/*.protocol . Pokud chcete, můžete také přidat pop3:

Abyste se ujistili, že v něm nejsou žádné chyby, porovnejte jej s tímto souborem:

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

Dále upravte konfigurační soubor pošty:

Najděte řádek mail_location . Musíte jej odkomentovat a přidat tento parametr:

Poté najděte řádek mail_privileged_group . Znovu jej odkomentujte a přidejte parametr mail:

Abyste vyloučili jakoukoli možnost chyb, porovnejte jej s tímto souborem:

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

  • Ověření oprávnění

Pro ověření oprávnění použijte tento příkaz:

Ujistěte se, že se vaše oprávnění zobrazují následovně:

Pro každou doménu můžete vytvořit složku. Všechny tyto složky budou zaregistrovány v tabulce MySQL:

Vytvořte uživatele a skupinu vmail s ID 5000:

Dále musíte změnit vlastníka /var/mail složky na uživatele vmail:

Nyní upravte /etc/dovecot/conf.d/10-auth.conf soubor:

Po odkomentování autentizace prostým textem přidejte následující řádek:

Tímto upravte auth_mechanisms parametr:

Nyní tento řádek zakomentujte:

Chcete-li povolit autorizaci MySQL, musíte odkomentovat následující řádek:

Pro detekci a úpravu chyb použijte následující soubor:

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

Vytvoření /etc/dovecot/dovecot-sql.conf.ext souboru s vašimi údaji vám umožní se autentizovat:

Vložte do souboru tento kód:

K úpravě /etc/dovecot/dovecot-sql.conf.ext souboru použijeme naše vlastní informace o MySQL:

Po odkomentování parametru driver nastavte MySQL jako parametr takto:

Své specifické informace o MySQL můžete zadat odkomentováním řádku connect :

Nyní musíte odkomentovat default_pass_scheme řádek a změnit jej na SHA-512:

Přidejte následující informace po odkomentování password_query:

Pro detekci chyb použijte tento soubor k porovnání:

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

Dále můžete změnit vlastníka a skupinu složky dovecot na uživatele vmail:

Dalším krokem je úprava /etc/dovecot/conf.d/10-master.conf souboru. Zde musíte být obzvláště opatrní, protože se budou měnit různé parametry:

Použijte následující kód ke změně parametru unix_listener na service_auth:

Dále musíte upravit service auth-worker následovně:

Chyby zjistíte porovnáním s tímto souborem:

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

Dalším krokem je úprava konfiguračního souboru SSL pro Dovecot. Pokud plánujete použít výchozí konfiguraci, můžete tento krok přeskočit a přejít k další části:

Dále změňte ssl parametr na required následovně:

Upravíme také cestu pro obě ssl_cert a ssl_key:

Restartujte Dovecot:

Ujistěte se, že port 993 je otevřený. Pokud jste povolili pop3, pak zkontrolujte také port 995:

Pokud jste dokončili kroky až do tohoto bodu, gratulujeme! Úspěšně jste nakonfigurovali svůj poštovní server. Chcete-li se ujistit, že jste všechny kroky provedli správně, můžete svůj účet otestovat pomocí e-mailového klienta následovně:

Port 993 se používá pro zabezpečený IMAP a port 587/port 25 pro SMTP.

Krok 5: Konfigurace SpamAssassinu

Konečně jsme se dostali k poslední části návodu, kde budeme konfigurovat SpamAssassin. Začneme instalací SpamAssassinu:

Vytvořte uživatele pro SpamAssassin následovně:

Chcete-li nakonfigurovat SpamAssassin, musíte otevřít a upravit nastavení konfigurace:

Nyní musíte změnit ENABLED parametr pro povolení démona SpamAssassin:

Upravte parametry home a options pomocí tohoto kódu:

Tento řádek použijte k určení parametru PID_File :

Dále použijte tento příkaz k označení, že pravidla SpamAssassinu se budou aktualizovat automaticky:

Zkontrolujte případné chyby porovnáním s následujícím dokumentem:

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

Pokud chcete nastavit antispamová pravidla, musíte znovu otevřít soubor /etc/spamassassin/local.cf :

SpamAssassin funguje tak, že ohodnotí každý e-mail, který uživatel obdrží. Vyhodnotí skóre e-mailů, a pokud je při kontrole spamu vyšší než 5.0, e-mail je označen jako spam. Zde jsou parametry, které můžete použít ke konfiguraci těchto antispamových pravidel:

Jakmile jsou antispamová pravidla nastavena, musíte Postfixu říct, že každý e-mail má být zkontrolován pomocí SpamAssassinu. Za tímto účelem musíme upravit /etc/postfix/master.cf soubor:

Najděte následující řádek a přidejte spamassassin filtr:

Nyní můžete připojit tyto parametry:

Nakonec spusťte SpamAssassin a restartujte Postfix, aby se změny projevily. Po restartu začne Postfix ověřovat spam v e-mailech:

A to je vše! Úspěšně jste nakonfigurovali svůj poštovní server s Postfixem a Dovecotem. Provedli jste také ověřování MySQL a nastavili filtrování spamu pomocí SpamAssassinu.

Závěr

Tento návod popisuje kroky, které musíte provést pro konfiguraci poštovního serveru pomocí výše uvedených nástrojů. Může sloužit jako komplexní průvodce pro samostatné nastavení poštovního serveru. Pokud máte zájem o využití funkce SMTP serveru Google, postupujte podle tohoto návodu.

Příjemnou práci!

author

Pranay Kapgate

Autor · CloudSigma

Preslav Dobrev je kreativní designér ve společnosti CloudSigma, který se zaměřuje na konzistentní firemní identitu prostřednictvím tradičních i inovativních marketingových kanálů. Je zdatný v propojování umělecké vize se strategickým marketingem za účelem vytváření působivých příběhů značky.

Komentáře

Zatím žádné komentáře. Buďte první.