Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
centos:mail_c7:spam_2 [05.11.2014 18:33. ] – [systemd Startscript anlegen] djangocentos:mail_c7:spam_2 [22.07.2019 15:02. ] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== erweiterte gewichtete Prüfungen mittels policyd-weight ====== ====== erweiterte gewichtete Prüfungen mittels policyd-weight ======
-{{:centos:mail_c7:postfix-spam.png?nolink&125 |Bild: Symbolbild Postfix und SPAM}} Das zweite (wesentliche) Standbein bei unserer SPAM- und Schadcode-Prüfung von eMails kann der Policy-Dämon [[http://www.policyd-weight.org/|policyd-weight]] von [[http://selling-it.de|Robert Felber]]. Postfix leitet alle Client-Angaben bei der Einlieferung an den Policy-Dämon während des SMTP-Dialogs weiter, der dann eine Plausibilitätsprüfung vornimmt. Fälscht ein SPAMer den **HELO** Namen bzw. die Absenderangaben beim **MAIL FROM**, so wird dies ebenso bei der gewichteten Prüfung negativ bewertet, die das Vorhandensein, der Clioent-IP-Adresse auf einer oder mehreren RBLs. +{{:centos:mail_c7:postfix-spam.png?nolink&125 |Bild: Symbolbild Postfix und SPAM}} Das zweite (wesentliche) Standbein bei unserer SPAM- und Schadcode-Prüfung von eMails kann der Policy-Dämon [[http://www.policyd-weight.org/|policyd-weight]] von [[http://selling-it.de|Robert Felber]]. Postfix leitet alle Client-Angaben bei der Einlieferung an den Policy-Daemon während des SMTP-Dialogs weiter, der dann eine Plausibilitätsprüfung vornimmt. Fälscht ein SPAMer den **HELO** Namen bzw. die Absenderangaben beim **MAIL FROM**, so wird dies ebenso bei der gewichteten Prüfung negativ bewertet, die das Vorhandensein, der Client-IP-Adresse auf einer oder mehreren RBLs. 
  
 Policyd-weight nimmt vereinfacht und zusammengefasst folgende Prüfungen vor: Policyd-weight nimmt vereinfacht und zusammengefasst folgende Prüfungen vor:
-  - Passt der Hostname der beim **HELO** übertragen wurde, zu IP-Adresse und verweist seinerseits die IP-Adresse bei einer DNS reverse-Abfrage auf diesen Histnamen+  - Passt der Hostname der beim **HELO** übertragen wurde, zu IP-Adresse und verweist seinerseits die IP-Adresse bei einer DNS reverse-Abfrage auf diesen Hostnamen
-  - Steht die IP-Adresse des einliefernden Hosts auf mehreren Sperrlisten? Dabei unterscheidet der Policy-Dämon zwischen einzelnen RBLs und vergibt entsprechend negative Punkte, sofern die IP-Adresse gelistet ist aber auch positive Punkte, wenn die IP-Adresse eben nicht gelistet ist. +  - Steht die IP-Adresse des einliefernden Hosts auf mehreren Sperrlisten? Dabei unterscheidet der Policy-Daemon zwischen einzelnen RBLs und vergibt entsprechend negative Punkte, sofern die IP-Adresse gelistet ist aber auch positive Punkte, wenn die IP-Adresse eben nicht gelistet ist. 
  
 Wird bei der Prüfung durch das komplexe Regelwerk festgestellt, dass Kombinationen aus den oben genannten Punkten zu negativ aufgefallen sind, dann wird die weitere Bearbeitung beendet und die Annahme der eMail mit einem **500**er Fehler-Code final abgewiesen. Wird bei der Prüfung durch das komplexe Regelwerk festgestellt, dass Kombinationen aus den oben genannten Punkten zu negativ aufgefallen sind, dann wird die weitere Bearbeitung beendet und die Annahme der eMail mit einem **500**er Fehler-Code final abgewiesen.
Zeile 69: Zeile 69:
 </code> </code>
  
-Als nächstes schreiten wir direkt zur **[[centos:mail_c7:spam_2?&#konfiguration|Konfiguration]]**; d.h. wie überspringen das Kapitell "manuelle Installation".+Als nächstes schreiten wir direkt zur **[[centos:mail_c7:spam_2?&#konfiguration|Konfiguration]]**; d.h. wie überspringen das Kapitel "manuelle Installation".
  
 ==== manuell ==== ==== manuell ====
Zeile 396: Zeile 396:
 ===== Konfiguration ===== ===== Konfiguration =====
 ==== Ausnahmeregelungen für Absendeserver  ==== ==== Ausnahmeregelungen für Absendeserver  ====
-Leider kommt es auch vor, dass vor allem große Provider hinter ihren MX ein cluster betreiben, die mit wechselnden IP-Adrressen aus einem Pool aufschlagen. Damit können unter Umständen Probleme bei der Bewertung entstehen. Diese schalten wir dann bei Bedarf in der **policyd_weight_client_whitelist** frei.+Leider kommt es auch vor, dass vor allem große Provider hinter ihren MX ein cluster betreiben, die mit wechselnden IP-Adressen aus einem Pool aufschlagen. Damit können unter Umständen Probleme bei der Bewertung entstehen. Diese schalten wir dann bei Bedarf in der **policyd_weight_client_whitelist** frei.
  
  
Zeile 424: Zeile 424:
  
 ==== Postfix Konfiguration ==== ==== Postfix Konfiguration ====
-Bei den **smtpd_recipient_restrictions** tragen wir nun zur Aktivierung folgenden Eintrag nach dem greylisting-Eintrag ein.+Bei der [[centos:mail_c7:mta_4|Grundkonfiguration]] unseres Postfix-SMTP-Servers hatten wir bereits im Abschnitt [[centos:mail_c7:mta_4#smtp_recipient_restrictions|SMTP Recipient Restrictions]] die nötige Konfigurationszeile angelegt. Wir aktivieren also die zugehörigen beiden Optionen **check_client_access btree:/etc/postfix/policyd_weight_client_whitelist** und **check_policy_service inet:127.0.0.1:12525** in der Konfigurationsdatei.
    # vim /etc/postfix/main.cf    # vim /etc/postfix/main.cf
-<code bash>...    +<code bash>...
-# Greylisting via postgrey checken via Unix-Socket      (Kapitel 9.2.5 postgrey installieren) +
-        check_policy_service unix:postgrey/socket, +
-# Policyd-Weight check over TCP-Connection              (Kapitel 9.3 policyd-weight installieren) +
-        check_client_access btree:/etc/postfix/policyd_weight_client_whitelist, +
-        check_policy_service inet:127.0.0.1:12525, +
-... +
-</code>+
  
 +################################################################################
 +## SMTP RECIPIENT RESTRICTIONS
 +#
 +# Django : 2014-10-29 - Schutz unserer Empfänger mit Hilfe der Recipient 
 +#          Restrictions 
 +# default: smtpd_recipient_restrictions =
 +smtpd_recipient_restrictions =
 +#          Postmaster, abuse und andere aufgaben- oder funktionsgebundene 
 +#          eMail-Adressen (Role-Accounts) whitelisten
 +           check_recipient_access btree:/etc/postfix/access_recipient-rfc
  
 +#          Black- und Whitelisting       (Kapitel 8.2.3 White- und Blacklisting)
 +           check_client_access cidr:/etc/postfix/access_client
 +           check_helo_access btree:/etc/postfix/access_helo
 +           check_sender_access btree:/etc/postfix/access_sender
 +           check_recipient_access btree:/etc/postfix/access_recipient
  
 +#          Unsere eigenen Nutzer zulassen-/erlauben             
 +#                                (Kapitel 8.2.2 Relaying erlauben und verbieten)
 +           permit_sasl_authenticated
 +           permit_mynetworks
  
 +#          RBL überprüfen               (Kapitel 10.11 Realtime Blackhole Lists)
 +           reject_rbl_client zen.spamhaus.org
 +           reject_rbl_client ix.dnsbl.manitu.net
 +           reject_rbl_client bl.spamcop.net
 +           reject_rhsbl_client multi.uribl.com
  
 +#          Greylisting via postgrey checken via Unix-Socket
 +#                                          (Kapitel 9.2.5 postgrey installieren)
 +           check_policy_service unix:postgrey/socket
  
 +#          Policyd-Weight check over TCP-Connection 
 +#                                      (Kapitel 9.3 policyd-weight installieren)
 +           check_client_access btree:/etc/postfix/policyd_weight_client_whitelist
 +           check_policy_service inet:127.0.0.1:12525
  
 +#          Dynamische Prüfung auf existente Relay-Empfänger
 +#                            (Kapitel 12.2.2 Dynamische Empfänger-Verifizierung)
 +           reject_unverified_recipient
 +
 +#          Backupserver (MX) erlauben
 +           permit_mx_backup
 +
 +#          alles andere an relaying verbieten   
 +#                                (Kapitel 8.2.2 Relaying erlauben und verbieten)
 +           reject_unauth_destination
 +
 +#          Quota-Status-Policy-Daemon am Dovecot-Backend-System
 +#          Dovecotbuch (ISBN 978-3-95539-74-7) Seite 219 ff.  
 +#                          (Kapitel 11.11 "Der Quota-Policy-Server für Postfix")
 +           check_policy_service inet:10.0.0.77:10000
 +
 +#          Zu guter Letzt alles durchlassen, was bis jetzt noch nicht 
 +#          beanstandet wurde
 +           permit
 +</code>
  
 ===== Programmstart ===== ===== Programmstart =====
 +Das Starten des Daemon erfolgt über folgenden Aufruf.
    # systemctl start policyd-weight    # systemctl start policyd-weight
  
 +Den erfolgreichen Start bzw. den Status des policyd-weight Daemon können wir bei Bedarf mit folgendem Aufruf abfragen.
    # systemctl status policyd-weight    # systemctl status policyd-weight
 <code>policyd-weight.service - policyd-weight is a Perl policy daemon for the Postfix MTA (2.1 and later) intended to eliminate forged envelope senders and HELOs (i.e. in bogus mails). <code>policyd-weight.service - policyd-weight is a Perl policy daemon for the Postfix MTA (2.1 and later) intended to eliminate forged envelope senders and HELOs (i.e. in bogus mails).
Zeile 462: Zeile 508:
 </code> </code>
  
 +Im Maillog wird der Start des Daemon entsprechend dokumentiert.
    # less /var/log/maillog    # less /var/log/maillog
 <code>Nov  5 16:46:56 vml000087 postfix/policyd-weight[6316]: policyd-weight 0.1.15 beta-2 started and daemonized. conf:/etc/policyd-weight.conf; GID:995 995 EGID:995 995 UID:995 EUID:995; taint mode: 0 <code>Nov  5 16:46:56 vml000087 postfix/policyd-weight[6316]: policyd-weight 0.1.15 beta-2 started and daemonized. conf:/etc/policyd-weight.conf; GID:995 995 EGID:995 995 UID:995 EUID:995; taint mode: 0
Zeile 468: Zeile 515:
 </code> </code>
  
 +Mit Hilfe von **netstat** können wir überprüfen, ob der Port **12525** geöffnet wurde.
    # netstat -tulpen    # netstat -tulpen
 <code>Active Internet connections (only servers) <code>Active Internet connections (only servers)
Zeile 486: Zeile 533:
 udp        0      0 127.0.0.1:323           0.0.0.0:                                   20920      594/chronyd          udp        0      0 127.0.0.1:323           0.0.0.0:                                   20920      594/chronyd         
 </code> </code>
 +
 +Gleiches können wir natürlich auch mit dem Befehl **lsof** erreichen.
    # lsof -i:12525    # lsof -i:12525
  
Zeile 491: Zeile 540:
    policyd-w 6316 polw    4u  IPv4  67780      0t0  TCP localhost:12525 (LISTEN)    policyd-w 6316 polw    4u  IPv4  67780      0t0  TCP localhost:12525 (LISTEN)
  
 +Damit der Daemon automatisch beim Hochfahren des Servers gestartet wird, nutzen wir folgenden Aufruf.
    # systemctl enable policyd-weight.service    # systemctl enable policyd-weight.service
  
    ln -s '/usr/lib/systemd/system/policyd-weight.service' '/etc/systemd/system/multi-user.target.wants/policyd-weight.service'    ln -s '/usr/lib/systemd/system/policyd-weight.service' '/etc/systemd/system/multi-user.target.wants/policyd-weight.service'
 +
 +Wollen wir überprüfen ob der Dienst automatisch startet, verwenden wir folgenden Aufruf. 
  
    # systemctl is-enabled policyd-weight.service    # systemctl is-enabled policyd-weight.service
Zeile 500: Zeile 551:
    enabled    enabled
  
- +Die Rückmeldung **enabled** zeigt an, dass der Dienst automatisch startet; ein **disabled** zeigt entsprechend an, dass der Dienst __nicht__ automatisch startet.
- +
- +
- +
- +
- +
- +
- +
- +
- +
  
 ===== Bewertungsbeispiele ===== ===== Bewertungsbeispiele =====
Zeile 548: Zeile 589:
   - **Daemon starten** <code># systemctl start policyd-weight start</code>   - **Daemon starten** <code># systemctl start policyd-weight start</code>
  
 +===== FAZIT =====
 +Der Policy-Daemon **policyd-weight** hat sich, wie auch **[[centos:mail_c7:spam_1|greylisting]]** in der Abwehr von SPAM und anderen unerwünschten Verkehrs bestens bewährt, kann so doch jede Menge des unerwünschten Traffics abgelehnt werden.
 +
 +Da aber der Dienst **rfc-ignorant.org** mittlerweilen den Dienst eingestellt hat und die Gewichtung der unterschiedlichen Gewichtung von **[[http://de.wikipedia.org/wiki/DNS-based_Blackhole_List|DNSBL]]**s der Postfix Daemon **[[centos:mail_c7:spam_3|postscreen]]** bestens beherrscht, ist der Einsatz von **policyd-weight** gut zu überlegen!
 +
 +<WRAP center round tip>
 +**summa sumarum:**
 +
 +Wie auch schon beim **[[centos:mail_c7:spam_1|greylisting]]** setzt man statt auf **greylisting** und auf **policyd-weight** nunmehr besser auf **[[centos:mail_c7:spam_3|postscreen]]**!
 +
 +</WRAP>
  
 +====== Links ======
 +  * **⇐ [[centos:mail_c7:spam_1|Zurück zum Kapitel "SPAM-Abwehr mit Hilfe von Greylisting"]]**
 +  * **⇒ [[centos:mail_c7:spam_3|Weiter zum Kapitel "Postscreen - Schutz vor Überbelastung und SPAM-Abwehr"]]**
 +  * **[[centos:mail_c7:start|Zurück zum Kapitel >>Mailserverinstallation unter CentOS 7<<]]**
 +  * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**
 +  * **[[http://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
  
  
  • centos/mail_c7/spam_2.1415212431.txt.gz
  • Zuletzt geändert: 05.11.2014 18:33.
  • von django