Administrace Unixu (Mailování) 1. Instalace postfixu Úkol: Na VPC M nainstalujte postfix z balíčku a proveďte kroky vedoucí k úplnému nahrazení sendmailu, které vám radí instalační proces. Dále je potřeba provést základní konfiguraci postfixu v souboru /usr/local/etc/postfix/main.cf. Důležité volby: myhostname, mydomain, myorigin, mydestination. (čtěte komentáře, které jsou v main.cf) Podívejte se do souboru /etc/mail/aliases a nastavte aby pošta na adresu roota byla posílána na nějakého běžného uživatele. Nezapomeňte na newaliases. Úkol: Spusťte postfix a pomocí příkazu telnet si zkuste poslat mail uživateli root. $ telnet localhost smtp Connected to localhost Escape character is '^]'. 220 mail.myzone.swi ESMTP Postfix > HELO localhost 250 mail.myzone.swi > MAIL FROM:
[email protected] 250 OK > RCPT TO:
[email protected] 250 OK > DATA 354 End data with
. > Hlavička (Subject: ...) > Hlavička (From: ...) > > Tělo > Tělo > . 250 OK quit
Ověřte že byl mail správně doručen: – Pohledem do logu ve /var/log/maillog. – Příkazem mail se podívejte do schránky uživatele, kterému měl mail přijít. Úkol: Zaneste si do své domény příslušný MX záznam a pomocí příkazu mail zkuste poslat mail do jiné domény.
Poslední změna: 21.11.2011
2. Zabezpečení mail serveru Je třeba dát pozor nato, komu dovolíme odesílat maily přes náš mail server aby nedošlo k zneužití našeho mail serveru ze strany SPAMerů. Postfix implicitně přijímá maily: –
Pro které je cílová destinace → ty jsou doručeny lokálně.
–
Které byly odeslány z adresy v mynetworks → jsou přeposlány na jiný mail server.
Pokud není hodnota mynetworks specifikována je generována podle parametru mynetworks_style. Úkol: Zjistěte jakou hodnotu mynetworks váš postfix aktuálně používá a upravte jí tak aby odpovídala pouze vaši sítím. Použijte utilitu postconf. Implicitní chování lze změnit nebo nastavit další omezení. Podívejte se na volby: smtpd_helo_restrictions, smtpd_recipient_restrictions, smtpd_sender_restrictions a smtpd_client_restrictions. Viz 'man 5 postconf' nebo http://www.postfix.org/. Úkol: Zpřísněte pravidla doručování tak, aby server vyžadoval korektní jméno počítače (má A nebo MX záznam v DNS) v příkazu HELO, korektní jméno odesilatelovi domény (A nebo MX záznam) a existenci reverzní záznamu pro SMTP klienta. Ujistěte se, že váš vlastní server všechna tyto pravidla splňuje a může tedy odesílat maily do domén vašich kolegů, kteří mají podobně restriktivně nastavený svůj mailserver.
Poslední změna: 21.11.2011
3. Konfigurace backup MX Převezme maily určené pro vaši doménu a přepošle je na váš primární mail server. Domény, pro které je server backup MX se nastavují v relay_domains. Úkol: Na VPC B nainstalujte postfix a nastavte ho jako backup MX pro vaši mailovou doménu. Přidejte další MX záznam do vaší domény s nižší prioritou (vyšším číslem). Tento server by neměl přeposílat jiné maily než maily určené do backupované domény. –
vypněte postfix na hlavním mail serveru
–
odešlete z nějakého počítače ve vaši síti mail do vaší domény
–
ověřte na backup MX, že mail je ve frontě (příkaz postqueue)
–
zapněte postfix na hlavním mail serveru
–
počkejte až pozdržený mail dojde adresátovi (případně to postrčte příkazem postqueue).
Problém: Pokud se pokusíte poslat mail s chybným jménem příjemce tak vás hlavní MX ihned odmítne, ale záložní MX mail akceptuje a k chybě dojde až při pokusu mail předat na hlavní MX. Řešení: Použít relay_recipient_maps. Úkol: Nastavte backup MX tak aby akceptoval pouze uživatele, které mají skutečný účet v doméně. –
vytvořte soubor /etc/postfix/relay_recipients
–
řádek v souboru má tvar: user@domain OK
–
vytvořte hash databázi: makemap hash file.db < file
–
nastavte parametr relay_recipient_maps = hash:/etc/postfix/relay_recipients
Zatím je nutné udržovat soubor ručně což není příliš efektivní. Postfix ale umožňuje spoustu dalších typů databází: mysql, ldap, pqsql, unix, …. Pomocí utility postmap lze pokládat do postfixové databáze dotazy.
Poslední změna: 21.11.2011
4. Relay host Postfix se dá nakonfigurovat i tak aby veškerou poštu přeposílal na konkrétní server. relayhost =
Vhodné pro koncové systémy. Úkol: Na VPC D nainstalujte postfix a nastavte ho jako relay na váš hlavní mailserver.
5. Filtrování pošty Postfix má několik možností jak filtrovat poštu: –
–
před vložením do fronty –
zabudované (header_checks, mime_header_checks, nested_header_checks, body_checks)
–
externí
po vložení do fronty –
externí
Úkol: Pomocí zabudovaných filtrů zařiďte, aby váš mail server odmítal maily s přílohou typu exe nebo vbs. Podívejte se do 'man header_checks' – obsahuje jako příklad přesně to co potřebujeme. Nainstalujte si mailového klienta mutt a zkuste poslat mail s příponou exe. Úkol: Pomocí zabudovaných filtrů zařiďte, aby váš mail server odmítal maily, které obsahují zakázaná slova a to buď v předmětu nebo v textu mailu. Externí filtry jsou samostatné procesy nebo příkazy a všechny procesy související s postfixem se konfigurují v souborů master.cf. Je možné specifikovat parametry jednotlivých procesů a způsob jak mezi sebou komunikují.
Poslední změna: 21.11.2011
# Nastavení transportu ke kontent filtru amavis. smtp-amavis unix 2 -o smtp_data_done_timeout=1200 -o smtp_send_xforward_command=yes -o disable_dns_lookups=yes -o max_use=20
smtp
# Vlastní smtp proces s parametrem specifikující daný transport. smtp inet smtpd …. -o content_filter=smtp-amavis:[127.0.0.1]:10024 …. # Speciální smtp proces, který využívá amavis. 127.0.0.1:10025 inet n -o -o -o -o -o -o -o -o -o -o -o -o
-
smtpd
content_filter= local_recipient_maps= relay_recipient_maps= smtpd_restriction_classes= smtpd_delay_reject=no smtpd_client_restrictions=permit_mynetworks,reject smtpd_helo_restrictions= smtpd_sender_restrictions= smtpd_recipient_restrictions=permit_mynetworks,reject mynetworks_style=host mynetworks=127.0.0.0/8 strict_rfc821_envelopes=yes
Poslední změna: 21.11.2011