Pokud chcete odesílat nebo přijímat e-mail, měli byste mít e-mailového serveru. V tomto příspěvku, budeme diskutovat o Linux mail server a jak SMTP (Simple Mail Transfer Protocol) funguje stejně jako jiné pošty související protokoly, jako je Post Office Protocol (POP) a Internet Message Access Protocol (IMAP) a vztah mezi nimi.,
Obsah
Linux SMTP server
SMTP definuje, jak odesílat poštu z jednoho hostitele na druhého; to je také systém nezávislé, což znamená, že odesílatel a přijímač může mít různé operační systémy.
SMTP vyžaduje pouze to, aby server mohl odesílat přímý text ASCII na jiný server, můžete to provést připojením k serveru na portu 25, což je standardní port SMTP.
většina linuxových distribucí dnes přichází se dvěma nejčastějšími implementacemi SMTP, které jsou sendmail a Postfix.,
Sendmail je slavný a bezplatný poštovní server, ale má trochu složitý design a méně bezpečný.
Postfix vzal implementaci poštovního serveru o krok dále; vyvinuli ji s ohledem na bezpečnost.
e-Mail součásti služby
poštovní služby na libovolném poštovním serveru, má tři složky:
e-Mail user agent (MUA): tento prvek, který uživatel vidí a komunikuje s jako Thunderbird a Microsoft Outlook, tyto uživatelské agenti jsou zodpovědní za čtení mailů a umožní vám napsat mail.,
Mail transport agent( MTA): tato součást je zodpovědná za získání pošty z jednoho webu na druhý, jako je Sendmail a Postfix.
Mail delivery agent( MDA): tato součást je zodpovědná za distribuci přijatých zpráv na místním počítači do příslušné poštovní schránky uživatele, jako jsou postfix-maildrop a Procmail.
nastavení e-mailového serveru
vybrali jsme poštovní server Postfix, který je dnes mezi správci systému velmi populární a běžný.
Postfix je výchozí poštovní server na většině moderních linuxových distribucí.,
Nejprve zkontrolujte, zda je nainstalována na vašem systému, nebo ne:
$ rpm -qa | grep postfix
Pokud není nainstalován, můžete nainstalovat Postfix mail server na Red Hat based distribucích, jako je tento:
$ dnf -y install postfix
Pak spustit postfix služby a umožňují při startu systému:
$ systemctl start postfix$ systemctl enable postfix
Na Debianu založených distribucích jako je Ubuntu, můžete nainstalovat to takhle:
$ apt-get -y install postfix
To vás požádá o vyberte typ konfigurace Postfix mail server během procesu instalace.,
mezi čtyřmi možnostmi žádná konfigurace, internetová stránka, Internet se smarthost, satelitní systém a pouze místní, vybereme žádnou možnost konfigurace.
konfigurace poštovního serveru Linux
po instalaci poštovního serveru Postfix jej budete muset nakonfigurovat; většinu jeho konfiguračních souborů najdete v adresáři/etc/ postfix/.
hlavní konfiguraci poštovního serveru Postfix najdete v souboru/etc/postfix / main.cf.,
Tento soubor obsahuje mnoho možností, jako jsou:
myhostname
tuto možnost můžete použít pro zadání názvu hostitele poštovního serveru. Jedná se o internet hostname, který Postfix obdrží e-maily na něm.
názvy hostitelů mohl být jako mail.example.com, smtp.example.com.
myhostname = mail.example.com
doména
Tato možnost je poštovní doménu, která vám bude servis, jako example.com
syntaxe je:
mydomain = example.com
myorigin
Všechny e-maily odeslané z poštovního serveru bude vypadat, jako by to přišlo z této možnosti., Můžete to nastavit na hodnotu $ mydomain.
myorigin = $mydomain
můžete použít libovolnou hodnotu volby, stačí ji předejít $ like $ mydomain.
mydestination
tato volba uvádí domény, které server Postfix používá pro příchozí e-maily.
To může trvat hodnot, jako je tento:
mydestination = $myhostname, localhost.$mydomain, $mydomain, mail.$mydomain, www.$mydomain
mail_spool_directory
Existují dva způsoby doručování, které Postfix mail server lze použít:
- Přímo do schránky uživatele.
- do centrálního adresáře cívky, tímto způsobem bude pošta v/var/spool / mail se souborem pro každého uživatele.,
mail_spool_directory = /var/spool/mail
mynetworks
tato možnost umožňuje konfigurovat, jaké servery mohou přenášet prostřednictvím serveru Postfix.
tato možnost by měla mít lokální adresy, jako jsou skripty místní pošty, pouze na vašem serveru.
jinak mohou spammeři využít váš poštovní server k přenosu svých zpráv a poštovního serveru na černé listině a v důsledku toho nebudete moci přijímat mnoho e-mailů.,
Tato volba má následující syntaxi:
mynetworks = 127.0.0.0/8, 192.168.1.0/24
smtpd_banner
Tato proměnná nastaví zprávu, že server bude posílat, když klienta po úspěšném připojení.
je lepší změnit banner na něco, co nedává ponětí o serveru, který používáte.
inet_protocols
tato volba určuje verzi protokolu IP použitou pro připojení serveru.,
inet_protocols = ipv4
Pokud změníte konfigurační soubory pro Postfix mail server, musíte znovu načíst služby:
$ systemctl reload postfix
Když zadáte jakékoli konfiguraci, můžete udělat chybu, můžete zkontrolovat na chyby pomocí následujícího příkazu:
$ postfix check
Tento nástroj vám pomůže najít přesně to, line a error, takže si můžete opravit to.
kontrola fronty pošty
někdy jsou poštovní fronty vyplněny zprávami. K tomu dochází z mnoha důvodů, jako je selhání sítě nebo jakýkoli důvod, který může zpozdit doručení pošty.,
zkontrolovat poštu fronty na Linux mail server, použijte následující příkaz:
$ mailq
Tento příkaz zobrazí Postfix mail fronty.
Pokud je vaše fronta naplněna a zpracování zprávy trvá několik hodin, měli byste vyprázdnit poštovní frontu.
$ postfix flush
nyní, pokud zkontrolujete frontu pošty, měli byste ji najít prázdnou.
Test Linux mail server
po správné konfiguraci poštovního serveru Postfix byste měli svůj poštovní server otestovat.,
prvním krokem je použití místního agenta uživatele pošty, jako je mailx nebo mail, což je symbolický odkaz na mailx.
pokuste se odeslat poštu někomu jinému na stejném serveru, pokud to funguje, a poté odeslat na vzdálený web.
pak zkuste přijímat poštu ze vzdáleného webu.
Pokud máte nějaké problémy, zkontrolujte protokoly. Soubor protokolu na Red Hat based distribucí v /var/log/maillog souboru a na Debianu založených distribucích v /var/log/mail.soubor protokolu nebo podle definice v konfiguraci rsyslogd.,
doporučuji vám zkontrolovat Linux Syslog Server pro podrobné vysvětlení protokolů a jak nakonfigurovat rsyslogd.
Pokud máte stále problémy, zkuste zkontrolovat nastavení DNS a zkontrolovat záznamy MX pomocí příkazů sítě Linux.
zabezpečené poštovní schránky ze spamu pomocí SpamAssassin
jedním ze způsobů, jak bojovat proti spamu, je prohledat poštovní schránky nějakým nástrojem a hledat určité vzory spojené se spamem.
jedním z nejlepších řešení je SpamAssassin, který je open-source.,
můžete nainstalovat to takhle:
$ dnf -y install spamassassin
Potom spusťte službu a umožňují při startu:
$ systemctl start spamassassin$ systemctl enable spamassassin
Jakmile jste nainstalovali, můžete zkontrolovat konfigurace v
/etc/mail/spamassassin/local.cf
soubor.
SpamAssassin určuje, zda je e-mail spam nebo není založen na výsledku různých skóre skriptů.
pokud má zpráva vyšší skóre, znamená to vyšší možnost, že pošta je spam.,
v konfiguračním souboru parametr required_hits 5 znamená, že SpamAssassin označí e-mail jako spam, pokud je jeho skóre pět nebo vyšší.
volba report_safe bere hodnoty 0, 1 nebo 2. Pokud je nastavena na hodnotu 0, znamená to, že e-mail označený jako spam je odeslán tak, jak je, pouze úpravou záhlaví, aby se ukázalo, že se jedná o spam.
pokud má hodnotu 1 nebo 2, SpamAssassin vygeneruje novou zprávu zprávy a odešle zprávu příjemci.,
hodnota 1 znamená, že spam je zpráva kódována jako obsah message/rfc822, zatímco pokud je hodnota 2, znamená to, že zprávy jsou kódovány jako text/plain content.
text / plain je bezpečnější, protože někteří poštovní klienti provádějí zprávu / rfc822 a mohou infikovat klientský počítač.
nyní ji musíme integrovat do Postfixu. Nejjednodušší způsob, jak toho dosáhnout, je pravděpodobně pomocí procmail.
Musíme vytvořit soubor, pojmenovaný
/etc/procmailrc
a přidejte následující obsah:
:0 hbfw| /usr/bin/spamc
Pak musíme upravit konfigurační soubor Postfixu /etc/postfix/main.,cf a změnit
mailbox_command
mailbox_command = /usr/bin/procmail
a Konečně, restartujte Postfix a SpamAssassin služby:
$ systemctl restart postfix$ systemctl restart spamassassin
Nicméně, SpamAssassin někdy nerozpozná spam zprávy, které vedly k poštovní schránky naplněné s nevyžádanou poštu.
naštěstí můžete filtrovat zprávy před vstupem na server Postfix pomocí seznamů Blackhole v reálném čase (RBLs). Tím se sníží zatížení poštovního serveru a váš poštovní server bude čistý.
otevřete konfigurační soubor serveru Postfix / etc / postfix / main.,cf a změnit smtpd_příjemce_omezení možnost a přidejte následující možnosti, jako je tento:
restartujte postfix serveru:
$ systemctl restart postfix
výše uvedené Rbis jsou ty obvyklé; můžete si najít více seznamů na internetu a vyzkoušet je.
zajištění připojení SMTP
je lepší přenést přenos SMTP přes TLS, abyste jej ochránili před útokem člověka uprostřed (MITM).
nejprve musíme vygenerovat certifikát a klíč pomocí příkazu openssl:
a poté přidat následující možnost do konfiguračního souboru Postfix / etc / postfix / main.,cf:
nakonec restartujte službu postfix:
$ systemctl restart postfix
nyní musíte při připojení k serveru zvolit TLS na svém klientovi.
při prvním odeslání pošty po změně nastavení obdržíte varování, protože certifikát není podepsán.
použití certifikátů Let ‚s Encrypt
Let‘ s Encrypt je bezplatný poskytovatel certifikátů SSL, který vám umožní šifrovat váš provoz.
namísto použití certifikátů s vlastním podpisem, které obtěžují vaše uživatele o jejich důvěře, můžete použít toto dobré řešení.,
za Prvé, nainstalujte letsencrypt:
$ yum install letsencrypt
Nebo pokud používáte Debian based distro, můžete použít následující příkaz:
$ apt-get install letsencrypt
spusťte letsencrypt, jako je tento:
$ letsencrypt certonly --standalone -d yourdomain.com
Ty by měly nahradit yourdomain.com s aktuální domény.
Po odpovědi na výzvy otázky o kontaktní e-mail, e-mailového serveru, domény a licence, by mělo být vše v POŘÁDKU.,
certifikáty budou v:
/etc/letsencrypt/live/yourdomain.com/
poslední věc, kterou budete muset udělat, což postfix používat ty certifikáty, můžete použít následující příkazy:
nezapomeňte nahradit yourdomain.com s aktuální domény.
a Konečně, restartujte postfix serveru:
$ systemctl restart postfix
POP3 a IMAP protokolu, základy
zatím jsme viděli, jak poštovní server SMTP odesílá a přijímá e-maily bez problémů, ale zvažte následující situaci:
- Uživatelé potřebují místní kopie e-mailu, pro prohlížení v režimu offline.,
- formát souboru mbox není podporován. Formát mbox používá mnoho agentů uživatelů pošty, jako jsou mailx a mutt.
- uživatelé nemohou zůstat připojeni k rychlé síti a chytit místní kopii pro čtení offline.
- některé poštovní servery nedávají přístup ke sdíleným adresářům mail spool z bezpečnostních důvodů.
Chcete-li tyto případy řešit, měli byste použít protokoly pro přístup k poště.
nejčastějšími dvěma populárními protokoly pro přístup k e-mailu jsou Post Office Protocol (POP) a Internet Message Access Protocol (IMAP).,
myšlenka popu je velmi jednoduchá: centrální poštovní server Linux zůstává po celou dobu online a přijímá a ukládá e-maily pro všechny uživatele. Všechny přijaté e-maily jsou ve frontě na serveru, dokud je uživatel nezachytí.
Když uživatel chce poslat e-mail, e-mailový klient jej předává prostřednictvím centrálního poštovního serveru Linux přes SMTP normálně.
všimněte si, že SMTP server a POP server mohou být na stejném systému bez problémů. Většina serverů to dnes dělá.
funkce, jako je udržování hlavní kopie e-mailu uživatele na serveru, chyběly, což vedlo k vývoji IMAP.,
pomocí IMAP bude váš poštovní server Linux podporovat tři režimy přístupu:
- online režim je podobný přímému přístupu k souborovému systému k poštovnímu serveru Linux.
- režim offline je podobný tomu, jak funguje POP, kde je klient odpojen od sítě, s výjimkou popadnutí e-mailu. V tomto režimu server obvykle nezachovává kopii e-mailu.
- odpojený režim funguje tak, že umožňuje uživatelům uchovávat kopie svých e-mailů v mezipaměti a server si ponechá kopii e-mailu.,
existuje několik implementací pro IMAP a POP; nejoblíbenější je server Dovecot, který poskytuje oba protokoly.
POP3, POP3S, IMAP a IMAP poslouchají porty 110, 995, 143 a 993.
instalace Dovecot
většina linuxových distribucí je dodávána s předinstalovaným Dovecotem., Nicméně, můžete nainstalovat Dovecot v Red Hat based distribucích, jako je tento:
$ dnf -y install dovecot
Debian based distribuce poskytnout IMAP a POP3 funkce ve dvou samostatných balíků, můžete je nainstalovat jako toto:
$ apt-get -y install dovecot-imapd dovecot-pop3d
To vás požádá o vytvoření self-signed certifikáty pro použití IMAP a POP3 přes SSL/TLS. Vyberte Ano a po zobrazení výzvy zadejte název hostitele pro váš systém.,
Pak můžete spustit službu a umožňují při startu takto:
$ systemctl start dovecot$ systemctl enable dovecot
Configure Dovecot
hlavní konfigurační soubor pro Dovecot je
/etc/dovecot/dovecot.conf
soubor.
u Některých Linuxových distribucích dát konfigurace v rámci
/etc/dovecot/conf.d/
adresář a použít include zahrnout nastavení v souborech.
následující seznam parametrů můžete použít ke konfiguraci protokolů Dovecot:
: protokolů, které chcete podpořit.
protocols = imap pop3 lmtp
lmtp znamená protokol přenosu místní pošty.,
poslouchat: IP adresy poslouchat dál.
listen = *, ::
hvězdička znamená všechna rozhraní ipv4 a:: znamená všechna rozhraní ipv6
userdb: uživatelská databáze pro ověřování uživatelů.
userdb {driver = pam}
passdb: heslo databáze pro ověřování uživatelů.
passdb {driver = passwd}
mail_location: tento záznam v /etc/dovecot/conf.d / 10-mail.conf soubor:
mail_location = mbox:~/mail:INBOX=/var/mail/%u
Secure Dovecot
Dovecot je dodáván s generickými SSL certifikáty a klíčovými soubory., Podívej se na tento soubor:
/etc/dovecot/conf.d/10-ssl.conf
ssl_cert = </etc/pki/dovecot/certs/dovecot.pemssl_key = </etc/pki/dovecot/private/dovecot.pem
Když se uživatel pokusí připojit k dovecot serveru, zobrazí se varování, protože certifikáty, které nejsou podepsané, si můžete zakoupit certifikát od certifikační autority, pokud chcete.
Nebo pokud jste jít s Pojďme Šifrování certifikáty, můžete ukázat jim, místo:
ssl_cert = </etc/letsencrypt/live/yourdomain.com/fullchain.pemssl_key = </etc/letsencrypt/live/yourdomain.com/privkey.pem
nezapomeňte otevřít dovecot server porty do iptables firewall přidáním iptables pravidla pro porty 110, 995, 143, 993, 25.
poté uložte pravidla.,
Nebo pokud používáte firewalld, můžete udělat následující:
A opět, pro řešení potíží, zkontrolujte soubory protokolu /var/log/messages, /var/log/maillog a /var/log/mail.protokol.
Linux mail server je jedním z nejjednodušších serverů pro práci, zejména poštovního serveru Postfix.
doufám, že vám příspěvek bude užitečný a zajímavý. Vrať se.
Děkuji.
Zakladatel LikeGeeks. Od roku 2010 pracuji jako správce systému Linux., Jsem zodpovědný za údržbu, zabezpečení a odstraňování problémů s linuxovými servery pro více klientů po celém světě. Miluji psaní skriptů shell a Python pro automatizaci mé práce.
Napsat komentář