PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Postfix: Trotz Amavis-Deinstallation Transportfehler smtp-amavis Connection refused



AndreasMeier
11.08.07, 14:05
Hallo zusammen,

mich macht mein Postfix echt fertig.
Er lief schön konfiguriert mit Cyrus IMAP zusammen und hat mir brav eMails ausgeliefert.

Jetzt dachte ich mir, es wäre an der Zeit amavisd-new zusammen mit Spamassassin und ClamAV einzubauen.

In Debian Etch über apt-get die Pakete
- amavisd-new 1:2.4.2-6.1
- spamassassin 3.1.7-2
- spamd 2.30-16
- div. Pakete zu ClamAV
installiert.

Dann hab ich mich an die Konfiguration gemacht und hab vorher meine Postfix-Configs gesichert.
Dann durch eine Anleitung in der master.cf den Transport verändert.
Leider hat die Anleitung nicht funktioniert.
Daher hab ich die alte Konfig (die ja lief) wieder reinkopiert und hab neu gestartet.

Ich erhalte aber trotzdem permanent den Eintrag in der /var/log/mail.log:


server postfix/qmgr[2769]: warning: connect to transport smtp-amavis: Connection refused


In der Config findet sich aber kein "smtp-amavis"-Transport !!

Sieht ja danach aus, als ob Postfix an Amavis noch was übergeben will.

Dann hab ich o.g. Pakete wieder deinstalliert (mit den Configs) und neu gebootet.
Leider erhalte ich trotzdem noch die o.g. Fehlermeldung.

Dementsprechend stauen sich die Mails in der Queue und werden nicht mehr meinem IMAP-Server übergeben.

Was kann ich nun machen, denn ich weiß im Moment echt nicht, wo ich noch suchen kann.
Ein Suchbefehl nach dem Eintrag "smtp-amavis" blieb erfolglos.


Herzlichen Dank im voraus,
Gruß
Andreas

pucki
11.08.07, 21:12
hi,

hattet du auch die master.cf gesichert? da werden die wege zu den zusätzlichen tools eingetragen ...

gruesse

reinhard

pucki
11.08.07, 21:14
ups was vergessen ...

es reicht nicht postfix neu zu starten, da die queue sich den alten weg gespeichert hat ..

postsuper dürfte dein freund sein ..

gruesse

AndreasMeier
12.08.07, 08:03
Die master.cf hab ich natürlich gesichert, den Postfix neu gestartet, sogar den Server neu gebootet.
Damit dachte ich eigentlich, sollten jegliche alten Einstellungen erledigt sein.
Aber eben leider nicht.

Kannst Du das mit der Queue mal näher ausführen ? Wieso speichert die den alten Weg noch ab?
Auch nach einem Neustart ?

Danke und Gruß
Andreas

pucki
12.08.07, 10:47
sorry ;-) da muss ich jetzt passen, ich hatte nur bei der konfiguration meines systems genau dieses problem ...

konfiguration geändert und trotzdem noch die gleiche fehlermeldung. da bin ich darauf gestossen, dass postfix sich den zustellungspfad für jede mail merkt. nach einer konfigurationsänderung bei der sich noch mails in der queue befinden müssen die zustelldaten diesen mails erst mitgeteilt werden. kämpfe dich mal durch die postfix - doku, genaueres kann ich dir leider nicht sagen ...

grüße

reinhard

AndreasMeier
12.08.07, 17:19
Also, bin einen Schritt weiter gekommen.

Hab jetzt nochmal die Pakete amavisd-new und spamassassin sowie spamd installiert, sowie die nötigen Einträge in der master.cf vom Postfix eingetragen.

Allerdings erhalte ich jetzt nach einem Neustart nicht mehr die o.g. Fehlermeldung, sondern nur noch die Meldung :


postfix/master [2965]: fatal: bind 127.0.0.1 port 10025 Address already in use


Ich hab dann mal mit "netstat -nap | grep 10024" geschaut, was so am Port lauscht (analog für 10025-10027):
10024: LISTEN 2312 amavisd
10025: LISTEN 2787 perl
10026: keine Ausgabe, wobei ich dachte, dass hier auch was lauscht
10027: keine Ausgabe, wobei ich dachte, dass hier auch was lauscht

Meine master.cf schaut mittlerweile so aus:


#
# Postfix master process configuration file. For details on the format
# of the file, see the master(5) manual page (command: "man 5 master").
#
# ================================================== ========================
# service type private unpriv chroot wakeup maxproc command + args
# (yes) (yes) (yes) (never) (100)
# ================================================== ========================
#smtp inet n - - - - smtpd
smtp inet n - n - 2 smtpd -o conten_filter=smtp-amavis:[127.0.0.1]:10024
#submission inet n - - - - smtpd
# -o smtpd_enforce_tls=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticate d,reject
#smtps inet n - - - - smtpd
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticate d,reject
#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - - 300 1 oqmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - - - - smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - - - - smtp
-o fallback_relay=
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - - - - showq
error unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
localhost:10025 inet n - y - - smtpd -o content_filter=smtp-amavis:[127.0.0.1]:10026
localhost:10027 inet n - n - - smtpd -o content_filter=
#
# ================================================== ==================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent. See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ================================================== ==================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
cyrus unix - n n - - pipe
user=cyrus argv=/usr/sbin/cyrdeliver -r ${sender} -m ${extension} ${user}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}


Was mich jetzt halt echt irritiert, ist die o.g. Fehlermeldung:


postfix/master [2965]: fatal: bind 127.0.0.1 port 10025 Address already in use


Hab ich da irgendwas doppelt auf nen Port gelegt ?

Danke und Gruß
Andreas

AndreasMeier
12.08.07, 17:45
Ich schau gerade in die /etc/default/spamd.

Dort steht ein
LISTENPORT = 10025
drin.

Unter der o.g. Prozess-ID läuft aber ein spampd-Paket.
In meiner System Start/Stop über Webmin steht aber ein Spampd im Autostart, der scheinbar schon auf 10025 läuft.
Für den spampd find ich aber keine Config.

Blocken die beiden Dienste sich irgendwie ?

AndreasMeier
12.08.07, 18:35
Ist jetzt erstmal gelöst. Ich hab die LISTENPORT auf 10026 und den DESTPORT auf 10027 erhöht und jetzt liefert er mir alles gut aus.

Jetzt muß ich aber noch nach dem Feintuning schauen, weil ob der Amavis wirklich an den Spamassassin und an den ClamAV übergibt, sehe ich im Header noch nicht.
Dort taucht zumindest kein Spam-Score etc. auf.

Gruß
Andreas

pucki
13.08.07, 12:14
hi,

ich glaube jetzt hast du zu viel des guten getan ;-)

imho übernimmt amavis die aufgabe des verteilens für dich ...
also wenn du spamfilter und oder virenfilter am laufen hast, dann musst du nur amavis konfigurieren. die dienste selbst nicht ...

so ist amavis in perl geschrieben ...

du übergibst also die mails an amavis-new

content_filter = amavis:[127.0.0.1]:10024

den rest konfigurierst du in

amavisd.conf (name auf deinem system prüfen!)
loglevel, was mit bounces passieren soll, virenfilter, usw.


du kannst natürlich auch alle dienste von hand einhängen, aber dann brauchst du amavis nicht ..

grüsse

reinhard

AndreasMeier
13.08.07, 20:47
Hi hi,

ich hab jetzt folgendes geändert:
in der main.cf hab ich
content_filter = amavis:[127.0.0.1]:10024
eingefügt.

In der master.cf steht jetzt :


smtp-amavis unix - - y/n - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes

127.0.0.1:10025 inet n - y/n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,rej ect
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes


Jetzt nach Neustarts der Dienste erhalte ich aber eine Fehlermeldung:


server amavis [12561]: ClamAV-clamd: can't connect to UNIX socket /var/run/clamav/clamd.ctl


Jetzt weiß ich nicht:
- ist es das Problem, dass die Datei dort nicht angelegt ist/war. Ich hab jetzt mal ne leere Datei dort angelegt mit passenden Rechten
- ist es ein User/Group-Problem, welcher Dienst auf was zugreifen darf


...aber..... es geht voran


Gruß
Andreas

pucki
13.08.07, 21:21
hi

frei nach dem motto "everything is a file" magst du richtig liegen, der socket sollte jedoch vom Programm erstellt werden.

prüfe mal die Rechte des Verzeichnisses! /var/run/clamav

hier sollte der user, unter dem clamav dann läuft, schreibrechte haben.

grüße

reinhard

AndreasMeier
13.08.07, 21:44
Ich glaub, Du hast Recht. Es war in der Tat etwas kühn, die Datei einfach so anzulegen, hat nämlich nicht geklappt :-)

Es war jetzt auch irgendwie ein Fehler, den /var/log oder run/clamav-Verzeichnissen die User/Group so anzupassen, dass Amavis auch dort zugreifen kann.
Versuch ich, gerade rückgängig zu machen.
Erhalte aber noch ein "internal logger in append mode - /var/log/clamav/freshclam.log - check permissions".

Wie krieg ich denn den Amavis dazu, mit dem ClamAV zu kommunizieren ??

Übrigens: eine amavisd.conf hab ich nicht.
Bei Debian ist das doch unter /etc/amavis in mehrere Einzeldateien aufgeteilt.
Machts aber nicht unbedingt einfacher, IMHO.

Gruß
Andreas

AndreasMeier
14.08.07, 06:33
Hm, jetzt hab ich heut morgen neu gestartet und mir erstmal die Logs nochmal angeschaut.
Nach Neustart kam heute keine Fehlermeldung bezüglich Socket.

Dann hab ich über Webmin von root an user eine eMail geschrieben.
Die wird im Log an die div.Dienste auch ohne Fehlermeldung durchgereicht und kommt beim Cyrus IMAP in der Mailbox an.
Und das ganze auch noch getaggt.
Sieht also so aus, als ob Amavis und ClamAV laufen würden.
Es erscheint ein :


X-Virus-Scanned: Debian amavisd-new at server.domain


Was ich im Log noch nicht sehe, ist, ob der Amavis oder Postfix die eMail dann auch an den SpamAssassin oder Spampd weitergibt.
Die eMail hat auch keine Spam-Tags.

AndreasMeier
14.08.07, 06:44
Meine main.cf sieht jetzt so aus:


myhostname = mail.domain
mydomain = domain
myorigin = $mydomain
mydestination = $myhostname, localhost.$mydomain, $mydomain, mail.home.int, server.domain, localhost.domain, localhost
unknown_local_recipient_reject_code = 550
mynetworks = 192.168.0.0/24, 127.0.0.0/8
alias_maps = hash:/etc/aliases
mailbox_transport = cyrus
fallback_transport = cyrus
smtp_banner = $myhostname ESMTP $mail_name
mailbox_size_limit = 0
recipient_delimiter = +
inet_protocols = all
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
relocated_maps = hash:/etc/postfix/relocated
relayhost = [smtp.domain2.de]
masquerade_exceptions = root
mailbox_command = /usr/lib/cyrus/bin/deliver
home_mailbox = mailbox
content_filter = smtp-amavis:[127.0.0.1]:10024


In meiner master.cf sieht jetzt so aus:


smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes

127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,rej ect
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes

#submission inet n - - - - smtpd
# -o smtpd_enforce_tls=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticate d,reject
#smtps inet n - - - - smtpd
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticate d,reject
#628 inet n - - - - qmqpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
#qmgr fifo n - - 300 1 oqmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - - - - smtp
# When relaying mail as backup MX, disable fallback_relay to avoid MX loops
relay unix - - - - - smtp
-o fallback_relay=
# -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
showq unix n - - - - showq
error unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
#
# ================================================== ==================
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
#
# Many of the following services use the Postfix pipe(8) delivery
# agent. See the pipe(8) man page for information about ${recipient}
# and other message envelope options.
# ================================================== ==================
#
# maildrop. See the Postfix MAILDROP_README file for details.
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
cyrus unix - n n - - pipe
user=cyrus argv=/usr/sbin/cyrdeliver -r ${sender} -m ${extension} ${user}
#
# See the Postfix UUCP_README file for configuration details.
#
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
#
# Other external delivery methods.
#
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}


Bekommt der SpamAssassin überhaupt die eMail zu sehen ?
Der zweite Eintrag in der master.cf, der mit
127.0.0.1:10025
anfängt; was bedeutet der ?
Ist der für das Annehmen nach dem ClamAV zuständig oder ist das bereits die Weitergabe an SpamAssassin ?
Wenn das die Weitergabe an SpamAssassin sein soll, muß dort der Port dann nicht auf 10026 lauten ?
Und nach dem SpamAssassin kommt die Mail auf 10027 dann zurück ?

Danke und Gruß
Andreas

pucki
14.08.07, 21:25
hi

setze den spam tag doch mal 0.1, dann werden schon sehr viele mails gekennzeichnet. die konfiguration wird ebenfalls im config-file von amavis durchgeführt.

schau dir das config-file ruhig mal genauer an ...

du kannst auch mal den loglevel erhöhen um bei der konfiguration ein bisschen mehr info's zu bekommen, vergiss ihn aber nicht wieder zurückzusetzen ;-) sonst müllst du dir die platte zu.

gruesse

reinhard

ps: wenn du wissen möchtest, wer auf deinem system wo lauscht dann z.B.

lsof | grep LISTEN | less -N

AndreasMeier
15.08.07, 09:17
Das mit dem 0.1 in den Settings hab ich jetzt mal probiert, hab dann allerdings noch keine eMail durchgeschoben.

Ich bin auch der Meinung, dass unabhängig vom SpamLevel ALLE eMails einen Eintrag erhalten, da ich die Option --tagall (oder so ähnlich) aktiviert habe.

Oder lieg ich da falsch ?

Heut abend werd ich weiter probieren, muß ja noch irgendwas gehen.

Gruß
Andreas

pucki
15.08.07, 19:16
hi,

aber wo? in amavisd.conf? oder im config-file von spamassassin?

gruesse

reinhard

AndreasMeier
18.08.07, 11:23
Also, nach langen Hin und Her, neukonfigurieren und neu installieren (Amavisd-new, spamassassin und clamav), läuft jetzt das System so wie es sein soll.

Ein Fehler war auf jeden Fall, dass ich sowohl den Spamd als auch den Spampd konfiguriert hatte und damit durcheinander kam.

Bei dem Rest kann ich wirklich nicht genau sagen, woran es jetzt letztendlich lag.

Aber jetzt taggt er alle Mails, scannt sie nach Viren und gut ist.

Jetzt muss ich noch schauen, dass ich ihm Spam zum lernen gebe, da der Bayes-Filter natürlich noch leer ist.

Leider ist die Seite www.spam-archive.org offline gegangen. Dort konnte man sich Spam-Archive downloaden und SA zum lernen geben.

Gibts hierzu Alternativen ?
Oder ist es möglich, von einem anderen System die mit dem gelernten Spam gefüllte Datenbank herzunehmen ?

Danke und Gruß
Andreas