Server Support Forum
Anzeige:


Zurück   Server Support Forum > FAQs, Howto's & Anleitungen > FAQs & Anleitungen


Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 11 Stimmen, 4,64 durchschnittlich.
  #1  
Alt 08.05.2004, 06:19
Registered User
 
Registriert seit: 11.2003
Beiträge: 7.272
[Tutorial] SpamAssassin auf vServer mit Sendmail installieren

System vorbereiten:

Diesen User müsst ihr in /etc/passwd eintragen:
Code:
spamd:x:110:110:Spamassassin:/nonexistent:/bin/false
Dannach diese Gruppe in /etc/group hinzufügen:
Code:
spamd::110:
Dannach ladet ihr euch die Sourcen von Spamassassin herunter von:

http://www.spamassassin.org

Dannach entpacken:
Code:
tar -xzf Mail-Spamassassin-x.xx.tar.gz 
cd Mail-Spamassassin-x.xx 
perl Makefile.PL 
make all install
Jetzt ist Spamassassin auf dem Vserver installiert und der Deamon kann gestartet werden:
Code:
spamd -d -u spamd
Als nächstes müsst ihr ein Program namens "Milter" installieren.
Hier herunterladen:

http://savannah.nongnu.org/download/spamass-milt/

Code:
tar -xzf spamass-milter-x.x.x.tar.gz 
cd spamass-milter-x.x.x 
./configure 
make all install 
mkdir /var/spamd 
chown spamd:spamd /var/spamd 
chmod 755 /var/spamd 
spamass-milter -p /var/spamd/spamass-milter.sock -b caughtspam@your.domain.de -f
Wobei zu beachten ist: @your.domain.de muss natürlich noch auf eure Domain vom Server eingerichtet werden. Wenn auf eurem Server mehrere Domains laufen nehmt am besten die, die die Standart-Domain darstellt.

Nun müsst ihr Milter / Spamassassin in die Sendmail Config einbinden. Dazu öffnet ihr: /etc/mail/sendmail.mc und hängt am Ende der Datei folgendes an:
Code:
INPUT_MAIL_FILTER(`spamassassin',
S=local:/var/spamd/spamass-milter.sock, 
F=,T=C:15m;S:4m;R:4m;E:10m')
dnl define(`confINPUT_MAIL_FILTERS', `clmilter,spamassassin')
Nun müsst ihr das neue .mc File nocheinmal Kompilieren damit Sendmail die Änderungen übernimmt:
Code:
make -C /etc/mail
Ihr bekommt hier keine Ausgabe, höchstens ein "Now entering /etc/mail...Now leaving /etc/mail" Solltet ihr keine Fehler erhalten habt ihr alles richtig gemacht und Spamassassin ist in Sendmail "reinkompiliert"

Den Spam leitet spamass-milter an "caughtspam@your.domain.de" weiter. Eine elegante Möglichkeit, die ich auf meinem Mailserver verwende, ist ein Auto-Reply an den Absender, der Ihn darueber informiert, daß er Spam versendet hat.
Es gibt bei Spam 3 verschiedene Formen von Absendeaddressen oder Reply-To's:

1. Eine ge-fakte Addresse, an die nicht versandt werden kann
2. Eine echte Addresse, die einem unschuldigen Besitzer gehört
3. Eine echte Addresse und der Spam war gar kein Spam :-) (kommt selten vor)

Im 2. und 3. Fall ist ein Auto-Reply echt sinnvoll und im 1. Fall kommt dieser nicht an. Da wir jedoch meistens den 1. Fall haben, müssen wir uns vor den Mails von unserem sendmail schützen, die uns mitteilen, daß der Auto-Reply nicht versendet werden konnte. Daher versenden wir den Auto-Reply als "noreply@your.domain". Wie das ganze funktioniert schauen wir uns jetzt an.
Als erstes muss in /etc/mail/aliases die beiden Empfänger eingerichtet werden:
Code:
caughtspam: |"/usr/bin/echo_mail.pl" 
noreply: /dev/null
Damit wird "caughtspam" an unser Script geschickt, das einen Auto-Reply erzeugt und die Mail danach vernichtet. Alle Mails an "noreply" werden ebenfalls vernichtet und belästigen damit nicht den "postmaster". Nun braucht Ihr nur noch das nachfolgende Perlscript nach /usr/bin/echo_mail.pl kopieren und mit einem "chmod 755 /usr/bin/echo_mail.pl" ausführbar machen. Danach bekommt jeder "Spammer" einen netten Auto-Reply.
Code:
#!/usr/bin/perl
#
# (C) MaYmI 2004 under GPL
# 
use strict;

my $domain = "your.domain";
my ($buf,$mail,$rcpt,$status,$tmp,$length);

$status = 0;

while (read(STDIN,$buf,256)) {
        $mail .= $buf;
}

$length = length($mail);

if ($mail =~ /Subject: \[(.+)\].+\n/) {         # if true, this was a mailinglist
        $mail =~ /From:(.+)\n/;
        if ($1) {
                $rcpt = $1;
        } else {
                $status = 1;
        }
} else {
        $mail =~ /Reply-To:(.+)\n/;
        if ($1) {
                $rcpt = $1;
        } else {
                $mail =~ /From:(.+)\n/;
                if ($1) {
                        $rcpt = $1;
                } else {
                        $status = 1;
                }
        }
}

open (SENDMAIL,"|/usr/lib/sendmail -t");
print SENDMAIL <<EOF;
From: noreply\@$domain
To:$rcpt
Reply-To: noreply\@$domain
Subject: Your Mail was identified as spam / Ihre Mail wurde als Spam eingestuft
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="LQksG6bCIzRHxTLp"
Content-Disposition: inline
Content-Length: $length

--LQksG6bCIzRHxTLp
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline

------------------------------------------------------------
Hello,

your mail wasn't delivered because it's recogniced as spam.
Please verify the output attached to this mail and see why
this happend. This is an automatic mail. Replies to this
mail are redirected into the null-device.

regards,
The Webmaster
------------------------------------------------------------

--LQksG6bCIzRHxTLp
Content-Type: message/rfc822
Content-Disposition: inline

$mail

--LQksG6bCIzRHxTLp--


--LQksG6bCIzRHxTLp--

EOF
close (SENDMAIL);
Als letztes müsst ihr Sendmail neustarten. Je nach dem ob ihr es über Xinetd laufen habt oder als eigenen Service funktioniert das auf zwei verschiedene weisen:
Code:
Xinetd:
/etc/init.d/xinetd restart
ODER Sendmail:
/etc/ini.d/sendmail restart
FERTIG!

Thx @ Huschi the Husch - el Buffo für den Hinweis mit der .mc - http://www.maymi.de/content/unix/sendmail.php
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten

  #2  
Alt 08.05.2004, 11:11
Registered User
 
Registriert seit: 02.2004
Beiträge: 325
Daumen hoch

Vielen Dank! Das ist bestimmt für viele hilfreich.
Ich werde das nächste Woche mal ausprobieren
und darüber berichten.

Gruß

Martin
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #3  
Alt 09.05.2004, 09:46
Benutzerbild von Huschi
Häuptling der Apachen
 
Registriert seit: 09.2003
Ort: Nürnberg
Beiträge: 13.700
Blog-Einträge: 1

Super Howto, djrick.
Aber...
Zitat:
Zitat von djrick
Eine elegante Möglichkeit, die ich auf meinem Mailserver verwende, ist ein Auto-Reply an den Absender, der Ihn darueber informiert, daß er Spam versendet hat.
Ohne mal wieder eine Grundsatzdiskussion entfachen zu wollen, muß ich hier gegenhalten:
Wie manche wissen unterhalte ich mehrere (Kunden-)Server mit insgesammt ca. 40 Domains. Allein mein Mailaufkommen als Postmaster liegt bei weit über 100 Mail am Tag, die nur auto-Replys auf Spammails oder Virenmails sind, die gar nicht über den entsprechenden Server verschickt worden sind.
Ich denke aber, daß man das Perl-Script weiter ausbauen könnte um die Received-Zeilen des Mailheaders genauer zu untersuchen und festzustellen, ob die Mails wirklich von dem Server stammten, zu dem die Absenderdomain gehört.

huschi.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #4  
Alt 13.05.2004, 10:38
Registered User
 
Registriert seit: 05.2004
Beiträge: 2

Hallo.
Ich habe es nach dieser Anleitung mal versuch, hab leider noch ein kleines Problem! Er erkennt eine Mail als Spam, das funktioniert schonmal, jedoch der auto reply im perl script zickt rum
Hier ein Auszug aus meiner mail.log

Ich hoffe ihr könnt mir helfen

Gruß Akurion

-----------------------------------------------------------------------
May 13 10:30:38 akurion sm-mta[8462]: i4D8UciI008462: Milter message: body replaced
May 13 10:30:38 akurion smrsh: uid 8: attempt to use "echo_mail.pl" (stat failed)
May 13 10:30:38 akurion sm-mta[8466]: i4D8UciI008462: to=|"/usr/bin/echo_mail.pl", ctladdr=caughtspam@akurion.org (8/0), delay=00:00:00, xdelay=00:00:00, mailer=prog, pri=34186, dsn=5.0.0, stat=Service unavailable
May 13 10:30:38 akurion sm-mta[8466]: i4D8UciI008462: i4D8UciI008466: DSN: Service unavailable
-----------------------------------------------------------------------
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #5  
Alt 13.05.2004, 10:59
Benutzerbild von Huschi
Häuptling der Apachen
 
Registriert seit: 09.2003
Ort: Nürnberg
Beiträge: 13.700
Blog-Einträge: 1

Zitat:
Zitat von Akurion
May 13 10:30:38 akurion sm-mta[8466]: i4D8UciI008462: to=|"/usr/bin/echo_mail.pl", ctladdr=caughtspam@akurion.org (8/0), delay=00:00:00, xdelay=00:00:00, mailer=prog, pri=34186, dsn=5.0.0, stat=Service unavailable
Das klingt als ob Dein Perl-Script nicht funzt.
Dazu folgendes:
- Ist es im Unix-Format gespeichert? (nur LF am Zeilenende)
- Hast Du die Benutzerrechte richtig gesetzt? (chmod +x /usr/bin/echo_mail.pl)
- Hast Du die Syntax des Scripts getestet? (perl -c /usr/bin/echo_mail.pl)

huschi.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #6  
Alt 13.05.2004, 11:30
Registered User
 
Registriert seit: 05.2004
Beiträge: 2

1. denke schon, habs mit "vi" gepasted
2. ja, es hat die rechte "755"
3. /usr/bin/echo_mail.pl syntax OK


kann es vielleicht am sendmail selber liegen das er keine perl scripte ausführen mag?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #7  
Alt 13.05.2004, 14:44
Registered User
 
Registriert seit: 11.2003
Beiträge: 7.272

mal "per hand" ausgeführt, vielleicht liegts nicht am Script, unwahrscheinlich aber möglich...

Allerdings wie Huschi schon sagte: Wenn du zuviele Domains auf dem Server hast bzw zu viele Spammails bekommst, ist das Script sinnlos, weil es dann jede menge Mails verschicken würde. In dem Falle caughtsam auch an /dev/null weiterleiten.

Geändert von djrick (13.05.2004 um 14:47 Uhr)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #8  
Alt 13.05.2004, 19:52
Registered User
 
Registriert seit: 02.2004
Beiträge: 325
Frage Welcher Milter-Version??

Hallo,

da liegen 5 verschiedene Milter-Versionen auf dem Server, alle vom
gleichen Tag. Welche soll man ziehen für den VServer bei SFY?

Gruß

Martin
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #9  
Alt 13.05.2004, 20:18
Registered User
 
Registriert seit: 11.2003
Beiträge: 7.272

Zitat:
Zitat von fmschrader
da liegen 5 verschiedene Milter-Versionen auf dem Server, alle vom
gleichen Tag. Welche soll man ziehen für den VServer bei SFY?
Das aktuellste ist meistens das Beste.
Ich habe auf meinem vServer:
spamass-milter-0.2.0.tar.gz
installiert.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #10  
Alt 13.05.2004, 20:26
Registered User
 
Registriert seit: 02.2004
Beiträge: 325
Frage

Hallo,

jetzt habe ich die Version mit der höchsten Nr genommen.
Aber was soll ich mit dieser Fehlermeldung anfangen?
Sieht für mich nach einem Scriptfehler aus. Die Datei /etc/init.d/sendmail existiert. Aber müßte da nicht ein Leerzeichen folgen?

Gruß

Martin

[root@147234 spamass-milter-0.2.0]# spamass-milter -p /var/spamd/spamass-milter.
sock -b caughtspam@mschrader.info -f
[root@147234 spamass-milter-0.2.0]# make -C /etc/mail
make: Entering directory `/etc/mail'
make: *** Warning: File `sendmail.mc' has modification time in the future (2004-
05-13 20:19:23 > 2004-05-13 20:19:07.769169)
sendmail.mc:10: m4: Cannot open /etc/init.d/sendmail-cf/m4/cf.m4: No such file o
r directory
make: warning: Clock skew detected. Your build may be incomplete.
make: Leaving directory `/etc/mail'
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #11  
Alt 13.05.2004, 21:01
Registered User
 
Registriert seit: 02.2004
Beiträge: 325
Unglücklich

Tja, nun ist wohl was zerschossen worden.

Hier ein paar Zeilen aus meiner mail.log.

Sieht irgendwie nicht so aus, als würde ich im Augenblick
noch Mails erhalten, oder?

Kann damit jemand etwas anfangen?

Ciao

Martin
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #12  
Alt 13.05.2004, 21:02
Registered User
 
Registriert seit: 02.2004
Beiträge: 325

War zu schnell...

May 13 19:46:39 147234 spamd[7747]: server started on port 783/tcp (running version 2.63)
May 13 20:17:13 147234 spamass-milter[325]: spamass-milter 0.2.0 starting
May 13 20:22:09 147234 sendmail[2179]: NOQUEUE: SYSERR(root): No local mailer defined
May 13 20:22:09 147234 sendmail[2179]: NOQUEUE: SYSERR(root): QueueDirectory (Q) option must be set
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #13  
Alt 13.05.2004, 23:59
Registered User
 
Registriert seit: 02.2004
Beiträge: 325
Frage

Hallo zusammen,

jetzt mußte ich tatsächlich den teuren Support in Anspruch nehmen,
um wieder Mails zu bekommen. Das Problem wurde aber auch
auf Anhieb gelöst. Danke nochmal!

Nun läuft mein sendmail wieder, aber der Filter verweigert sich noch.

Kann jemand mit diesen Fehlermeldungen etwas anfangen?
Die Datei spamass-milter.sock ist wie oben beschrieben erstellt
worden.

Danke

Martin

May 13 23:51:07 147234 spamass-milter[25538]: spamass-milter 0.2.0 starting
May 13 23:54:00 147234 sendmail[29889]: i4DLrxLf029889: from=<fmschrader@t-online.de>, size=5587, class=0, nrcpts=1, msgid=<IOEHLEPHLKGLGLMOAGKMMEFKDBAA.mschrader@msch rader.info>, proto=ESMTP, relay=mailout05.sul.t-online.com [194.25.134.82]
May 13 23:54:00 147234 spamc[30147]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#1 of 3): Connection refused
May 13 23:54:01 147234 spamc[30147]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#2 of 3): Connection refused
May 13 23:54:02 147234 spamc[30147]: connect(AF_INET) to spamd at 127.0.0.1 failed, retrying (#3 of 3): Connection refused
May 13 23:54:03 147234 spamc[30147]: connection attempt to spamd aborted after 3 retries
May 13 23:54:04 147234 sendmail[5189]: i4DLrxLf029889: to=<info@logoversandservice.de>, delay=00:00:04, xdelay=00:00:01, mailer=esmtp, pri=30987, relay=mailin05.sul.t-online.de. [194.25.134.74], dsn=2.0.0, stat=Sent (Message accepted.)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #14  
Alt 14.05.2004, 10:22
Benutzerbild von Huschi
Häuptling der Apachen
 
Registriert seit: 09.2003
Ort: Nürnberg
Beiträge: 13.700
Blog-Einträge: 1

Spamd läuft nicht. '/etc/init.d/spamd restart' sollte da Abhilfe schaffen.
Prüfe ob alle Start-Links korrekt angelegt sind (z.B. mit 'chkconfig --add spamd'), damit bei einem reboot auch spamd automatisch gestartet wird.

@djrick:
Genau das fehlt noch in Deinem Howto!

DJRICK: An welcher Stelle sollte es denn rein? Fügs bitte nach deinem Ermessen hinzu


huschi.

Geändert von djrick (18.05.2004 um 13:04 Uhr)
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
  #15  
Alt 14.05.2004, 21:49
Registered User
 
Registriert seit: 02.2004
Beiträge: 325
Daumen hoch

Hallo Huschi,

vielen Dank für die Hilfe.

Der Restart hat geklappt. Aber der chkconfig gibt die Fehlermeldung
'service spamd does not support chkconfig'.
Ich habe /etc/init.d/spamd mit dem Inhalt 'spamd -d -u spamd'
angelegt. Macht das Sinn?

Gruß

Martin
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!
Mit Zitat antworten
Antwort

Lesezeichen


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Probleme beim installieren von Typo3 V3.7.0 auf vServer chriscross CMS Allgemein 6 10.01.2005 22:14
mail() auf vserver mit sendmail geht nicht. ManuelW Virtuelle Server 1 25.09.2004 23:10
SpamAssassin auf vServer die Zehnte djrick Virtuelle Server 17 08.05.2004 06:21
spamassassin auf vServer Wirus Virtuelle Server 9 17.03.2004 12:47
SpamAssassin - Nicht auf einem vServer Thorsten Virtuelle Server 13 05.11.2003 09:17





Alle Zeitangaben in WEZ +2. Es ist jetzt 00:16 Uhr.

Das Server Support Forum wir mit freundlicher Unterstützung von SpamExperts gegen Spam und Viren geschützt.
Antispam & Spam Filter für Hoster, Server Admins, KMUs, Unternehmen, Privatanwender
Klicken Sie hier für Partner-Rabatte

Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.1 PL1