Poštovní server na OS Linux: Základní konfigurace

24. 12. 2013

Sdílet

 Autor: © Pavel Ignatov - Fotolia.com
V prvním díle jsme se věnovali poštovnímu minimu na Linuxu a instalaci sendmailu. Teď přichází na řadu základní konfigurace serveru pro jednu doménu.

Dříve, než začneme nastavovat vlastní sendmail, seznámíme se s účelem a syntaxí základních konfiguračních souborů tohoto poštovního serveru. Vše podstatné najdeme ve složce /etc a /etc/mail. Mezi nejpodstatnější soubory patří tyto:

/etc/mail/access

Obsah tohoto souboru má zásadní vliv na základní zabezpečení našeho poštovního serveru. Definujeme v něm totiž počítače nebo sítě, které jej mohou použít pro odesílání pošty (pozor, nebavíme se zde o doručování), jinak nazývané také poštovní Relay. Kromě povolování v něm lze také zakazovat, tj. určit servery, které jsou vyloženě a okamžitě odmítnuty.

/etc/mail/local-host-names

Tento soubor do jisté míry nahrazuje dříve používaný sendmail.cw. Definujeme v něm doménová jména (za zavináčem), pro něž je váš server domovský, tedy pro ktera má doručit poštu do místní schránky. Pokud dorazí pošta pro zde uvedené doménové jméno, není už předávána nikam jinam (což jinak zařídit lze – viz další díly seriálu).

/etc/mail/procmailrc

V tomto souboru lze provést globální nastavení post procesoru procmail, který se používá pro třídění a doručování pošty do schránek. Obvykle se však procmail konfiguruje pro jednotlivé uživatele individuálně, jeho nastavení tak probíhá v uživatelských domovských složkách.

/etc/mail/sendmail.mc(cf)

Oba tyto soubory jsou hlavními konfiguračními soubory celého serveru. Sendmail.cf je základním souborem obsahujícím všechna nastavení vlastního démona. Od dostupnosti na síťových portech, až po vzhled obálky každé zprávy. Struktura tohoto souboru je však poměrně komplikovaná, a proto tvůrci vymysleli srozumitelnější skript ve formě souboru sendmail.mc, jenž je při restartu démona přeložen do formátu hlavního konfiguračního souboru. Změny lze provádět v obou souborech, výsledkem je pak jejich součet (průnik).

/etc/mail/virtusertable

Soubor slouží k definici virtuální uživatelů využitelných v případě, že obsluhujete na serveru více než jednu doménu. Práci s ním si ukážeme v příštích dílech seriálu.

/etc/aliases

Tento soubor patří mezi nejpodstatnější a najdete jej někdy i ve složce /etc/mail. Definují se v něm systémové i nesystémové poštovní aliasy. S jejich pomocí lze pak poměrně úspěšně směrovat a třídit doručovanou poštu i bez složitějšího skriptování v procmailu (viz výše).

/var/log/maillog

Konfiguraci vlastního serveru je nutné neustále ověřovat a sledovat v LOG souboru sendmailu, který naleznete právě zde. Maillog je hlavním diagnostickým nástrojem pro ověření toho, čeho jsme se dopustili ve výše uvedených souborech.

Jméno serveru

Určení jména poštovního serveru (případně i jeho domény) lze provést v souboru /etc/hosts. U příslušné veřejné IP adresy je možné definovat hned několik jmen, z nichž to první bude zobrazeno v hlavičce zprávy, která bude serverem odeslána. Toto jméno je možné dále maskovat pomocí dalších konfiguračních direktiv, obecně se však sendmail řídí uvedeným řádkem právě v souboru hosts. V našem případě by tak kromě definice lokální adresy 127.0.0.1 přibyl v tomto souboru řádek

192.168.1.254                    firma.cz

V případě, že by externí adresa našeho serveru byla 192.168.1.254 (v tomto příkladu je však uvedena adresa z vnitřního rozsahu).

Nastavení přístupu (RELAY)

Základní zabezpečení serveru lze poměrně dobře provést v souboru /etc/mail/access. Jeho syntax je velmi jednoduchý. Vlevo vždy stojí zájemce o přístup na server, který zde může být uveden ve formě IP adresy (192.168.1.1), rozsahu sítě (192.168.1), nebo doménového jména (firma.cz). Vpravo potom na stejném řádku určujeme, co danému zájemci povolíme/zakážeme. Možnosti jsou následující:

RELAY – přijme poštu pro uvedenou (a od uvedené) doménu/síť
OK – přijme od uvedené domény mail, pokud to neodporuje jiným pravidlům jinde nastaveným
REJECT – odmítne poštu od uvedené domény
DISCARD – vyřadí poštu od uvedené domény

Do řádku na pravou stranu lze také uvést libovolné hlášení. Ukázkovým souborem /etc/mail/access využívajícím tyto možnosti je např. tento:

127.0.0.1                             RELAY
192.168.1                            RELAY
Spameri.cz                         REJECT
From:Spameri2.cz           550 We don
’t like Spameri2.cz  

Nyní jsme sendmailu povolili přijímat a odesílat poštu sobě samotnému a naší vnitřní síti s uvedeným rozsahem (192.168.1.1 –192.168.1.254). Od některých adres jsme však přijímat poštu výslovně odmítli. Sendmail vždy přijme poštu jen pro doménu uvedenou v local-host-names, ve výše uvedeném souboru tak řešíme pouze kritické případy (např. mail flooding) tak, aby je sendmail ani nezpracoval (a nezdržoval tak jiné relevantní zprávy).

Určení domény

Nastavujeme server pro jednu doménu firma.cz. Tuto tak musíme uvést do souboru /etc/mail/local-host-names velmi prostě na první řádek tohoto souboru. Sendmail pro tuto doménu doručí zprávy místně a nebude je již předávat dále. Stejně tak přijaté zprávy od lokálních počítačů nepošle do internetu a doručí je pro tuto doménu místně.

Nastavení démona

Sendmail je po instalaci zabezpečen tak, že přijme poštu jen od sebe sama. Nejprve je tedy nutné odstranit toto nastavení. V souboru sendmail.mc vyhledejte níže uvedený řádek a zakomentujte jej takto

dnl # DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

Jestliže předáváte poštu svému poskytovateli, tj. nedoručujete ji přímo cílovým poštovním serverů, je nutné určit démonovi takzvaného SMART hosta, tedy server, kterému vaši poštu vždy předá, aniž by se zabýval tím, kam bude doručována. SMART hosta určíte odkomentováním řádku v souboru sendmail.mc takto

define(`SMART_HOST', `smtp.your.provider')dnl

Ve standardní distribuci není třeba pro úspěšné rozjetí základního poštovního serveru žádných dalších změn. Ty výše provedené (ve všech souborech) aktivujete restartem celého démona příkazem

service sendmail restart

jenž by měl bez problémů proběhnout. Pokud se tak nestane, zkontrolujte soubor /var/log/maillog.

V příštím dílu vytvoříme uživatelské schránky a podíváme se na možnosti třídění a doručování pošty, včetně dnes již nezbytné antispamové a antivirové kontroly.

ICTS24

Autor je vedoucím Informačního centra Univerzity J. E. Purkyně