Greylisting ist eine feine Sache und kann ohne viel Aufwand im Postfix implementiert werden. Dadurch wird eine groß zahl von Spam Mails schon abgeblockt.
Unter Ubuntu / Debian ist sqlgrey einfach zu installieren.
apt-get install sqlgrey
Dann noch die Config an die mysql Daten anpassen.
nano /etc/sqlgrey/sqlgrey.conf
db_type = mysql
db_name = sqlgrey
db_host = localhost
db_port = default
db_user = sqlgrey
db_pass = dein_supergekeimes_passwort
Keine Ahnung warum aber unter Ubuntu 18 kann sqlgray die MySQL Tabellen nicht anlegen. Deswegen hier mal die Tabellen die anzulegen sind.
DROP TABLE IF EXISTS `config`;
CREATE TABLE `config` (
`parameter` varchar(255) NOT NULL,
`value` varchar(255) DEFAULT NULL,
PRIMARY KEY (`parameter`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `connect`;
CREATE TABLE `connect` (
`sender_name` varchar(64) NOT NULL,
`sender_domain` varchar(255) NOT NULL,
`src` varchar(39) NOT NULL,
`rcpt` varchar(255) NOT NULL,
`first_seen` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
KEY `connect_idx` (`src`,`sender_domain`,`sender_name`),
KEY `connect_fseen` (`first_seen`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `domain_awl`;
CREATE TABLE `domain_awl` (
`sender_domain` varchar(255) NOT NULL,
`src` varchar(39) NOT NULL,
`first_seen` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`last_seen` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`src`,`sender_domain`),
KEY `domain_awl_lseen` (`last_seen`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `from_awl`;
CREATE TABLE `from_awl` (
`sender_name` varchar(64) NOT NULL,
`sender_domain` varchar(255) NOT NULL,
`src` varchar(39) NOT NULL,
`first_seen` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`last_seen` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`src`,`sender_domain`,`sender_name`),
KEY `from_awl_lseen` (`last_seen`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `optin_domain`;
CREATE TABLE `optin_domain` (
`domain` varchar(255) NOT NULL,
PRIMARY KEY (`domain`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `optin_email`;
CREATE TABLE `optin_email` (
`email` varchar(255) NOT NULL,
PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `optout_domain`;
CREATE TABLE `optout_domain` (
`domain` varchar(255) NOT NULL,
PRIMARY KEY (`domain`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
DROP TABLE IF EXISTS `optout_email`;
CREATE TABLE `optout_email` (
`email` varchar(255) NOT NULL,
PRIMARY KEY (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Anschließenden den sqlgray deamon neu starten
service sqlgrey restart
service sqlgrey status
Jetzt muss noch beim Postfix folgende Zeile hinzugefügt werden
nano /etc/postfix/main.cf
smtpd_recipient_restrictions = permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
reject_unauth_pipelining,
reject_non_fqdn_recipient
# Sqlgrey
check_policy_service inet:[127.0.0.1]:2501,
permit
Und den Postfix neu starten
Schreibe einen Kommentar