Greylisting - Linux

Transcrição

Greylisting - Linux
20.01.2017 21:00.
1/4
Greylisting
Greylisting
Ein auf SPAM-Versand optimiertes System, wird in aller regel sehr viel daran gelegen sein, möglichst
eine große Anzahl von Nachrichten in möglichst kürzester Zeit zu verschicken. Jede Verzögerung beim
SPAM-Versand wird sich äußerst ungünstig auf die Erfolgsquote des Versenders auswirken.
Hintergrund beim Thema greylisting ist nun, unbekannte Einlieferer mit einem temporären Fehler
abzuweisen und so eine erneute erstmalige Zeitverzögerung zu erzwingen. Vergleichbar mit einer
belegten Rufnummer bei einem Faksimilegerät.
Lediglich der aus den einschlägigen BSI1) verschickten SPAMs lässt sich so nicht beikommen. Hier
kann aber mit dem policyd-weight ein weiteres wichtiges Werkzeug in die Waagschale geworfen
werden.
Beides, greylisting wie auch policyd-weight setzen auf das PDP2) von Postfix auf. Mit Hilfe des
Policy Delegation Protocols besitzt Postfix eine mächtige Schnittstelle, an der u.a. die wichtigsten
Merkmale einer angebotenen eMail an eine externe Instanz zur Prüfung und Bewertung
weitergegeben wird und anschließend darüber eine Entscheidung mitgeteilt bekommt, was mit der
eMail passieren soll.
postgrey installieren
Für Centos steht ein RPM bereit, welches wir wie gewohnt einfach installieren.
yum install postgrey
postgrey konfigurieren
Eigentlich muss man nicht postgrey sondern postfix konfigurieren.
Wir fügen also in unsere /etc/postfix/main.cf folgende Option nach # RBL überprüfen (Kapitel
10.11 Realtime Blackhole Lists) mit ein:
# Greylisting via postgrey checken via Unix-Socket
postgrey installieren)
check_policy_service unix:postgrey/socket,
(Kapitel 9.2.5
postgrey starten
Beim vorliegenden postgrey-RPM ist neben der Festlegung von User- und Dateirechten auch gleich ein
passendes Startupscript installiert worden. Somit reicht ein einfaches service postgrey start aus:
service postgrey start
Mit einem Blick in die Prozessliste können wir uns vergewissern, ob der daemon auch gestartet
Linux - Wissensdatenbank - https://dokuwiki.nausch.org/
Last update:
03.01.2011
17:48.
centos:mailserver:greylisting_mit_postgrey https://dokuwiki.nausch.org/doku.php/centos:mailserver:greylisting_mit_postgrey
wurde:
# ps auxw | grep postgrey
postgrey 8228 0.0 3.1 13220 8076 ?
Ss
Oct09
0:01
/usr/sbin/postgrey -d --unix=/var/spool/postfix/postgrey/socket
Selbstverständlich „verewigt“ sich postgrey auch im Logfile unseres Mailservers:
Oct 13 21:37:35 nss postgrey[21879]: Process Backgrounded
Oct 13 21:37:35 nss postgrey[21879]: 2008/10/13-21:37:35 postgrey (type
Net::Server::Multiplex) starting! pid(21879)
Oct 13 21:37:35 nss postgrey[21879]: Binding to UNIX socket file
/var/spool/postfix/postgrey/socket using SOCK_STREAM
Oct 13 21:37:35 nss postgrey[21879]: Setting gid to "104 104"
Oct 13 21:37:35 nss postgrey[21879]: Setting uid to "101"
automatisches Starten des Dienste beim Systemstart
Damit der postgrey-Daemon automatisch bei jedem Systemstart startet, denn ohne laufenden
postgrey verweigert nun unser postfix die Annahme der Nachrichten, kann die Einrichtung des
Start-Scripte über folgenden Befehle erreicht werden:
# chkconfig postgrey on
Die Überprüfungung ob die beiden Dienste (Daemons) postfix und postgrey wirklich bei jedem
Systemstart automatisch mit gestartet werden, kann durch folgenden Befehle erreicht werden:
# chkconfig --list | grep post*
postfix
0:Aus
1:Aus
2:Ein
postgrey
0:Aus
1:Aus
2:Ein
3:Ein
3:Ein
4:Ein
4:Ein
5:Ein
5:Ein
6:Aus
6:Aus
Wichtig sind jeweils die Schalter on bei den Runleveln - 2 3 4 5.
Ausnahmeregelungen
für Empfänger
Sollen einzelne Empfänger vom greylisting ausgenommen werden, wie z.B. die Role-Accounts abuse
und postmaster, so definieren wir diese in der Ausnahmedatei postgrey_whitelist_recipients.
#
#
#
#
#
cat postgrey_whitelist_recipients
postgrey whitelist for mail recipients
-------------------------------------put this file in /etc/postfix or specify its path
with --whitelist-recipients=xxx
https://dokuwiki.nausch.org/
Printed on 20.01.2017 21:00.
20.01.2017 21:00.
3/4
Greylisting
postmaster@
abuse@
für Absender
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
mit dem Tribble aus HELO , IP-Adresse und Reverse-Lookup entstehen. Diese schalten wir dann
bei Bedarf in der postgrey_whitelist_clients frei.
vim /etc/postfix/postgrey_whitelist_clients
# 2008-10-08: 1und1.com (big pool, inserted by Django)
#moutng.kundenserver.de
/^.*\.kundenserver\.de$/
erfolgreiches Greylisting
Am nachfolgenden Beispiel sehen wir, dass ein Connectversuch von einem uns unbekanntem
Mailserver erst einmal mit einem 450er abgewiesen wird und später nocheinmal zugestellt werden
soll.
Oct 12 04:35:39 nss postfix/smtpd[16118]: connect from mail04.mytoysmail.de[213.61.120.248]
Oct 12 04:35:41 nss postgrey[8228]: action=greylist, reason=new,
client_name=mail04.mytoys-mail.de, client_address=213.61.120.248,
[email protected], [email protected]
Oct 12 04:35:41 nss postgrey[8228]: cleaning up old logs...
Oct 12 04:35:41 nss postfix/smtpd[16118]: NOQUEUE: reject: RCPT from
mail04.mytoys-mail.de[213.61.120.248]: 450 4.2.0 <[email protected]>:
Recipient address rejected: Greylisted, see
http://postgrey.schweikert.ch/help/nausch.org.html; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail04.mytoys-mail.de>
Oct 12 04:35:41 nss postfix/smtpd[16118]: disconnect from mail04.mytoysmail.de[213.61.120.248]
Beim nächsten Zustellversuch wird die eMail dann entsprechend akzeptiert:
Oct 12 11:28:39 nss postfix/smtpd[21938]: connect from mail04.mytoysmail.de[213.61.120.248]
Oct 12 11:28:41 nss postgrey[8228]: action=pass, reason=triplet found,
delay=24780, client_name=mail04.mytoys-mail.de,
client_address=213.61.120.248, [email protected],
[email protected]
Oct 12 11:28:41 nss postfix/smtpd[21938]: 4EA6476022D: client=mail04.mytoysmail.de[213.61.120.248]
Oct 12 11:28:41 nss postfix/cleanup[21942]: 4EA6476022D: messageLinux - Wissensdatenbank - https://dokuwiki.nausch.org/
Last update:
03.01.2011
17:48.
centos:mailserver:greylisting_mit_postgrey https://dokuwiki.nausch.org/doku.php/centos:mailserver:greylisting_mit_postgrey
id=<[email protected]>
Oct 12 11:28:41 nss postfix/qmgr[8783]: 4EA6476022D:
from=<[email protected]>, size=80786, nrcpt=1 (queue active)
Oct 12 11:28:41 nss postfix/local[21943]: 4EA6476022D:
to=<[email protected]>, relay=local, delay=2.1, delays=2/0.02/0/0.06,
dsn=2.0.0, status=sent (delivered to mailbox)
Oct 12 11:28:41 nss postfix/qmgr[8783]: 4EA6476022D: removed
Oct 12 11:31:13 nss postfix/smtpd[21938]: disconnect from mail04.mytoysmail.de[213.61.120.248]
1)
2)
Botnet Spam IP-Ranges
Policy Delegation Protocol
From:
https://dokuwiki.nausch.org/ - Linux - Wissensdatenbank
Permanent link:
https://dokuwiki.nausch.org/doku.php/centos:mailserver:greylisting_mit_postgrey
Last update: 03.01.2011 17:48.
https://dokuwiki.nausch.org/
Printed on 20.01.2017 21:00.