Im folgenden Tutorial behandeln wir das Verfahren zur Installation und Integration von SpamAssassin mit Exim auf einem CentOS 7 Linux VPS . Sobald die Einrichtung abgeschlossen ist, wird SpamAssassin kann die als SPAM erkannten E-Mails scannen und markieren.
Was ist SpamAssassin?
Es ist ein Softwareprogramm, das unter der Apache-Lizenz 2.0 veröffentlicht wurde und für die E-Mail-Spam-Filterung verwendet wird basierend auf Content-Matching-Regeln. Es ist ein sehr intelligenter E-Mail-Filter die eine Vielzahl von Tests verwendet um unerwünschte Massen-E-Mails zu identifizieren und die Tests auf E-Mail-Header und -Inhalte anzuwenden um E-Mails mit fortgeschrittenen statistischen Methoden zu klassifizieren.
Bevor Sie fortfahren, vergewissern Sie sich, dass Sie einen Mailserver mit Exim haben Einrichtung auf Ihrem virtuellen SSD-Server. Sie können unserem großartigen Artikel zum Einrichten eines Mailservers mit Exim und Dovecot auf einem CentOS 7-VPS folgen, wenn Sie Exim noch nicht auf Ihrem Linux-VPS eingerichtet haben.
SYSTEM AKTUALISIEREN
ssh
zu Ihrem Server und starten Sie einen screen
Sitzung mit dem folgenden Befehl:
## screen -U -S exim-spamd
sobald Sie sich in einem screen
befinden Sitzung, aktualisieren Sie Ihren CentOS 7 VPS mit yum
wie in:
## yum update
SPAMASSASSIN INSTALLIEREN
SpamAssassin ist in CentOS 7 verfügbar base
Repository, sodass Sie es einfach mit yum
installieren können :
## yum install spamassassin
Bearbeiten Sie nach der Installation /etc/mail/spamassassin/local.cf
Verwenden Sie Ihren bevorzugten Editor und stellen Sie Folgendes ein:
## vim /etc/mail/spamassassin/local.cf required_hits 5 report_safe 0 rewrite_header Subject [SPAM] required_score 5.0
Wenn alles vorhanden ist, fahren Sie mit dem Starten von spamassassin fort und fügen Sie es mit systemctl
zum Start Ihres Systems hinzu
## systemctl start spamassassin ## systemctl status spamassassin ## systemctl enable spamassassin
Aktualisieren Sie die Spamassassin-Regeln mit:
## sa-update --nogpg
Überprüfen Sie als Nächstes, ob spamassassin localhost (127.0.0.1) auf Port 783 mit ss
abhört von iproute2
:
## ss -tnlp | grep spamd LISTEN 0 0 127.0.0.1:783 *:* users:(("spamd child",1207,5),("spamd child",1206,5),("/usr/bin/spamd ",1205,5))
EXIM MIT SPAMASSASSIN KONFIGURIEREN
OK, als nächstes müssen Sie Exim so konfigurieren, dass es Spamassassin verwendet zum Scannen und Markieren unerwünschter E-Mails als SPAM. Erstellen Sie also eine Sicherungskopie Ihrer aktuellen Exim-Konfigurationsdatei mit:
## cp /etc/exim/exim.conf{,.backup-no-spamd}
Als nächstes bearbeiten Sie exim.conf
und fügen Sie am Anfang der Datei die folgende Zeile hinzu:
## vim /etc/exim/exim.conf system_filter = /etc/exim/filters
Fügen Sie als Nächstes die spamd_address
hinzu oder kommentieren Sie sie aus Zeile wie in:
## vim /etc/exim/exim.conf spamd_address = 127.0.0.1 783
und fügen Sie Folgendes innerhalb der ACLs
hinzu Abschnitt in Ihrer Exim-Konfigurationsdatei:
## vim /etc/exim/exim.conf # Bypass SpamAssassin checks if the message is too large. # accept condition = ${if >={$message_size}{100000} {1}} add_header = X-Spam-Note: SpamAssassin run bypassed due to message size # Run SpamAssassin, but allow for it to fail or time out. Add a warning message # and accept the mail if that happens. Add an X-Spam-Flag: header if the SA # score exceeds the SA system threshold. # warn spam = nobody/defer_ok add_header = X-Spam-Flag: YES add_header = X-Spam-Subject: [SPAM] $h_Subject accept condition = ${if !def:spam_score_int {1}} add_header = X-Spam-Note: SpamAssassin invocation failed # Unconditionally add score and report headers # warn add_header = X-Spam-Score: $spam_score ($spam_bar)\n\ X-Spam-Report: $spam_report
Erstellen Sie als Nächstes die folgenden Exim-Systemfilter in /etc/exim/filters
:
## vim /etc/exim/filters if $h_X-Spam-Flag: contains "YES" then headers add "Old-Subject: $h_subject" headers remove "Subject" headers add "Subject: [SPAM] $h_old-subject" headers remove "Old-Subject" endif
und starten Sie Exim neu, damit die Änderungen wirksam werden:
## systemctl restart exim ## systemctl status exim
SPAMASSASSIN TESTEN
Um die Einrichtung zu testen, senden Sie einfach eine Test-E-Mail mit dem Betreff XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
zu jedem E-Mail-Konto, das auf dem Mailserver verfügbar ist, und Sie sollten die folgenden Zeilen im E-Mail-Header sehen:
X-Spam-Flag: YES X-Spam-Subject: [SPAM] XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X X-Spam-Score: 1000.0 (+++++++++++++++++++++++++++++++++++++++++++++++++++) X-Spam-Report: Spam detection software, running on the system "mail.mydomain.com", has identified this incoming email as possible spam. The original message has been attached to this so you can view it (if it isn't spam) or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: nov spam email [...] Content analysis details: (1000.0 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay domain 1000 GTUBE BODY: Generic Test for Unsolicited Bulk Email
LASS UNS DAS FÜR DICH TUN?
Natürlich müssen Sie nichts davon tun, wenn Sie einen unserer Linux-VPS-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unsere erfahrenen Linux-Administratoren bitten, SpamAssassin mit Exim zu installieren und zu integrieren . Sie sind rund um die Uhr erreichbar und kümmern sich umgehend um Ihr Anliegen.
PS. Wenn Ihnen dieser Beitrag gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken über die Schaltflächen auf der linken Seite oder hinterlassen Sie einfach unten eine Antwort. Danke.