Vyhledávání na webu

Nastavení e-mailových služeb (SMTP, Imap a Imaps) a omezení přístupu k SMTP – část 7


LFCE (Linux Foundation Certified Engineer) je vyškolený profesionál, který má dovednosti pro instalaci, správu a odstraňování problémů se síťovými službami v systémech Linux a má na starosti návrh, implementace a průběžná údržba architektury systému a administrace uživatelů.

Představujeme certifikační program Linux Foundation.

V předchozím tutoriálu jsme probrali, jak nainstalovat potřebné součásti poštovní služby. Pokud jste ještě nenainstalovali Postfix a Dovecot, přečtěte si prosím část 1 této série, kde najdete pokyny, jak tak učinit, než budete pokračovat.

Požadavek

  1. Nainstalujte Postfix Mail Server a Dovecot – část 1

V tomto příspěvku vám ukážu, jak nakonfigurovat váš poštovní server a jak provádět následující úkoly:

  1. Konfigurace e-mailových aliasů
  2. Nakonfigurujte službu IMAP a IMAPS
  3. Nakonfigurujte službu smtp
  4. Omezit přístup k smtp serveru

Poznámka: Naše nastavení bude pokrývat pouze poštovní server pro místní síť, kde počítače patří do stejné domény. Odesílání e-mailových zpráv do jiných domén vyžaduje složitější nastavení, včetně možností rozlišení názvů domén, což je mimo rozsah certifikace LFCE.

Nejprve však začněme několika definicemi.

Součásti procesu odesílání, přepravy a doručení pošty

Následující obrázek ilustruje proces přenosu e-mailu od odesílatele, dokud zpráva nedorazí do doručené pošty příjemce:

Aby to bylo možné, v zákulisí se děje několik věcí. Aby byla e-mailová zpráva doručena z klientské aplikace (jako je Thunderbird, Outlook nebo webmailových služeb, jako je Gmail nebo Yahoo! Mail) na jeho poštovní server a odtud na cílový server a nakonec zamýšlenému příjemci , musí být na každém serveru zavedena služba SMTP (Simple Mail Transfer Protocol).

Když mluvíme o e-mailových službách, velmi často se setkáte s následujícími pojmy:

Agent přenosu zpráv – MTA

MTA (zkratka pro Mail nebo Message Transport Agent), neboli mail relay, je software, který má na starosti přenos e-mailových zpráv ze serveru klientovi (a také naopak). V této sérii Postfix funguje jako náš MTA.

Mail User Agent – MUA

MUA neboli Mail User Agent je počítačový program používaný k přístupu a správě e-mailových schránek uživatele. Příklady MUA zahrnují, ale nejsou omezeny na Thunderbird, Outlook a rozhraní webové pošty, jako je Gmail, Outlook.com, abychom jmenovali alespoň některé. V této sérii použijeme Thunderbird v našich příkladech.

Zástupce doručování pošty

MDA (zkratka pro Message nebo Mail Delivery Agent) je softwarová část, která ve skutečnosti doručuje e-mailové zprávy do doručené pošty uživatele. V tomto tutoriálu použijeme Dovecot jako naše MDA. Dovecot se také postará o ověření uživatele.

Simple Mail Transfer Protocol – SMTP

Aby tyto komponenty mohly mezi sebou „hovořit“, musí „hovořit“ stejným „jazykem“ (nebo protokolem ), jmenovitě SMTP (Simple Mail Transfer Protocol), jak je definováno v RFC 2821. S největší pravděpodobností budete muset odkazovat na tento RFC při nastavování prostředí poštovního serveru.

Další protokoly, které musíme vzít v úvahu, jsou IMAP4 (Internet Message Access Protocol), který umožňuje spravovat e-mailové zprávy přímo na serveru bez jejich stahování na pevný disk našeho klienta. a POP3 (Post Office Protocol), který umožňuje stahovat zprávy a složky do počítače uživatele.

Naše testovací prostředí

Naše testovací prostředí je následující:

Nastavení poštovního serveru
Mail Server OS	: 	Debian Wheezy 7.5 
IP Address	:	192.168.0.15
Local Domain	:	example.com.ar
User Aliases	:	[email  is aliased to [email  and [email 
Nastavení klientského počítače
Mail Client OS	: 	Ubuntu 12.04
IP Address	:	192.168.0.103

Na našem klientovi jsme nastavili základní rozlišení DNS přidáním následujícího řádku do souboru /etc/hosts.

192.168.0.15 example.com.ar mailserver

Přidání e-mailových aliasů

Ve výchozím nastavení by zpráva odeslaná konkrétnímu uživateli měla být doručena pouze tomuto uživateli. Pokud jej však chcete doručit také skupině uživatelů nebo jinému uživateli, můžete vytvořit poštovní alias nebo použít některý ze stávajících v /etc/postfix/aliases , podle této syntaxe:

user1: user1, user2

E-maily odeslané uživateli uživatel1 budou tedy doručeny také uživateli uživatel2. Všimněte si, že pokud vynecháte slovo uživatel1 za dvojtečkou, jako v

user1: user2

zprávy odeslané uživateli1 budou odeslány pouze uživateli uživatel2, nikoli uživateli uživatel1.

Ve výše uvedeném příkladu by již v systému měly existovat uživatel1 a uživatel2. Pokud si potřebujete před přidáním nových uživatelů osvěžit paměť, můžete si přečíst část 8 série LFCS.

  1. Jak přidávat a spravovat uživatele/skupiny v Linuxu
  2. 15 Příkazy pro přidání uživatelů v Linuxu

V našem konkrétním případě použijeme následující alias, jak bylo vysvětleno výše (přidejte následující řádek do /etc/aliases).

sysadmin: gacanepa, jdoe

A spusťte následující příkaz k vytvoření nebo aktualizaci vyhledávací tabulky aliasů.

postalias /etc/postfix/aliases

Zprávy odeslané na adresu [email  budou doručeny do doručené pošty výše uvedeným uživatelům.

Konfigurace Postfixu – Služba SMTP

Hlavní konfigurační soubor pro Postfix je /etc/postfix/main.cf. Než budete moci používat poštovní službu, stačí nastavit několik parametrů. Měli byste se však seznámit s úplnými konfiguračními parametry (které mohou být uvedeny v man 5 postconf), abyste mohli nastavit bezpečný a plně přizpůsobený poštovní server.

Poznámka: Tento tutoriál vám má pouze pomoci v tomto procesu začít a nepředstavuje komplexního průvodce e-mailovými službami v systému Linux.

Otevřete soubor /etc/postfix/main.cf s vámi vybraným editorem a proveďte následující změny, jak je vysvětleno.

vi /etc/postfix/main.cf

1. myorigin určuje doménu, která se objevuje ve zprávách odeslaných ze serveru. Můžete vidět soubor /etc/mailname použitý s tímto parametrem. V případě potřeby jej můžete upravit.

myorigin = /etc/mailname

Pokud je použita výše uvedená hodnota, budou e-maily odesílány jako [email , kde uživatel je uživatel, který zprávu odeslal.

2. můj cíl uvádí, jaké domény bude tento počítač doručovat e-mailové zprávy lokálně, místo aby je předával na jiný počítač (fungující jako přenosový systém). V našem případě postačí výchozí nastavení (nezapomeňte upravit soubor tak, aby vyhovoval vašemu prostředí).

Kde soubor /etc/postfix/transport definuje vztah mezi doménami a dalším serverem, na který mají být e-mailové zprávy přeposílány. V našem případě, protože budeme doručovat zprávy pouze do naší lokální sítě (čímž se obejdeme bez externího překladu DNS), bude stačit následující konfigurace.

example.com.ar    local:
.example.com.ar    local:

Dále musíme tento prostý textový soubor převést do formátu .db, který vytvoří vyhledávací tabulku, kterou Postfix skutečně použije, aby věděl, co dělat s příchozí a odchozí poštou.

postmap /etc/postfix/transport

Pokud do odpovídajícího textového souboru přidáte další položky, budete si muset pamatovat na opětovné vytvoření této tabulky.

3. mynetworks definuje autorizované sítě, ze kterých bude Postfix předávat zprávy. Výchozí hodnota, subnet, říká Postfixu, aby předával poštu od klientů SMTP pouze ve stejných podsítích IP jako místní počítač.

mynetworks = subnet

4. relay_domains určuje cíle, na které mají být e-maily odesílány. Necháme beze změny výchozí hodnotu, která ukazuje na mydestination. Pamatujte, že nastavujeme poštovní server pro naši LAN.

relay_domains = $mydestination

Všimněte si, že místo uvedení skutečného obsahu můžete použít $mydestination.

5. inet_interfaces definuje, na kterých síťových rozhraních má poštovní služba naslouchat. Výchozí hodnota all říká Postfixu, aby používal všechna síťová rozhraní.

inet_interfaces = all

6. A konečně, mailbox_size_limit a message_size_limit budou použity k nastavení velikosti poštovní schránky každého uživatele a maximální povolené velikosti jednotlivých zpráv v bajtech.

mailbox_size_limit = 51200000
message_size_limit = 5120000

Omezení přístupu k serveru SMTP

Server Postfix SMTP může aplikovat určitá omezení na každý požadavek na připojení klienta. Ne všem klientům by mělo být umožněno identifikovat se na poštovním serveru pomocí příkazu smtp HELO a rozhodně ne všem by měl být udělen přístup k odesílání a přijímání zpráv.

K implementaci těchto omezení použijeme následující direktivy v souboru main.cf. Ačkoli jsou samozřejmé, byly přidány komentáře pro účely objasnění.

Require that a remote SMTP client introduces itself with the HELO or EHLO command before sending the MAIL command or other commands that require EHLO negotiation.
smtpd_helo_required = yes

Permit the request when the client IP address matches any network or network address listed in $mynetworks
Reject the request when the client HELO and EHLO command has a bad hostname syntax
smtpd_helo_restrictions = permit_mynetworks, reject_invalid_helo_hostname

Reject the request when Postfix does not represent the final destination for the sender address
smtpd_sender_restrictions = permit_mynetworks, reject_unknown_sender_domain

Reject the request unless 1) Postfix is acting as mail forwarder or 2) is the final destination
smtpd_recipient_restrictions = permit_mynetworks, reject_unauth_destination

Stránka postconf s konfiguračními parametry Postfixu se může hodit k dalšímu prozkoumání dostupných možností.

Konfigurace Dovecot

Ihned po instalaci dovecotu podporuje přednastavené protokoly POP3 a IMAP spolu s jejich zabezpečenými verzemi POP3S a IMAPS.

Přidejte následující řádky do souboru /etc/dovecot/conf.d/10-mail.conf.

%u represents the user account that logs in
Mailboxes are in mbox format
mail_location = mbox:~/mail:INBOX=/var/mail/%u
Directory owned by the mail group and the directory set to group-writable (mode=0770, group=mail)
You may need to change this setting if postfix is running a different user / group on your system
mail_privileged_group = mail

Pokud zkontrolujete svůj domovský adresář, všimnete si, že existuje podadresář pošty s následujícím obsahem.

Všimněte si také, že soubor /var/mail/%u je místem, kde jsou na většině systémů uloženy uživatelské e-maily.

Přidejte následující direktivu do /etc/dovecot/dovecot.conf (všimněte si, že imap a pop3 implikují imapy a pop3).

protocols = imap pop3

A ujistěte se, že /etc/conf.d/10-ssl.conf obsahuje následující řádky (v opačném případě je přidejte).

ssl_cert = </etc/dovecot/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.pem

Nyní restartujeme Dovecot a ověříme, že naslouchá na portech souvisejících s imap, imaps, pop3 a pop3s.

netstat -npltu | grep dovecot

Nastavení poštovního klienta a odesílání/příjem e-mailů

Na našem klientském počítači otevřeme Thunderbird a klikneme na SouborNovýStávající poštovní účet. Budeme vyzváni k zadání názvu účtu a přidružené e-mailové adresy spolu s jeho heslem. Když klikneme na Pokračovat, Thunderbird se poté pokusí připojit k poštovnímu serveru, aby ověřil nastavení.

Opakujte výše uvedený postup pro další účet ([e-mail chráněný]) a v levém podokně Thunderbirdu by se měly objevit následující dvě doručené pošty.

Na našem serveru napíšeme e-mailovou zprávu sysadminovi, který má alias jdoe a gacanepa.

Zdá se, že protokol pošty (/var/log/mail.log) naznačuje, že e-mail odeslaný sysadminovi byl předán [email  a [e-mail chráněno], jak je vidět na následujícím obrázku.

Můžeme ověřit, zda byla pošta skutečně doručena našemu klientovi, kde byly v Thunderbirdu nakonfigurovány účty IMAP.

Nakonec zkusme odeslat zprávu z [email  na [email .

Při zkoušce budete požádáni, abyste pracovali výhradně s nástroji příkazového řádku. To znamená, že nebudete moci nainstalovat desktopovou klientskou aplikaci, jako je Thunderbird, ale místo toho budete muset používat poštu. Thunderbird jsme v této kapitole použili pouze pro ilustrativní účely.

Závěr

V tomto příspěvku jsme vysvětlili, jak nastavit poštovní server IMAP pro vaši místní síť a jak omezit přístup k serveru SMTP. Pokud při implementaci podobného nastavení ve vašem testovacím prostředí narazíte na problém, budete chtít zkontrolovat online dokumentaci Postfixu a Dovecotu (zejména stránky o hlavních konfiguračních souborech /etc/postfix/main.cf a/atd/dovecot/dovecot.conf), ale v každém případě mě neváhejte kontaktovat pomocí formuláře pro komentáře níže. Více než rád vám pomohu.