14.04.2008: Postgrey (Greylisting) + Debian Installation

Für Debian gibt es verschiedene Möglichkeiten Greylisting einzurichten. Besonders praktisch ist dabei postgrey, dass auf einer MySQL-DB basiert und so einfach die White- und Greylisten gepflegt werden können.

Installation

aptitude update
aptitude install postfix-gld

Tabellen in einer MySQL Datenbank anlegen

CREATE TABLE greylist (
ip char(16) NOT NULL default '',
sender char(242) NOT NULL default '',
recipient char(242) NOT NULL default '', first int(11) NOT NULL default '0',
last int(11) NOT NULL default '0',
n int(11) NOT NULL default '0',
PRIMARY KEY (ip,sender,recipient)
) TYPE=MyISAM COMMENT='greylist'; 

CREATE TABLE whitelist (
mail char(242) NOT NULL default '',
comment char(242) NOT NULL default '',
PRIMARY KEY (mail)
) TYPE=MyISAM;

Conf Files anpassen und öffnen

nano /etc/gld.conf

#/etc/gld.conf
#-------------------------------------------
PORT=2525 # port to listen to
LOOPBACKONLY=1 # and only on 127.0.0.1
MAXCON=100 # max. connections
MINTIME=300 # 5 minutes greylisting before accepting message
LIGHTGREY=0 # do exact host match, don't accept the class C net around it WHITELIST=0 # don't do whitelisting - we use /etc/postfix/access for that ERRACCEPT=1 # fail graciously
UPDATE=1 # update "last used" fields for easier maintenance
SYSLOG=1 # log to syslog
FACILITY=mail # as MAIL facility
MESSAGE=Temporarily held back, please try again in one hour or so.
### MySQL
SQLHOST=localhost
SQLUSER=GREYUSERNAME
SQLPASSWD=gldpassword
SQLDB=GREYDATABASE

### user, pwd and db are set to "gld" by default, better change that
### unless you've installed from Debian Sarge which installs the proper
### database along with the script installation

Den fett markierten Part der Konfigurationsdatei anpassen und die Daten der MySQL Datenbank eintragen.

Postgrey aktivieren

Die Datei /etc/default/gld öffnen:

nano /etc/default/gld

und

ENABLED=1

setzen.

Jetzt können wir Postgrey starten:

/etc/init.d/gld start

Postfix anpassen

nano /etc/postfix/main.conf

main.conf öffnen und bei den smtpd_recipient_restrictions folgenden Teil ergänzen:

check_policy_service inet:127.0.0.1:2525

Danach Postfix neu starten

/etc/init.d/postfix restart

Mit tail –f /var/log/mail.info das Mail Logfile beobachten und wenn folgender Eintrag auftaucht, dann funktioniert das Greylisting (kann man auch in der DB nachvollziehen):

Nov 27 18:42:02 servername gld: Greylist activated for recipient=name@domain.de sender=sender@domain.de ip=<xx.xxx.xxx.xxx> Nov 27 18:42:02 servername postfix/smtpd[27367]: NOQUEUE: reject: RCPT from do-main2go.net[80.190.248.203]: 450 name@domain.de: Recipient address rejected: Temporarily held back, please try again in one hour or so.; from=sender@domain.de to=name@domain.de proto=ESMTP helo=servername


Kommentare

No comments

Kommentar schreiben

Anmerkung hinzufügen

* - obligatorisches Feld

*

*


*