PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : amavis-new + spamassassin aber keine Header



Zalon
17.01.06, 14:01
Hallo Board,

nachdem ich über aptitude mein System auf den neuesten Stand gebracht hatte, verweigerte Amavis-new (jetzt in Version 2.3.3-2) den Dienst und nörgelte mir etwas von einer alten Konfig, die ich doch bitte entfernen sollte vor.

Habe ich dann natürlich auch und mich dann in dem neuen (?) Verzeichnis conf.d umgesehen.

Kurz gesagt, ich habe einiges einstellen können, nur das Markieren der Mails als Spam nicht.
Dabei sind die Punkte-Einstellungen und die Aktionen -afaik- schon richtig:

$sa_spam_subject_tag = '***SPAM*** ';
$sa_tag_level_deflt = -999; # add spam info headers if at, or above that leve
$sa_tag2_level_deflt = 6.31; # add 'spam detected' headers at that level
$sa_kill_level_deflt = 6.31; # triggers spam evasive actions
$sa_dsn_cutoff_level = -100;
bzw. für die Aktionen:

$final_virus_destiny = D_DISCARD; # (data not lost, see virus quarantine)
$final_banned_destiny = D_BOUNCE; # D_REJECT when front-end MTA
#$final_spam_destiny = D_BOUNCE;
$final_spam_destiny = D_PASS; # statt BOUNCE
$final_bad_header_destiny = D_PASS;

In den durchsuchten eMails wird der X-Virus-Header auch brav eingefügt, aber keinerlei Header für die Spammails.

Nach einigem Suchen habe ich irgendwo einen Tipp gelesen, ich sollte die local_domain-Variable einsetzen. Nun, die finde ich aber weit und breit nicht in meiner zerstückelten Config und das Setzen der $mydomain = ''; brachte ebenso nichts. Irgendwo in der Config bin ich auch noch auf den Hinweis gestoßen, Amavis würde diese Mydomain-Variable auch nicht (mehr) benötigen.

Da mir Amavis auch im Syslog keine Fehler auswirft:


Jan 17 13:05:19 localhost amavis[20565]: Module Mail::SpamAssassin 3.001000
...
Jan 17 13:05:19 localhost amavis[20565]: ANTI-VIRUS code loaded
Jan 17 13:05:19 localhost amavis[20565]: ANTI-SPAM code loaded


mir die Mails im Log auch brav als Spam identifiziert:

Jan 17 13:05:39 localhost amavis[20566]: (20566-01) Passed SPAM, [_somewhat_IP_] <<rosezieglernk@bellsouth.net> -> <_someone_@localhost>, quarantine: /var/lib/amavis/quarantine, Message-ID:: <OLIJHGMGPLPKPBGILMNLCNFHHMAB.rosezieglernk@bellsou th.net>, mail_id: eGDKGZ1K1hwM, Hits: 20.784, 14051 ms

...bin ich mir ziemlich sicher, dass ich irgendwas übersehen habe.
Kann mir bitte jemand helfen? Habe ich mich vertippt/verschaut oder einfach nur Blödsinn eingestellt ;) ?

Danke!

buddy1000
17.01.06, 15:18
$sa_tag_level_deflt = -999; # add spam info headers if at, or above that level

bei mir steht:

$sa_tag_level_deflt = 999;

eventl. liegt es daran

undefined
17.01.06, 15:32
Ich glaube du verwendest einen veralteten Syntax siehe am besten mal in der Doc nach.
perldoc Mail::SpamAssassin::Conf

Zalon
17.01.06, 17:32
Veraltete Syntax? Das würde mich zwar wundern, die Config wurde nicht von mir sondern vom System erstellt und schließlich habe ich für Amavis eben ein Update gemacht (?), aber werde es mir dennoch mal ansehen.
Oder meinst du die Spamassassin-Config ist in veralteter Syntax geschrieben? Nur nebenbei, vielleicht hilft das in der Fehlerfindung, auch das Paket ist über aptitude auf dem neuesten Stand.

Die minus oder plus 999: Was hast du denn bei den Aktionen definiert? Ich bin mir inzwischen ja schon mit gar nichts mehr sicher, aber reagiert $sa_tag_level_deflt nicht "ab diesem oder einem höherem Wert"?

MiGo
17.01.06, 19:10
Wahrscheinlcih hast du einfach vergessen, SA/amavis klarzumachen, dass es sich um eine lokale Zustellung (also zum Endbenutzer) handelt:
in der amavisd.conf:

@local_domains_acl = ( ".$mydomain", "localhost", "<hier deinen hostname eintragen>" );

Ich habe 4 Tage graucht, um das rauszufinden...

Fly
18.01.06, 07:14
Stimmt in der amavisd.conf die Hostname


$myhostname = 'domainname'; # must be a fully-qualified domain name!

mit hostname --fqdn am System überein?

Frage: Unter welchen Distribution bekommst du schon die aktuellste Version von amavisd-new mit aptitude? Nutze Debian Sarge und da muss man jetzt noch immer aus den Sourcen installieren wie ich gemacht habe!

Zalon
18.01.06, 14:48
Hallo,

habe Debian testing laufen, da habe ich Amavis-new problemlos über aptitude bezogen. Vorher war da Amavis drauf, auch über aptitude, das wurde dann aber afaik ersetzt bei einem Aptitude-Update.

Eine Amavisd.conf habe ich in dem Sinne auch nicht, das sind lauter verteilte Dateien im conf.d Ordner, so ähnlich wie bei Exim4 und der aufgeteilten Config.

Ein @local_domains_acl = xyz gibt es dann auch nicht (mehr), kann keine Eintragung in den Configdateien finden.

Was das mit dem myhostname angeht, so gibt es hier nur diese eine Zeile

chomp($myhostname = `hostname --fqdn`);
Amavis liest das also selbst aus.

Eventuell ist der FQDN von dem Rechner nicht richtig gesetzt? Jetzt stellt sich mir nur wieder die Frage, worauf ich den sinnvollerweise setzen muss, da muss ich mich erst einlesen, nicht so die große Ahnung davon.
Werde mal suchen, danke soweit!

Zalon
19.01.06, 12:23
Hallo,

hab jetzt noch etwas weitergebastelt. Der FQDN ist auf debian.lokal.lan.

Zwei Sachen jedoch, die mir aufgefallen sind. Der Empfänger der eMails wird immer als lokaler_Benutzer@localhost ausgegeben. Eigentlich sollte das System ja verstehen, localhost ist eben debian.lokal.lan, oder könnte es damit Probleme geben?

Den Fehler scheint sich inzwischen etwas eingrenzen zu lassen, die Mails werden in der Tat mit dem Spam-Tag markiert, jedoch dann in die Quarantäne verschoben UND danach dann nochmals ohne den Spam-Tag zugestellt.
Da in den zugestellten Mails auch der Virus-Tag vorhanden ist, bearbeitet Amavis diese Mails aber auch.

Woran könnte das liegen dass die im Postfach landenden Mails ohne Tag und die in der Quarantäne mit Tag versehen sind?

MiGo
19.01.06, 13:06
localhost ist eben debian.lokal.lan, oder könnte es damit Probleme geben?
Woher zum Teufel soll das dein Rechner wissen? Das geht nur, wenn du es explizit in die /etc/hosts einträgst:

127.0.0.1 localhost debian.lokal.lan

Ansonsten ist localhost nur localhost. sonst nix.


Sowas wird sehr wahrscheinlich nicht gehen:
127.0.0.1 localhost
192.168.0.2 debian.lokal.lan

Zalon
19.01.06, 13:16
Tja, selbst schuld wenn man nur die Hälfte postet, sorry.

Das hier steht in der host:



127.0.0.1 debian.lokal.lan localhost debian

MiGo
19.01.06, 23:21
Eine Amavisd.conf habe ich in dem Sinne auch nicht, das sind lauter verteilte Dateien im conf.d Ordner, so ähnlich wie bei Exim4 und der aufgeteilten Config.

Brr :)
In dem Falle wirst du wohl selber nach einem äquivalenten Punkt suchen müssen; Laut apt habe ich auch amavi-new installiert (20030616p10-5), bei mir gibt's allerdings nur ein config-verzeichnis /etc/amavis..
Eigentlich sollte sich der Punkt über die Dokumentation finden lassen (wenn sie die nicht auch "verschlankt" haben). Zwechs grep paste ich mal den passenden text bei mir:

# local_domains* lookup tables are used in deciding whether a recipient
# is local or not, or in other words, if the message is outgoing or not.
# This affects inserting spam-related headers for local recipients,
# limiting recipient virus notifications (if enabled) to local recipients,
# in deciding if address extension may be appended, and in SQL lookups
# for non-fqdn addresses. Set it up correctly if you need features
# that rely on this setting (or just leave empty otherwise).
#
# With Postfix (2.0) a quick reminder on what local domains normally are:
# a union of domains specified in: $mydestination, $virtual_alias_domains,
# $virtual_mailbox_domains, and $relay_domains.

Zalon
20.01.06, 09:34
Na das kann ja noch heiter werden ;)

Deine Konfig liegt in /etc/amavis/amavisd.conf ? Verstehe ich das richtig?
Habe jetzt ein wenig auf meinem System rumgesucht, die Version 20030616p10-5 scheint die "alte" gewesen zu sein, da habe ich noch ein Paket im cache von apt rumliegen. Die "neue" Version ist dann die 1:2.3.3-3 und da habe ich auch nach einer Reinstallation des Pakets wieder eine aufgeteilte Config in /etc/amavis/conf.d
In den Release-Notes ist auch von einer gesplitteten Config die Rede, also scheint das hier nicht Unfall sondern Absicht zu sein ;)

(Interessanterweise liefert das Paket aber noch eine Beispiel-Config im alten Stil, also als ganzes Stück mit)

Danke für deinen Auszug aus der Dokumentation, allerdings gibt es keinen local_domain-Eintrag in der Config.

Was ich jedoch gefunden habe, ist das hier:



chomp($myhostname = `hostname --fqdn`);

# $mydomain is used just for convenience in the config files and it is not used
# internally by amavisd-new except in the default X_HEADER_LINE (which Debian
# overrides by default anyway).

chomp($mydomain = `head -n 1 /etc/mailname`);


Offenbar sucht sich Amavisd seine Angaben selbst?

Der Hostname wird auch richtig ausgelesen mit "debian", der Domainname allerdings... ja da beginnt das nächste Problem.

In der /etc/mailname steht bei mir wieder nur "debian", keine Ahnung wer oder was das so eingetragen hat. Wenn ich das richtig verstehe, dann setzt Amavis als Rechnername debian.debian, was natürlich Blödsinn ist. Da jedoch Exim4 auf /etc/mailname zugreift, will ich jetzt erstmal nicht dranrumspielen.

Was steht bei dir in der /etc/mailname bzw. was müsste da drin stehen?

Danke

MiGo
20.01.06, 16:55
Dass man den Hostname nicht mehr selbst ändern muss, ist praktisch, aber imho nicht Teil des Problems. An irgendeiner Stelle der Config muss man ihm mitteilen können, welche "Zielnamen" er als lokal lbetrachtet; anscheinend ist deiner nicht dabei.
Die /etc/mailname enthält bei mir "localhost.localdomain"; ich hatte das da allerdings wahrscheinlich nicht reingeschrieben.

Zalon
20.01.06, 17:19
Du hast Recht, an dem Hostnamen lag's nicht, ich habe jetzt -der Suche überdrüssig- einfach selbst diese Zeile hier in die Config eingetragen


@local_domains_maps = ( [".$mydomain","localhost"]);

und siehe da, jetzt klappt es. Zumindest schonmal mit den Nicht-Spam-Nachrichten, da aber bestimmt bald wieder so ein Spammer eine Mail an mich schickt, werde ich es schnell erfahren.

Vielen Dank für die Hilfe, wieder einen Fehler auf dem System ausgebügelt. Auf zu den nächsten! ;).

"Fertig" wird man wohl nie!