GNU/Linux >> Znalost Linux >  >> Debian

Jak nainstalovat e-mailový server s ISPConfig na Debian 10

Tento kurz používá jako příklad nastavení jednoho serveru. ISPConfig 3.1 je nainstalován na Debian 10.0, Buster (viz návod k instalaci ISPConfig Perfect Server pro skutečnou instalaci serveru), účelem této příručky je ukázat vám kroky po instalaci počátečního serveru pro nastavení fungujícího poštovního systému pro váš vlastní doménové jméno. Během testování tohoto tutoriálu jsem upgradoval ISPConfig na 3.1.15.

Co je potřeba

K úspěšnému použití tohoto kurzu pro správně fungující e-mailový server potřebujete

  • hostitel, kam nainstalujete ISPConfig (a operační systém)
  • Doporučuji 2 GB paměti se 4 GB swapu, což by mělo stačit pro poštovní server.
  • hostitel musí mít připojení k internetu s portem 25 otevřeným oběma směry
  • hostitel má pevnou IP adresu
  • hostitel musí mít záznam A pro svou IP adresu (nebo AAAA, pokud používáte IPv6)
  • musíte vytvořit záznam MX pro službu názvu DNS pro hostitele
  • musíte získat záznam PTR reverzní služby DNS hostitele, který odpovídá FQDN hostitele

Požadavek paměti je pro filtry SPAMu. Můžete si vystačit s 1 GB paměti i se spuštěnými filtry SPAM, pokud je k dispozici 4GB swap, abyste se vyhnuli situacím s nedostatkem paměti.

Otevřené porty

Poštovní server musí mít otevřený port 25 pro příchozí i odchozí. Před nastavením e-mailového serveru na tomto hostiteli se ujistěte, že váš hostitel má tento port otevřený.

Existují způsoby, jak zajistit, aby e-mail fungoval, i když není otevřený port 25, ale zahrnuje to odesílání e-mailů přes jiného hostitele, který to funguje mít otevřený port 25. Může být smysluplnější nainstalovat e-mailový server na tento jiný hostitel a první úplně zapomenout, pokud jde o e-mail.

Položky DNS Name Service

Poštovní server potřebuje FQDN, plně kvalifikovaný název domény (Přečtěte si o něm na Wikipedii:FQDN). V tomto příkladu je název domény taleman.ovh . Abychom ukázali, že název hostitele poštovního serveru nemusí být mail, používáme posti jako název hostitele. Takže FQDN je posti.taleman.ovh .

Tento hostitel je nainstalován v systému poskytovatelů služeb, kteří nabízejí registraci domén, službu pojmenování a službu reverzního pojmenování. Použil jsem je.

IP adresa je 178.33.154.66. Udělal jsem následující:

  • zaregistroval doménu taleman.ovh
  • přidal tuto IP adresu jako záznam do služby DNS s názvem posti.taleman.ovh
  • přidán MX záznam pro doménu taleman.ovh s hodnotou posti.taleman.ovh
  • přidán záznam PTR služby reverzního jména pro tuto IP adresu směřující na posti.taleman.ovh

MX záznam je vytvořen pro e-mailovou doménu. Tak jsem to vytvořil pro taleman.ovh a ukazuje to na posti.taleman.ovh, e-mailový server, který přijímá e-maily pro tuto doménu.

Služba obráceného názvu

Přečtěte si o reverzní jmenné službě v kurzu Name Service. V tomto příkladu musí služba reverzního jména vrátit posti.taleman.ovh.

Můj poskytovatel služeb zkontroloval existenci záznamu A, než bylo možné přidat odpovídající PTR, měl jsem trochu problém, než jsem přišel na to, proč se přidání nezdařilo.

Testovací název služby

Je lepší otestovat jmennou službu hned, protože odesílání a přijímání e-mailů nebude fungovat, pokud není správně nastavena jmenná služba. Pokud je vaše pracovní stanice Windows místo Linuxu nebo Unixu, použijte místo hostitele příkaz nslookup.

$ hostitel taleman.ovh
taleman.ovh má adresu 188.165.143.5
Poštu taleman.ovh zpracovává 10 posti.taleman.ovh.

Výše uvedený výsledek ukazuje, že název domény má přidružené číslo IP (které se v tomto případě liší od čísla IP e-mailového serveru, ale to neovlivňuje e-maily) a existuje záznam MX, který ukazuje na posti.taleman.ovh. Část „poštu zpracovává“ pochází ze záznamu MX. Tento MX záznam je potřeba, pokud e-mail odeslaný na adresy @taleman.ovh má být přijat na posti.taleman.ovh.

Poté zkontrolujte záznam služby názvu pro poštovní server FQDN (v tomto případě posti.taleman.fi) je záznam A a ukazuje na správné číslo IP.

$ dig posti.taleman.ovh |grep "SEKCE ODPOVĚDI" --after-context=3 
;; SEKCE ODPOVĚDI:
posti.taleman.ovh. 3600 IN A 178.33.154.66
;; Doba dotazu:56 ms

Nakonec zkontrolujte, že služba reverzního jména převádí číslo IP zpět na FQDN poštovního serveru.

$ host 178.33.154.66
66.154.33.178.in-addr.arpa ukazatel názvu domény posti.taleman.ovh.

Místo příkazů host a dig můžete použít webové stránky, které testují službu jmen. Vím o intoDNS a MXToolbox.

Pokud se vám nedaří dosáhnout úspěchu ve výše uvedených testech, můžete zkusit tento návod Nastavení Name Service.

Instalace OS

Používám Debian verze 10 Buster, takže postupuji podle tohoto návodu:

https://www.howtoforge.com/tutorial/debian-10-buster-minimal-server/

Nahraďte IP-číslo, název hostitele a název domény svými hodnotami.

Vzhledem k tomu, že píšu tento tutoriál v angličtině, zvolil jsem jako jazyk angličtinu, ale jako zemi jsem zvolil Finsko a jako národní nastavení jsem zvolil United_Kingdom en_GB.UTF-8.

[e-mail chráněný]:/tmp# cat /etc/debian_version 10.0
[email protected]:~# locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="cs_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=
[e-mail chráněno ]:~# cat /etc/timezone
Europe/Helsinki

Zkontrolujte, zda jste správně nastavili název hostitele. Konfigurace poštovního systému, kterou ISPConfig provádí, nebude fungovat, pokud je název hostitele nesprávný.

[e-mail chráněný]:~# název hostitele posti
[chráněný e-mail]:~# název hostitele -f posti.taleman.ovh
[chráněný e-mail]:~#

Instalace ISPConfig

Rozhodl jsem se nainstalovat Apache jako webový server, takže pro Debian Buster se řídím tímto Perfect Server Guide.

Nainstaloval jsem openssh-server na hostitele a nastavil přihlášení root pomocí klíče ssh, takže mohu ssh k hostiteli přímo jako root. Přihlašování bez hesla pomocí OpenSSH nebo zabezpečené přihlášení bez hesla pomocí SSH.

[e-mail chráněný]:/tmp# free -h

Dávám přednost editorům ve stylu Emacs před nano, takže si nyní nainstaluji jed, aby bylo úpravy souborů příjemnější.

Po instalaci operačního systému jsem měl správně nastaveny /etc/host a /etc/hostname, takže jsem ověřil, že jsou správné podle Perfect Server Guide. Věnujte pozornost názvu hostitele a FQDN, pokud je pokazíte, zjistíte, že váš e-mailový server nefunguje. Poškození lze napravit, ale je snazší je napravit hned od začátku.

[e-mail chráněný]:/tmp# název hostitele
posti
[chráněný e-mailem]:/tmp# název hostitele -f
posti.taleman.ovh

Ve zbytku se řídím průvodcem Perfect Server Guide. Všimněte si, že většinou můžete vyjmout a vložit příkazy z průvodce do příkazového řádku.

Mailman jsem neinstaloval, neplánuji Mailman na tomto hostiteli používat. Stejně tak jsem vynechal instalaci BIND DNS Server, Webalizer, AWStats. Nainstaloval jsem Roundcube Webmail, protože tento hostitel se stal e-mailovým serverem.

V kapitole 18 (Install PHPMyAdmin Database Administration Tool) jsem použil příkaz

/usr/bin/apg -m 32 -x 32

pro vygenerování 32znakového tajemství blowfish.

Používání systému

Vytvoření e-mailové domény a poštovních schránek

Nyní se přihlásím jako admin do ISPConfig a

  • Přidat nového klienta
  • Přidejte novou doménu (e-mailová doména!) a vyplňte formulář
  • Přidat novou poštovní schránku

Vytvořte klíče DKIM a nahrajte kliknutím na tlačítka v pořadí očíslovaném na obrázku. O DKIM si můžete přečíst na Wikipedii.

Obrázek 1:Vytvoření poštovní domény

Poté počkejte dvě minuty, nebo dokud červená koule s číslem v horní části panelu ISPConfig nezmizí.

Jako první test se přihlaste do Roundcube Webmail pomocí výše vytvořené poštovní schránky a odešlete e-mail na stejnou adresu. ISPConfig posílá uvítací zprávu do každé vytvořené poštovní schránky, takže by tam již měla být jedna zpráva. Použijte tlačítko Napsat a napište krátkou zkušební zprávu.

Obrázek 2:Webmail Roundcube

Obrázek 3:Odeslání z Roundcube

Zpráva by se měla brzy objevit ve schránce.

Poté vyzkoušejte odeslání e-mailu do jiné poštovní schránky, kterou máte, a můžete zkontrolovat, zda tam pošta dorazí. Další test můžete odeslat odjinud do výše vytvořené poštovní schránky.

Pamatujte, že pokud jste pro poštovní schránku povolili greylisting, e-maily odeslané mimo váš server nedorazí do schránky okamžitě. V protokolu pošty byste však měli okamžitě vidět položky pokusu o doručení, abyste viděli, že pošta může dorazit na váš server. Záznam greylistingu v souboru /var/log/mail.log vypadá asi takto:

Aug 29 19:08:42 posti postfix/smtpd[16911]:NOQUEUE:zamítnutí:RCPT from mta-out1.inet.fi[62.71.2.194]:450 4.2.0 <[email protected]>:Adresa příjemce odmítnuto:Greylisted, viz http://postgrey.schweikert.ch/help/taleman.ovh.html; from=<****@*****.***> to=<[email protected]> proto=ESMTP helo=<******.****.***> 

Záznam pošty můžete sledovat v okně terminálu, například:

tail -f /var/log/mail.log

Nebo pomocí těchto příkazů, pokud vás zajímají pouze položky Greylisting:

tail -f /var/log/mail.log | grep Greylisted

nebo

grep Greylisted /var/log/mail.log

Greylisting zpozdí pouze první e-mail od stejného odesílatele stejnému příjemci. Jakmile je tento první e-mail přijat, následující e-maily dorazí bez dalšího zpoždění.

V mém případě vše fungovalo na první pokus. To ukazuje, že ISPConfig Perfect Server Guide opravdu funguje.

Připojit e-mailového klienta

Použití Thunderbirdu jako příkladu poštovního klienta. Ostatní aplikace poštovního klienta fungují podobným způsobem.

ISPConfig nastaví název účtu jako e-mailovou adresu.

Obrázek 4:Nastavení účtu Thunderbird

Obrázek 5:Nastavení serveru Thunderbird

Zabezpečení připojení STARTTLS znamená, že připojení začne nechráněné a poté se přepne na šifrované, pokud obě strany podporují šifrování. SSL/TSL znamená, že relace je šifrována od začátku. SSL/TSL je pravděpodobně o něco bezpečnější, takže zkuste, zda s tím váš klient pracuje.

Obrázek 6:Nastavení odchozího serveru Thunderbird

Používání SPF

Přečtěte si o Sender Policy Framework z Wikipedie. Původně SPF znamenalo Sender Permitted From, což je hezké si zapamatovat, co to znamená. Po přečtení o SPF si můžete záznam vytvořit sami, zkontrolujte, zda váš poskytovatel jmenných služeb může generovat SPF záznam, nebo pomocí internetových vyhledávačů s

Průvodce SPF

vyhledejte webovou stránku, která za vás vytvoří záznam služby názvu SPF. Poté záznam vyjměte a vložte do služby svého jména. Přidejte záznam TXT nebo možná v některých systémech DNS přidejte záznam SPF.

Zkontrolujte, jak SPF vypadá ve službě jmen, jako je tento

$ dig taleman.ovh -t TXT | grep spf
taleman.ovh. 3000 IN TXT "v=spf1 mx ~all"

Nebo takto:

$ dig +short taleman.ovh TXT
"v=spf1 mx ~all"
"1|www.taleman.ovh"

Používání DKIM

Přečtěte si o DomainKeys Identified Mail z Wikipedie. ISPConfig pro vás vytvořil klíče DKIM při vytváření e-mailové domény (pokud jste nezapomněli zaškrtnout políčko DKIM). Vyjměte a vložte záznam DNS, který je veřejný klíč k vaší jmenné službě jako záznam TXT. Jmenovaný poskytovatel služeb může nabídnout nástroj, který usnadní vytváření záznamu DKIM. Udržujte soukromý klíč DKIM v tajnosti.

Zkontrolujte, jak DKIM vypadá ve službě jmen, například takto:

$ host -t txt default._domainkey.taleman.ovh.
default._domainkey.taleman.ovh popisný text "v=DKIM1;h=sha256;s=*;p=MIIB(přestřihl jsem dlouhý řetězec kratší)0rp" "sTGLXyK(zkráceně)B;t=s;"

Pokud klíče DKIM vytvořil ISPConfig, soukromý klíč se zkopíruje na správné místo v nastavení amavis.

Existuje webová stránka mail-tester.com, která je užitečná pro kontrolu funkčnosti SPF a DKIM. Přejděte na tuto webovou stránku, poskytne e-mailovou adresu a pošlete tam e-mail ze svého serveru. Poté chvíli počkejte a znovu zkontrolujte web.

Vytváření certifikátů

ISPConfig může vytvářet certifikáty s vlastním podpisem, ty se vytvářejí během instalace ISPConfig, pokud se nerozhodnete nevytvořit. I když jste vytvořili tyto certifikáty s vlastním podpisem, je dobré vytvořit správné certifikáty, kterým prohlížeče, e-mailové programy a další e-mailové servery důvěřují.

Existuje skvělý tutoriál:Zabezpečení ISPConfig pomocí bezplatného certifikátu Let's Encrypt SSL

Po tomto tutoriálu jsem si všiml, že vytvořený web zobrazuje výchozí webovou stránku Debianu, dokud jsem pro web nevytvořil certifikát LE. Také ISPConfig Panel byl zmatený, věřím, protože měl certifikát podepsaný sám sebou a nyní tento nový certifikát nebo žádný certifikát. Obnovení stránek v prohlížeči to vyřešilo.

Po nastavení certifikátů zadejte do prohlížeče https adresu serveru. Kliknutím na ikonu v levé části adresního řádku prohlížeče druhým tlačítkem myši zobrazíte informace o certifikátu.

Přejděte na kartu ISPConfig Panel System, Interface Main Config a Mail. Tam sada

Pro SMTP použít šifrované připojení SSL/TLS

na SSL.

Další testování certifikátu je možné pomocí nástrojů na webových stránkách, použijte internetové vyhledávače s

testování protokolu ssl

jako hledaná slova. Tyto nástroje obvykle testují web, při testování certifikátů e-mailového serveru hledejte pomocí

testování poštovního serveru ssl

Zásuvné moduly ISPConfig Roundcube

Tyto pluginy jsou užitečné pro uživatele webmailu. Umožňují změnu hesla k emailu například v Roundcube. Některá další nastavení lze také upravit v Roundcube. Všechny je lze upravit v panelu ISPConfig, ale někteří uživatelé e-mailu nemusí chtít panel používat.

Nainstaloval jsem ISPConfig Rouncube Plugins pomocí Tutorial ISPConfig 3 Roundcube Plugin na Debianu 9. Tutoriál fungoval přesně na Debian 10 Buster, kromě toho, že nyní ispconfig3_account/config/config.inc.php má ještě jeden řádek:

$config['soap_validate_cert'] =true;

To může zůstat na hodnotě true, protože certifikát je správně nastaven a testován v předchozí kapitole tohoto návodu. Pokud však hostitel nemá platný certifikát, změňte toto nastavení na false.

Měl jsem jeden problém. U některých položek v sekci účtu se objevila chybová zpráva

Došlo k chybě. Chyba mýdla:Přihlášení není povoleno z <číslo IP hostitele>

Vyřešil jsem to tak, že jsem zaškrtl Remote Access a napsal posti.taleman.ovh pro uživatele rcmail-remote, kterého jsem vytvořil podle návodu. Vypadá to, že tutoriál nemá pravdu, když nepotřebujete zaškrtnout "Vzdálený přístup". Nyní se mi zdá, že je potřeba jak pro nastavení jednoho serveru, tak pro nastavení více serverů ISPConfig se samostatným e-mailovým serverem.

Další použití

Nyní můžete vytvořit další e-mailovou doménu. Nezapomeňte vytvořit záznam MX pro tuto doménu a nasměrovat jej na váš e-mailový server. Pro všechny vytvořené e-mailové domény můžete použít stejný e-mailový server. To je způsob, jakým se to obvykle dělá, protože by bylo docela zbytečné vytvářet samostatný e-mailový server pro každou e-mailovou doménu.

Odstraňování problémů

Po tomto návodu funguje můj čerstvě nastavený e-mailový server. Pokud ten váš nefunguje, zkontrolujte, zda jste postupovali podle tohoto návodu a nepřeskočili jste některé kroky.

Čtení fóra ukázalo běžné způsoby, jak mít nefunkční e-mailový server, nesprávné nastavení názvu hostitele a názvu hostitele -f a/nebo chyby v souboru /etc/postfix/main.cf.

Pokud máte podezření na problémy se službou jmen DNS, zkontrolujte je pomocí ISPConfig -tutorial. Existují webové nástroje, které kontrolují DNS, jako intodns.com, dnschecker.com, mxtoolbox.com.

Pokud e-maily nejsou přijímány nebo nejsou odesílány, je to postfix, který provádí tyto funkce a jsou přihlášeny do /var/log/mail.log. Tak to dělej

tail -f /var/log/mail.log | grep postfix, abyste viděli, co se stane při příjmu nebo odeslání pošty.

Pokud máte problémy s připojením k e-mailovému klientovi (například Thunderbird), použijte toto, abyste viděli, co se stane:

tail -f /var/log/mail.log | grep dovecot

V případě, že je konkrétní e-mail problematický, můžete položky protokolu pošty najít pomocí ID tohoto e-mailu. Například:

Sep 23 14:19:34 posti postfix/smtps/smtpd[10260]:A9F2880C76:client=dsl-tkubng21-58c1ce-191.dhcp.inet.fi[99.99.99.99]mailprotected,smthod. ]

ID tohoto e-mailu je A9F2880C76. Záznamy protokolu pro tento e-mail můžete najít pomocí

# grep A9F2880C76 /var/log/mail.log

Příkaz mailq zobrazuje e-maily, které jsou v postfixové odložené frontě. Tedy ty e-maily, které ještě nejsou doručeny. Je normální, že tam jsou nějaké nedávné záznamy, e-maily nemohou být vždy doručeny okamžitě. Obsah těchto e-mailů můžete zobrazit pomocí ID fronty, například takto:

# postcat /var/spool/postfix/deferred/A/A9F2880C76

Howtoforge má fóra ISPConfig, požádejte o radu tam.


Debian
  1. Jak nainstalovat Redis Server na Debian 11

  2. Jak nainstalovat HTTP Git Server s Nginx na Debian 11

  3. Jak nainstalovat MySQL 8.0 / 5.7 na Debian 11 / Debian 10

  1. Jak nainstalovat ProFTPD na Debian 8

  2. Jak nainstalovat MySQL Server na Debian 9

  3. Jak nainstalovat Odoo 12 na Debian 9

  1. Jak nainstalovat Minecraft Server na Debian 9

  2. Jak nainstalovat SuiteCRM na Debian 9

  3. Jak nainstalovat dokumentový server ONLYOFFICE s Nginx na Debian 10