GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> Panels

Härtung von Postfix für ISPConfig 3

Härtung von Postfix für ISPConfig 3

Autor:Jesús Córdoba
E-Mail:j.cordoba [at] gmx [dot] net
Forumbenutzer:pititis

Version:1.2

Das Ziel dieses Tutorials ist es, das von ISPConfig verwendete Mailserver-Postfix für Internet-Mailserver zu härten, bei denen authentifizierten Benutzern vertraut wird. Mit diesem Setup werden Sie eine große Menge an Spam abweisen, bevor es in Ihre Mail-Warteschlange gelangt, was eine Menge Systemressourcen spart und Ihren Mailserver stark gegen Spammer und Spam-Botnets macht. Los geht's.

Reverse-DNS, (DNS-PTR-Eintrag)

Um RDNs einzurichten, werden Sie zwei Situationen vorfinden:

- Ihr ISP erlaubt es Ihnen, es selbst zu ändern. Sehen Sie in Ihrem Steuerungsfeld nach.

- Ihr ISP erlaubt Ihnen nicht, es zu ändern. Senden Sie einfach eine E-Mail mit Ihrer Anfrage.

Fragen Sie Ihren rdns-Datensatz oder verweisen Sie ihn auf Ihren Server. d.h. server.example.comSie können Ihre rdns mit dem Befehl host überprüfen:
[email protected] / # host 149.20.4.69
 69.64-27.4.20.149.in-addr.arpa Domänennamenzeiger pub2.kernel.org.

Denken Sie daran, dass DNS die Änderungen weitergeben muss.

SPF für Ihre Domain (DNS-TXT-Eintrag)

SPF ist ein E-Mail-Validierungssystem, das entwickelt wurde, um E-Mail-Spam zu verhindern, indem E-Mail-Spoofing, eine häufige Schwachstelle, erkannt wird, indem Absender-IP-Adressen überprüft werden.

Um SPF einzurichten, müssen Sie Ihrer DNS-Zone einen TXT-Eintrag hinzufügen, aber zuerst können Sie Ihren Eintrag hier generieren:http://www.mailradar.com/spf/

Kopieren Sie das spf-Ergebnis, gehen Sie dann zu ISPConfig -> DNS -> Zonen -> klicken Sie auf Ihren Domainnamen -> klicken Sie auf die Registerkarte Datensätze -> und klicken Sie auf TXT

Hostname -> example.com. (mit Punkt am Ende!)

Text -> Fügen Sie hier das spf-Ergebnis ein (ohne " ").

Beispiel:v=spf1 a mx ptr ip4:11.222.333.444 -all       …und klicken Sie auf Speichern.

Denken Sie daran, dass DNS die Änderungen weitergeben muss.

Postfix-main.cf

Lassen Sie uns etwas zu /etc/postfix/main.cf hinzufügen/ändern

Helo-Einschränkungen:

smtpd_helo_required =yessmtpd_helo_restrictions =zulassen_meineNetzwerke, zulassen_sasl_authenticated, nicht_fqdn_helo_hostname zurückweisen,_helo_hostname_nicht gültig zurückweisen

Helo-Einschränkungen in Aktion:

Jan 12 01:57:08 Server postfix/smtpd[4687]:NOQUEUE:ablehnen:RCPT von unbekannt[186.43.77.153]:450 4.7.1 Client-Host zurückgewiesen:kann Ihren Hostnamen nicht finden, [186.43.77.153]; from= to= proto=ESMTP helo=<[186.43.77.153]>Jan 8 00:32:22 Server postfix/smtpd[17504]:NOQUEUE:ablehnen:RCPT von 201-93-87-2.dial-up.telesp.net.br[201.93.87.2]:504 5.5.2 :Helo-Befehl abgelehnt:vollständig qualifizierter Hostname erforderlich; from= to= proto=ESMTP helo=

Strikter RFC:

strict_rfc821_envelopes =ja

Client-Einschränkungen:

smtpd_client_restrictions =Zulassung_meineNetzwerke, Zulassung_sasl_authenticated, Ablehnung_unbekannter_Client_Hostname, Prüfung_Client_Zugriff mysql:/etc/postfix/mysql-virtual_client.cf

Empfängerbeschränkungen:

smtpd_recipient_restrictions =permission_mynetworks, permission_sasl_authenticated, respond_unauth_destination, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, respond_unknown_recipient_domain

Datenbeschränkungen:

smtpd_data_restrictions=reject_unauth_pipelining

SMTPD-Verzögerung:

smtpd_delay_reject =ja

Postfix neu laden nicht vergessen:

/etc/init.d/postfix neu laden

SPF-Prüfung auf Postfix (Debian und Ubuntu)

SPF-Paket installieren:

apt-get install postfix-policyd-spf-python

oder

apt-get install postfix-policyd-spf-perl

Fügen Sie dies zu /etc/postfix/main.cf hinzu:

policy-spf_time_limit =3600s

und fügen Sie check_policy_service unix:private/policy-spf am Ende von smtpd_recipient_restrictions:

hinzu
smtpd_recipient_restrictions =permission_mynetworks, permission_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, respond_unauth_destination, respond_unknown_recipient_domain, check_policy_service unix:private/policy-spf

Bearbeiten Sie nun master.cf und fügen Sie am Ende Folgendes hinzu (für die Python-Version):

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

oder dies für die Perl-Version:

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

…postfix neu laden.

/etc/init.d/postfix neu laden

Spf-Check in Aktion:

Jan 4 15:50:11 Server postfix/smtpd[19096]:NOQUEUE:ablehnen:RCPT von g230068165.adsl.alicedsl.de[92.230.68.165]:550 5.7.1 :Recipient Adresse zurückgewiesen:Nachricht zurückgewiesen wegen:SPF-Fehler - nicht autorisiert. Siehe http://www.openspf.org/Why?s=helo;id=paxxxxxn.com;ip=92.230.68.165;[email protected]; from= to= proto=ESMTP helo=

Greylist

Greylisting ist eine Methode zum Schutz von E-Mail-Benutzern vor Spam. Ein Mail Transfer Agent (MTA), der Greylisting verwendet, wird jede E-Mail von einem Absender, den er nicht erkennt, "vorübergehend ablehnen". Wenn die E-Mail legitim ist, versucht es der Ursprungsserver nach einer Verzögerung erneut, und wenn ausreichend Zeit verstrichen ist, wird die E-Mail akzeptiert.

Postgrey installieren (Debian, Ubuntu):

apt-get install postgrey

Die Konfigurationsoptionen befinden sich in /etc/default/postgrey (Standardverzögerung ist 5 min).

Bearbeiten Sie main.cf und fügen Sie check_policy_service inet:127.0.0.1:10023 am Ende von smtpd_recipient_restrictions:

hinzu
smtpd_recipient_restrictions =permission_mynetworks, permission_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, abgelehnt_unauth_destination, abgelehnte_unbekannte_empfängerdomäne, check_policy_service unix:private/policy-spf,check_policy_service inet:127.0.2.3:10.0.0 

…postfix neu laden:

/etc/init.d/postfix neu laden

Greylist in Aktion:

Jan 10 17:38:57 Server postfix/smtpd[21302]:NOQUEUE:ablehnen:RCPT von mailout-de.gmx.net[213.165.64.22]:451 4.7.1 :Recipient Adresse abgelehnt:Greylisting aktiv, bitte kommen Sie später wieder; from= to= proto=SMTP helo=

DNSBL (DNS-basierte Blacklist/Blocklist)

Ein DNSBL ist eine Liste von IP-Adressen, die über den Internet Domain Name Service (DNS) veröffentlicht wird, entweder als Zonendatei, die von der DNS-Serversoftware verwendet werden kann, oder als Live-DNS-Zone, die in Echtzeit abgefragt werden kann. DNSBLs werden am häufigsten verwendet, um die Adressen von Computern oder Netzwerken zu veröffentlichen, die mit Spam in Verbindung stehen; Die meisten Mail-Server-Programme können so konfiguriert werden, dass sie Nachrichten ablehnen oder kennzeichnen, die von einer Site gesendet wurden, die auf einer oder mehreren solcher Listen aufgeführt ist. Dies kann das Auflisten der Adressen von Zombie-Computern oder anderen Maschinen, die zum Versenden von Spam verwendet werden, das Auflisten der Adressen von ISPs, die bereitwillig Spammer hosten, oder das Auflisten von Adressen, die Spam an ein Honeypot-System gesendet haben, beinhalten. Fügen Sie einfach eine Live-DNS-Zone für Abfragen in die Datei main.cf ein.

In meinem Beispiel werde ich zwei Listen mit sehr gutem Ruf verwenden (am Ende von smtpd_client_restrictions hinzugefügt):

smtpd_client_restrictions =zulassen_meineNetzwerke, zulassen_sasl_authenticated, abgelehnter_unbekannter_Client_Hostname, check_client_access mysql:/etc/postfix/mysql-virtual_client.cf, abgelehnter_rbl_client cbl.abuseat.org, abgelehnter_rbl_client b.barracudacentral.org

rbl in Aktion:

12. Januar 01:52:42 Server postfix/smtpd[4616]:NOQUEUE:ablehnen:RCPT von 89.pool85-49-26.dynamic.orange.es[85.49.26.89]:554 5.7.1 Dienst nicht verfügbar; Client-Host [85.49.26.89] blockiert mit cbl.abuseat.org; Blockiert - siehe http://cbl.abuseat.org/lookup.cgi?ip=85.49.26.89; from= to= proto=SMTP helo=11. Januar 20:13:58 Server postfix/smtpd[29591]:NOQUEUE:ablehnen:RCPT von 93 -87-122-56.dynamic.isp.telekom.rs[93.87.122.56]:554 5.7.1 Dienst nicht verfügbar; Client-Host [93.87.122.56] blockiert mit b.barracudacentral.org; http://www.barracudanetworks.com/reputation/?pr=1&ip=93.87.122.56; from= to= proto=ESMTP helo=

Postscreening

Hinweis:Diese Funktion ist in Postfix 2.8 und höher verfügbar

Der Postfix-Postscreen-Daemon bietet zusätzlichen Schutz vor Überlastung des Mailservers. Ein Postscreen-Prozess verarbeitet mehrere eingehende SMTP-Verbindungen und entscheidet, welche Clients mit einem Postfix-SMTP-Serverprozess kommunizieren dürfen. Indem Spambots ferngehalten werden, lässt Postscreen mehr SMTP-Serverprozesse für legitime Clients verfügbar und verzögert das Einsetzen von Serverüberlastungsbedingungen.

Die größte Herausforderung für das Postscreening besteht darin, auf der Grundlage einer einzigen Messung eine „Ist es ein Zombie“-Entscheidung zu treffen. Dies ist notwendig, da viele Zombies versuchen, unter dem Radar zu fliegen und zu vermeiden, dieselbe Seite wiederholt zu spammen. Sobald Postscreen entscheidet, dass ein Client kein Zombie ist, wird der Client vorübergehend auf die Whitelist gesetzt, um weitere Verzögerungen für legitime E-Mails zu vermeiden.

Wir werden für dieses Tutorial die Standardeinstellungen mit einer Ausnahme verwenden. Diese Einstellungen sind für die meisten Situationen ausreichend

Zuerst fügen wir eine Zeile zu main.cf hinzu mit dem Befehl:

postscreen_greet_action =erzwingen

Zweitens fügen wir postscreen und einige neue Dienste zu master.cf hinzu. Hinweis:Diese Einstellungen können bereits vorhanden sein, kommentieren Sie sie einfach aus. Stellen Sie außerdem sicher, dass die Zeile „smtp inet ... smtpd“ einschließlich aller Parameter auskommentiert ist (gegebenenfalls müssen Parameter in den neuen smtpd-Dienst verschoben werden).

# Konfigurationsdatei des Postfix-Master-Prozesses. Einzelheiten zum Format# der Datei finden Sie auf der Handbuchseite von master(5) (Befehl:"man 5 master").## Vergessen Sie nicht, "postfix reload" auszuführen, nachdem Sie diese Datei bearbeitet haben.## =======================================================================# Diensttyp privat unprivat chroot wakeup maxproc Befehl + args# (ja) (ja) (ja) (nie) (100)# =======================================================================#smtp inet n - - - - smtpd# -o ...smtpd pass - - n - - smtpd -o ... # Parameter vom smtp-Dienst zum neuen smtpd-Dienst verschoben. (falls vorhanden) smtp inet n - n - 1 postscreentlsproxy unix - - n - 0 tlsproxydnsblog unix - - n - 0 dnsblog

Jetzt laden wir postfix neu:

/etc/init.d/postfix neu laden

Panels
  1. Installieren Sie Horde 5 Webmail für ISPConfig auf Debian Jessie über PEAR

  2. 15 Linux-Härtungsschritte für CentOS 7 Server

  3. Blockieren des Empfangs vollständiger TLDs

  4. Härtung der SSL-Sicherheit in Apache, Dovecot und Postfix

  5. Empfohlener Mailinglisten-Manager für die Verwendung mit Postfix?

So installieren Sie PHP 5.6 als zusätzliches PHP-FPM &FastCGI für ISPConfig 3.1 auf Ubuntu 16.04

So installieren Sie PHP 7.1.16 als PHP-FPM &FastCGI für ISPConfig 3.1 auf Debian 8 (Jessie)

So installieren Sie PHP 7.1, 7.2 und 5.6 als PHP-FPM &FastCGI für ISPConfig 3 auf Debian 9

Wie richte ich Tls für Postfix unter Ubuntu ein?

SiteApps für Joomla einrichten

ISPConfig Monitor-App für Android