Wer kennt das nicht? Man wird immer wieder von bestimmten Mail-Servern zugespammt.
Neben den Realtime Blackhole Lists (RBL's) kann auch eine eigene Blacklist Abhilfe schaffen - ich sehe das als Ergänzung dazu.
In der Datei /etc/postfix/main.cf muß in der Zeile mit dem Parameter smtpd_recipient_restrictions folgendes hinzugefügt werden:
| check_client_access mysql:/etc/postfix/mysql_trusted.cf |
Die Werte werden durch Kommata getrennt.
Die Zeile könnte z.B. so aussehen:
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_client_access mysql:/etc/postfix/mysql_trusted.cf, reject_invalid_hostname, reject_non_fqdn_hostname,
reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_unauth_destination, reject_unlisted_recipient, reject_unauth_pipelining |
Achtung! Bitte darauf achten, dass alles in einer Zeile steht, ohne Zeilenumbrüche!
Die Tabelle trusted muß jetzt noch angelegt werden, in meinem Bsp. in der Datenbank postfix:
CREATE TABLE `trusted` (
`id` int(5) NOT NULL auto_increment,
`host` varchar(100) NOT NULL,
`access` enum('OK','REJECT') NOT NULL default 'OK',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=15 ; |
Jetzt müssen wir die noch fehlende /etc/postfix/mysql_trusted.cf erstellt werden:
user = postfix
password = post
dbname = postfix
table = trusted
select_field = access
where_field = host
hosts = localhost |
Den Datenbank-Namen (dbname) und die Zugangsdaten (user, password) muß man entspr. anpassen.
Jetzt sollte man die neuen Einstellungen testen: /etc/init.d/postfix reload wenn der Dienst läuft, ansonsten /etc/init.d/postfix start.
Für den Test muß ein entsprechender Hostname oder eine IP-Adresse hier eingetragen und entweder mit dem Wert REJECT abgewiesen oder mit dem Wert OK authorisiert werden.