GNU/Linux >> Znalost Linux >  >> Panels >> Panels

Hardening Postfix pro ISPConfig 3

Hardening Postfix pro ISPConfig 3

Autor:Jesús Córdoba
E-mail:j.cordoba [at] gmx [tečka] net
Uživatel fóra:pititis

Verze:1.2

Cílem tohoto tutoriálu je posílit postfix poštovního serveru, který používá ISPConfig pro internetové poštovní servery, kde jsou ověření uživatelé důvěryhodní. S tímto nastavením odmítnete velké množství spamu, než projde do vaší poštovní fronty, ušetříte spoustu systémových prostředků a váš poštovní server bude silný proti spammerům a spamovým botnetům. Pojďme.

Reverzní DNS, (DNS záznam PTR)

Pro nastavení rdns nastanou dvě situace:

- Váš ISP vám umožňuje změnit to sami. Podívejte se na svůj ovládací panel.

- Váš ISP vám nedovoluje to změnit. Stačí poslat e-mail se svou žádostí.

Zeptejte se nebo nasměrujte svůj záznam rdns na váš server. tj. server.example.comSvé rdns můžete zkontrolovat pomocí příkazu host:
[email protected] / # hostitel 149.20.4.69
 69.64-27.4.20.149.in-addr.arpa ukazatel názvu domény pub2.kernel.org.

Pamatujte, že DNS musí šířit změny.

SPF pro vaši doménu (DNS TXT záznam)

SPF je systém pro ověřování e-mailů navržený tak, aby zabránil e-mailovému spamu detekcí e-mailového spoofingu, běžné zranitelnosti, ověřením IP adres odesílatelů.

Chcete-li nastavit spf, budete muset přidat TXT záznam do vaší DNS zóny, ale nejprve si můžete vygenerovat svůj záznam zde:http://www.mailradar.com/spf/

Zkopírujte výsledek spf, poté přejděte na ISPConfig -> dns -> zóny -> klikněte na název vaší domény -> klikněte na kartu záznamů -> a klikněte na TXT

Název hostitele -> example.com. (s tečkou na konci!)

Text -> Sem vložte výsledek spf (bez " ").

Příklad:v=spf1 a mx ptr ip4:11.222.333.444 -all       …a klikněte na Uložit.

Pamatujte, že DNS musí šířit změny.

Postfix main.cf

Pojďme něco přidat/změnit do /etc/postfix/main.cf

Omezení Helo:

smtpd_helo_required =yessmtpd_helo_restrictions =permit_mynetworks, permit_sasl_authenticated, cancel_non_fqdn_helo_hostname, cancel_invalid_helo_hostname

Helo omezení v akci:

Jan 12 01:57:08 server postfix/smtpd[4687]:NOQUEUE:zamítnutí:RCPT od neznámého[186.43.77.153]:450 4.7.1 Hostitel klienta odmítnut:nemůže najít váš název hostitele, [186.43.77.153]; from= to= proto=ESMTP helo=<[186.43.77.153]>ledna 8 00:32:22 server postfix/smtpd[17504]:NOQUEUE:zamítnutí:RCPT od 201-93-87-2.dial-up.telesp.net.br[201.93.87.2]:504 5.5.2 :Příkaz Helo zamítnut:potřeba plně kvalifikovaný název hostitele; from= to= proto=ESMTP helo=

Přísné rfc:

strict_rfc821_envelopes =ano

Omezení klientů:

smtpd_client_restrictions =permit_mynetworks, permit_sasl_authenticated, cancel_unknown_client_hostname, check_client_access mysql:/etc/postfix/mysql-virtual_client.cf

Omezení příjemců:

smtpd_recipient_restrictions =permit_mynetworks, permit_sasl_authenticated, cancel_unauth_destination, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, cancel_unknown_recipient_domain

Omezení dat:

smtpd_data_restrictions =cancel_unauth_pipelining

Smtpd zpoždění:

smtpd_delay_reject =ano

Nezapomeňte znovu načíst postfix:

/etc/init.d/postfix reload

Kontrola SPF pro Postfix (Debian a Ubuntu)

Instalujte balíček spf:

apt-get install postfix-policyd-spf-python

nebo

apt-get install postfix-policyd-spf-perl

Přidejte toto do /etc/postfix/main.cf :

policy-spf_time_limit =3600 s

a přidejte check_policy_service unix:private/policy-spf na konec smtpd_recipient_restrictions:

smtpd_recipient_restrictions =permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, cancel_unauth_destination, cancel_unknown_recipient_service uniprex:check-pripolicy_domain, check-pripolicy_recipient. 

Nyní upravte master.cf a přidejte na konec toto (pro verzi pythonu):

policy-spf unix - n n - - spawn user=nobody argv=/usr/bin/policyd-spf 

nebo toto pro verzi perlu:

policy-spf unix - n n - - spawn user=nobody argv=/usr/sbin/postfix-policyd-spf-perl

…znovu načtěte postfix.

/etc/init.d/postfix reload

Spf check in action:

Jan 4 15:50:11 server postfix/smtpd[19096]:NOQUEUE:zamítnutí:RCPT z g230068165.adsl.alicedsl.de[92.230.68.165]:550 5.7.1  to= proto=ESMTP helo=

Greylist

Greylisting je metoda obrany uživatelů e-mailu před spamem. Agent pro přenos pošty (MTA) používající greylisting „dočasně odmítne“ jakýkoli e-mail od odesílatele, kterého nepozná. Pokud je e-mail legitimní, původní server to po prodlevě zkusí znovu a po uplynutí dostatečné doby bude e-mail přijat.

Instalace postgrey (Debian, Ubuntu):

apt-get install postgrey

Možnosti konfigurace jsou v /etc/default/postgrey (výchozí zpoždění je 5 minut).

Upravte main.cf a přidejte check_policy_service inet:127.0.0.1:10023 na konec smtpd_recipient_restrictions:

smtpd_recipient_restrictions =permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, avoid_unauth.destination, cancel_unknown_recipient_service:12check_2policy inservice_0 

…znovu načtěte postfix:

/etc/init.d/postfix reload

Greylist v akci:

10. ledna 17:38:57 server postfix/smtpd[21302]:NOQUEUE:odmítnutí:RCPT z mailout-de.gmx.net[213.165.64.22]:451 4.7.1 :Recipient adresa zamítnuta:Greylisting v platnosti, vraťte se prosím později; from= to= proto=SMTP helo=

DNSBL (DNS Based Blacklist/Blocklist)

DNSBL je seznam IP adres publikovaných prostřednictvím služby DNS (Internet Domain Name Service) buď jako soubor zóny, který může být použit serverovým softwarem DNS, nebo jako živá zóna DNS, kterou lze dotazovat v reálném čase. DNSBL se nejčastěji používají ke zveřejnění adres počítačů nebo sítí spojených se spamem; většinu softwaru poštovního serveru lze nakonfigurovat tak, aby odmítal nebo označoval zprávy, které byly odeslány z webu uvedeného na jednom nebo více takových seznamech. Ty mohou zahrnovat seznam adres zombie počítačů nebo jiných strojů používaných k rozesílání spamu, seznam adres poskytovatelů internetových služeb, kteří dobrovolně hostí spammery, nebo seznam adres, které poslaly spam do systému honeypot. Pro použití dnsbl s postix používáme cancel_rbl_client. Stačí přidat nějakou živou DNS zónu pro dotazy do souboru main.cf.

V mém příkladu použiji dva seznamy s velmi dobrou pověstí (přidané na konec smtpd_client_restrictions):

smtpd_client_restrictions =permit_mynetworks, permit_sasl_authenticated, cancel_unknown_client_hostname, check_client_access mysql:/etc/postfix/mysql-virtual_client.cf, cancel_rbl_client cbl.abuseat_client.orgurac>zavrhnout_klient 

rbl v akci:

12. ledna 01:52:42 server postfix/smtpd[4616]:NOQUEUE:zamítnutí:RCPT z 89.pool85-49-26.dynamic.orange.es[85.49.26.89]:554 5.7.1 Služba není k dispozici; Klientský hostitel [85.49.26.89] blokován pomocí cbl.abuseat.org; Blokováno – viz http://cbl.abuseat.org/lookup.cgi?ip=85.49.26.89; from= to= proto=SMTP helo=11. ledna 20:13:58 server postfix/smtpd[29591]:NOQUEUE:odmítnutí:RCPT od 93 -87-122-56.dynamic.isp.telekom.rs[93.87.122.56]:554 5.7.1 Služba není k dispozici; Klientský hostitel [93.87.122.56] zablokován pomocí b.barracudacentral.org; http://www.barracudanetworks.com/reputation/?pr=1&ip=93.87.122.56; from= to= proto=ESMTP helo=

Postscreen

Poznámka:Tato funkce je dostupná v Postfixu 2.8 a novějším

Postscreen démon Postfix poskytuje další ochranu proti přetížení poštovního serveru. Jeden postscreen proces zpracovává více příchozích připojení SMTP a rozhoduje, kteří klienti mohou hovořit s procesem serveru Postfix SMTP. Tím, že chráníte před spamboty, ponechává postscreen více procesů serveru SMTP k dispozici pro legitimní klienty a oddaluje nástup podmínek přetížení serveru.

Hlavní výzvou pro postscreen je učinit rozhodnutí je-to-zombie založené na jediném měření. To je nezbytné, protože mnoho zombie se snaží létat pod radarem a vyhnout se opakovanému spamování stejné stránky. Jakmile postscreen rozhodne, že klient není zombie, dočasně klienta zařadí na seznam povolených, aby se předešlo dalším prodlevám u legitimní pošty.

Pro tento tutoriál použijeme výchozí nastavení s výjimkou. Tato nastavení jsou vhodná pro většinu situací

Nejprve do main.cf přidáme řádek příkazem:

postscreen_greet_action =vynutit

Za druhé přidáme postscreen a některé nové služby do master.cf Poznámka:Tato nastavení již mohou existovat, stačí odkomentovat. Také se ujistěte, že řádek "smtp inet ... smtpd" včetně všech parametrů je zakomentován (pokud existují, parametry musí být přesunuty do nové služby smtpd).

# Konfigurační soubor hlavního procesu Postfixu. Podrobnosti o formátu# souboru viz manuálová stránka master(5) (příkaz:"man 5 master").## Po úpravě tohoto souboru nezapomeňte spustit "postfix reload".## ============================================================================# typ služby private unpriv chroot probuzení příkaz maxproc + args# (ano) (ano) (ano) (nikdy) (100)# ============================================================================#smtp inet n - - - - smtpd# -o ...smtpd pass - - n - - smtpd -o ... # Parametry přesunuty ze služby smtp do nové služby smtpd. (pokud existují) smtp inet n - n - 1 postscreentlsproxy unix - - n - 0 tlsproxydnsblog unix - - n - 0 dnsblog

Nyní znovu načteme postfix:

/etc/init.d/postfix reload

Panels
  1. Nainstalujte Horde 5 Webmail pro ISPConfig na Debian Jessie přes PEAR

  2. 15 Linux Hardening Steps for CentOS 7 Server

  3. Doporučený správce seznamu adres pro použití s ​​Postfixem?

  1. ISPConfig 3 ProFTPd pro Debian

  2. Nainstalujte Horde 4 Webmail pro ISPConfig na Debian Squeeze Through PEAR

  3. Jak nainstalovat ISPConfig 3 na Ubuntu 18.04

  1. Blokování příjmu plných TLD

  2. Posílení zabezpečení SSL v Apache, Dovecot a Postfix

  3. Jak nainstalovat mod_ruby na různé distribuce Linuxu pro použití s ​​ISPConfig (2.2.20 a vyšší)