Mail-Problem seit OpenSuse Sicherheits-Patch

Dieses Thema im Forum "Server Administration" wurde erstellt von Paul, 19. Dez. 2010.

  1. Paul

    Paul Member

    Seit dem letzten Suse Sichterheits-Update funktioniert der Mailserver nicht mehr. Wenn ich mich recht erinnere wurden Spamassassin und/oder Amavis Patches geladen. Seitdem werden Emails weder empfangen noch versandt. Einige Zeit nach dem Versenden kommt eine Nachricht mit folgendem Inhalt zurück:

    Code:
    Your message could not be delivered for more than 1 hour(s).
      ...
      … connect to 127.0.0.1[127.0.0.1]:10024: Connection refused
    
    Im Log-File „warn“ ist folgendes zu lesen:

    Code:
    Dec 18 22:45:27 server1 amavis[3740]: (!!)TROUBLE in pre_loop_hook: check: no loaded plugin implements 'check_main': cannot scan! at /usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/PerMsgStatus.pm line 164.
    Dec 18 22:45:27 server1 amavis[3740]: (!)_DIE: check: no loaded plugin implements 'check_main': cannot scan! at /usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/PerMsgStatus.pm line 164.
    In der genannten Datei PerMsgStatus.pm wird in Zeile 164 ein Modul aufgerufen:

    Code:
    if (!$self->{main}->have_plugin("check_main")) {
          die "check: no loaded plugin implements 'check_main': cannot scan!";
    In „mail.info“ ist noch folgendes zu finden:

    Code:
    Dec 19 10:05:31 server1 postfix/smtp[12289]: D5DD5A0E44: to=<name@domain.de>, relay=none, delay=43672, delays=43672/0.04/0/0, dsn=4.4.1, status=deferred (connect to 127.0.0.1[127.0.0.1]:10024: Connection refused)
    Es sieht so aus, als ob ein Modul nicht mehr geladen wird.
    Vielleicht bin ich aber auch auf dem Holzweg.
    Hat jemand eine Idee was zu tun ist?

    Die technischen Daten zum Webserver:
    [FONT=Arial, sans-serif]OpenSUSE 11.1 (x86_64)[/FONT]
    [FONT=Arial, sans-serif]ISPConfig 3.0.1.6[/FONT]
    [FONT=Arial, sans-serif]Postfix 2.5.5-6.8[/FONT]
    [FONT=Arial, sans-serif]
    [/FONT]
     
    Zuletzt bearbeitet: 19. Dez. 2010
  2. Luuk

    Luuk New Member

    ich habe dass selbe problem..

    I hope someone has some tips to solve this...
     
  3. Luuk

    Luuk New Member

  4. Paul

    Paul Member

    Danke für den Tipp.
    Die Rechte von etc/mail habe ich wie empfohlen auf 0777 gesetzt. Allerdings für root:root. Eine Gruppe amavis gibt es hier nicht.
    Nach dem Reboot habe ich dann versucht eine Email zu verschicken.
    Leider ohne Erfolg.
    Das Verschicken ergab in var/log/mail folgenden Eintrag:
    Code:
    Dec 20 11:37:53 server1 postfix/smtpd[4349]: connect from unknown[217.239.21.60]
    Dec 20 11:37:53 server1 postfix/smtpd[4349]: D5080A0F5D: client=unknown[217.239.21.60], sasl_method=LOGIN, sasl_username=sender@domain.de
    Dec 20 11:37:54 server1 postfix/cleanup[4468]: D5080A0F5D: message-id=<1292841472.2133.0.camel@Miditower>
    Dec 20 11:37:54 server1 postfix/qmgr[3964]: D5080A0F5D: from=<sender@domain.de>, size=1056, nrcpt=1 (queue active)
    Dec 20 11:37:54 server1 postfix/error[4472]: D5080A0F5D: to=<empfaenger@gmx.de>, relay=none, delay=0.38, delays=0.27/0.02/0/0.09, dsn=4.4.1, status=deferred (delivery temporarily suspended: connect to 127.0.0.1[127.0.0.1]:10024: Connection refused)
    Dec 20 11:37:55 server1 postfix/smtpd[4349]: disconnect from unknown[217.239.21.60] 
     
  5. Till

    Till Administrator

    amavisd läuft nicht. Starte es mal neu und schau dann isn log ob irgendwelche fehler beim starten aufgetreten sind.
     
  6. Paul

    Paul Member

    Die Eingabe von "amavisd start" führt dazu, dass die Konsole hängt.
    In var/log/warn steht dann lediglich:
    Dec 20 13:15:00 server1 amavis(client)[10275]: failed to connect(): Connection refused
    In den anderen log-files ist gar keine Reaktion auf den Startbefehl zu finden.
     
  7. Till

    Till Administrator

    Nimm bitte mal das klassische start script:

    /etc/init.d/amavisd restart
     
  8. Paul

    Paul Member

    Der Daemon will einfach nicht starten.
    Auf "amavisd reload" kommt die Antwort:
    The amavisd daemon is not running
    Und auf testweise eingegebene starts, und reloads findet man in der mail.warn:
    Code:
    Dec 20 15:59:46 server1 amavis[21029]: (!)_DIE: check: no loaded plugin implements 'check_main': cannot scan! at /usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/PerMsgStatus.pm line 164.
    
    Und in messages:
    Code:
    Dec 20 15:53:21 server1 amavis[20676]: (!)_DIE: check: no loaded plugin implements 'check_main': cannot scan! at /usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/PerMsgStatus.pm line 164.
    Dec 20 15:58:44 server1 amavis[20993]: (!)_DIE: check: no loaded plugin implements 'check_main': cannot scan! at /usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/PerMsgStatus.pm line 164.
    Dec 20 15:59:46 server1 amavis[21029]: (!)_DIE: check: no loaded plugin implements 'check_main': cannot scan! at /usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/PerMsgStatus.pm line 164.
    Für mich sieht's so aus, als wenn der Daemon nicht anläuft, weil ein Plugin nicht geladen werden kann. Oder bin ich da auf dem Holzweg?
     
    Zuletzt bearbeitet: 20. Dez. 2010
  9. Till

    Till Administrator

    Hast Du irgendwelche spamassassin Module von hand installiert?
     
  10. Paul

    Paul Member

    Nix von Hand installiert.
    Ich vermute, dass der letzte Suse Sicherheitspatch etwas überschrieben hat.
    Vor einigen Monaten gab's schon einmal Probleme nach einem Suhosin Patch.
     
    Zuletzt bearbeitet: 20. Dez. 2010
  11. Paul

    Paul Member

    Ich habe gerade gesehen, dass ich zwei amavisd.conf Dateien habe:
    ./etc/amavisd.conf
    ./etc/amavis/amavisd.conf
    Ist das so ok?
    Nur in der Conf-Datei im amavis-Ordner sind ispconfig-Einträge zu finden.
    Deshalb habe ich die Conf-Datei aus etc renamed und die Datei, in der ISPConfig-Einträge enthalten waren nach etc kopiert.
    Auch nach dem Reboot keine Änderung. Immer noch die gleichen Fehlermeldungen in den Log-Files.
     
    Zuletzt bearbeitet: 20. Dez. 2010
  12. Luuk

    Luuk New Member

    im /etc/amavisd.conf steht dieser regel:
    $daemon_group = 'vscan';

    Die rechte auf die datei /etc/mail mussen auf die gruppe 'vscan' gesetzt worden
    # cd /etc
    # chown -R root:vscan mail



    (sorry for my German.... i'm from Holland ;-)
     
  13. Paul

    Paul Member

    Ich habe mal "amavisd debug" eingegeben.
    Leider ist die Ausgabe ziemlich umfangreich. Einiges habe ich weggelöscht. - Hoffentlich nichts wichtiges.
    Vielleicht erkennt jemand etwas?
    Code:
    amavisd debug
    Dec 20 18:05:02.069 linux-jfp8.site /usr/sbin/amavisd[5109]: logging initialized, log level 5, syslog: amavis.mail
    Dec 20 18:05:02.069 linux-jfp8.site /usr/sbin/amavisd[5109]: starting.  /usr/sbin/amavisd at linux-jfp8.site amavisd-new-2.6.1 (20080629), Unicode aware, LANG="de_DE.utf8"
    Dec 20 18:05:02.069 linux-jfp8.site /usr/sbin/amavisd[5109]: user=, EUID: 65 (65);  group=, EGID: 108 108 (108 108)
    Dec 20 18:05:02.069 linux-jfp8.site /usr/sbin/amavisd[5109]: Perl version               5.010000
    Dec 20 18:05:02.096 linux-jfp8.site /usr/sbin/amavisd[5109]: INFO: no optional modules: IO::Socket::INET6
    Dec 20 18:05:02.229 linux-jfp8.site /usr/sbin/amavisd[5109]: INFO: SA version: 3.2.5, 3.002005, no optional modules: Net::CIDR::Lite Sys::Hostname::Long Mail::SpamAssassin::BayesStore::PgSQL Encode::Detect Razor2::Client::Agent IP::Country::Fast Image::Info Image::Info::GIF Image::Info::JPEG Image::Info::PNG Image::Info::TIFF Mail::SPF Mail::SPF::Server Mail::SPF::Request Mail::SPF::Mech Mail::SPF::Mech::A Mail::SPF::Mech::PTR Mail::SPF::Mech::All Mail::SPF::Mech::Exists Mail::SPF::Mech::IP4 Mail::SPF::Mech::IP6 Mail::SPF::Mech::Include Mail::SPF::Mech::MX Mail::SPF::Mod Mail::SPF::Mod::Exp Mail::SPF::Mod::Redirect Mail::SPF::SenderIPAddrMech Mail::SPF::v1::Record Mail::SPF::v2::Record NetAddr::IP NetAddr::IP::Util auto::NetAddr::IP::Util::inet_n2dx auto::NetAddr::IP::Util::ipv6_n2d auto::NetAddr::IP::Util::ipv6_n2x Mail::SPF::Query Error
    Dec 20 18:05:02.230 linux-jfp8.site /usr/sbin/amavisd[5109]: SpamControl: init_pre_chroot on SpamAssassin done
    Pid_file "/var/spool/amavis/amavisd.pid" already exists.  Overwriting!
    Dec 20 18:05:02.230 linux-jfp8.site /usr/sbin/amavisd[5109]: Net::Server: 2010/12/20-18:05:02 Amavis (type Net::Server::PreForkSimple) starting! pid(5109)
    Dec 20 18:05:02.232 linux-jfp8.site /usr/sbin/amavisd[5109]: Net::Server: Binding to UNIX socket file /var/spool/amavis/amavisd.sock using SOCK_STREAM
    Dec 20 18:05:02.232 linux-jfp8.site /usr/sbin/amavisd[5109]: Net::Server: Binding to TCP port 10024 on host 127.0.0.1
    Dec 20 18:05:02.233 linux-jfp8.site /usr/sbin/amavisd[5109]: Net::Server: Group Not Defined.  Defaulting to EGID '108 108'
    Dec 20 18:05:02.233 linux-jfp8.site /usr/sbin/amavisd[5109]: Net::Server: User Not Defined.  Defaulting to EUID '65'
    Dec 20 18:05:02.233 linux-jfp8.site /usr/sbin/amavisd[5109]: Net::Server: Setting up serialization via flock
    Dec 20 18:05:02.233 linux-jfp8.site /usr/sbin/amavisd[5109]: after_chroot_init: EUID: 65 (65);  EGID: 108 108 (108 108)
    Dec 20 18:05:02.233 linux-jfp8.site /usr/sbin/amavisd[5109]: config files read: /etc/amavisd.conf
    
    ...
    
    Dec 20 18:05:02.246 linux-jfp8.site /usr/sbin/amavisd[5109]: Lookup::LDAP code    NOT loaded
    Dec 20 18:05:02.246 linux-jfp8.site /usr/sbin/amavisd[5109]: AM.PDP-in proto code loaded
    Dec 20 18:05:02.246 linux-jfp8.site /usr/sbin/amavisd[5109]: SMTP-in proto code   loaded
    Dec 20 18:05:02.246 linux-jfp8.site /usr/sbin/amavisd[5109]: Courier proto code   NOT loaded
    Dec 20 18:05:02.246 linux-jfp8.site /usr/sbin/amavisd[5109]: SMTP-out proto code  loaded
    Dec 20 18:05:02.246 linux-jfp8.site /usr/sbin/amavisd[5109]: Pipe-out proto code  NOT loaded
    Dec 20 18:05:02.246 linux-jfp8.site /usr/sbin/amavisd[5109]: BSMTP-out proto code NOT loaded
    Dec 20 18:05:02.247 linux-jfp8.site /usr/sbin/amavisd[5109]: Local-out proto code loaded
    Dec 20 18:05:02.247 linux-jfp8.site /usr/sbin/amavisd[5109]: OS_Fingerprint code  NOT loaded
    
    ...
    
    Dec 20 18:05:02.248 linux-jfp8.site /usr/sbin/amavisd[5109]: No decoder for       .F    tried: unfreeze, freeze -d, melt, fcat
    Dec 20 18:05:02.248 linux-jfp8.site /usr/sbin/amavisd[5109]: Found decoder for    .Z    at /usr/bin/uncompress
    Dec 20 18:05:02.248 linux-jfp8.site /usr/sbin/amavisd[5109]: Found decoder for    .gz   at /usr/bin/gzip -d
    Dec 20 18:05:02.248 linux-jfp8.site /usr/sbin/amavisd[5109]: Internal decoder for .gz   (backup, not used)
    Dec 20 18:05:02.248 linux-jfp8.site /usr/sbin/amavisd[5109]: Found decoder for    .bz2  at /usr/bin/bzip2 -d
    Dec 20 18:05:02.248 linux-jfp8.site /usr/sbin/amavisd[5109]: No decoder for       .lzo  tried: lzop -d
    Dec 20 18:05:02.248 linux-jfp8.site /usr/sbin/amavisd[5109]: Found decoder for    .rpm  at /usr/bin/rpm2cpio
    Dec 20 18:05:02.248 linux-jfp8.site /usr/sbin/amavisd[5109]: Found decoder for    .cpio at /usr/bin/pax
    Dec 20 18:05:02.249 linux-jfp8.site /usr/sbin/amavisd[5109]: Found decoder for    .tar  at /usr/bin/pax
    Dec 20 18:05:02.249 linux-jfp8.site /usr/sbin/amavisd[5109]: Found decoder for    .deb  at /usr/bin/ar
    Dec 20 18:05:02.249 linux-jfp8.site /usr/sbin/amavisd[5109]: Internal decoder for .zip 
    Dec 20 18:05:02.249 linux-jfp8.site /usr/sbin/amavisd[5109]: No decoder for       .7z   tried: 7zr, 7za, 7z
    Dec 20 18:05:02.249 linux-jfp8.site /usr/sbin/amavisd[5109]: Found decoder for    .rar  at /usr/bin/unrar
    Dec 20 18:05:02.249 linux-jfp8.site /usr/sbin/amavisd[5109]: Found decoder for    .arj  at /usr/bin/unarj
    Dec 20 18:05:02.249 linux-jfp8.site /usr/sbin/amavisd[5109]: No decoder for       .arc  tried: nomarch, arc
    Dec 20 18:05:02.249 linux-jfp8.site /usr/sbin/amavisd[5109]: Found decoder for    .zoo  at /usr/bin/zoo
    Dec 20 18:05:02.249 linux-jfp8.site /usr/sbin/amavisd[5109]: Found decoder for    .lha  at /usr/bin/lha
    Dec 20 18:05:02.250 linux-jfp8.site /usr/sbin/amavisd[5109]: No decoder for       .cab  tried: cabextract
    Dec 20 18:05:02.250 linux-jfp8.site /usr/sbin/amavisd[5109]: No decoder for       .tnef tried: tnef
    Dec 20 18:05:02.250 linux-jfp8.site /usr/sbin/amavisd[5109]: Internal decoder for .tnef
    Dec 20 18:05:02.250 linux-jfp8.site /usr/sbin/amavisd[5109]: Found decoder for    .exe  at /usr/bin/unrar; /usr/bin/lha; /usr/bin/unarj
    Dec 20 18:05:02.250 linux-jfp8.site /usr/sbin/amavisd[5109]: Using primary internal av scanner code for ClamAV-clamd
    
    ...
    
    Dec 20 18:05:02.253 linux-jfp8.site /usr/sbin/amavisd[5109]: Found secondary av scanner ClamAV-clamscan at /usr/bin/clamscan
    Dec 20 18:05:02.253 linux-jfp8.site /usr/sbin/amavisd[5109]: No secondary av scanner: FRISK F-Prot Antivirus
    Dec 20 18:05:02.253 linux-jfp8.site /usr/sbin/amavisd[5109]: No secondary av scanner: Trend Micro FileScanner
    Dec 20 18:05:02.253 linux-jfp8.site /usr/sbin/amavisd[5109]: No secondary av scanner: drweb - DrWeb Antivirus
    Dec 20 18:05:02.253 linux-jfp8.site /usr/sbin/amavisd[5109]: No secondary av scanner: Kaspersky Antivirus v5.5
    Dec 20 18:05:02.255 linux-jfp8.site /usr/sbin/amavisd[5109]: Creating db in /var/spool/amavis/db/; BerkeleyDB 0.35, libdb 4.5
    Dec 20 18:05:02.559 linux-jfp8.site /usr/sbin/amavisd[5109]: SpamControl: initializing Mail::SpamAssassin
    Dec 20 18:05:02.559 linux-jfp8.site /usr/sbin/amavisd[5109]: SpamAssassin debug facilities: info
    config: could not find site rules directory
    Dec 20 18:05:02.881 linux-jfp8.site /usr/sbin/amavisd[5109]: (!!)TROUBLE in pre_loop_hook: check: no loaded plugin implements 'check_main': cannot scan! at /usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/PerMsgStatus.pm line 164.
    Suicide () TROUBLE in pre_loop_hook: check: no loaded plugin implements 'check_main': cannot scan! at /usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/PerMsgStatus.pm line 164.
     
  14. Paul

    Paul Member

    @Luuk
    Hat chown auf den Ordner "mail" bei Dir etwas gebracht?
    Kannst Du jetzt wieder Emails empfangen und senden?
    Bei mir war das leider nicht erfolgreich.
     
  15. Luuk

    Luuk New Member

    when ich die rechte zuruck setze
    # cd /etc
    # chown -R root:root mail
    # /etc/init.d/amavis restart

    dann verscheint im log:

    Dec 20 19:04:29 opensuse amavis[26136]: (!!)TROUBLE in pre_loop_hook: check: no loaded plugin implements 'check_main': cannot scan! at /usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/PerMsgStatus.pm line 164.
    Dec 20 19:04:29 opensuse amavis[26136]: (!)_DIE: check: no loaded plugin implements 'check_main': cannot scan! at /usr/lib/perl5/vendor_perl/5.10.0/Mail/SpamAssassin/PerMsgStatus.pm line 164.

    aber nach:
    # /etc/init.d/amavis stop
    # cd /etc
    # chown -R root:vscan mail
    # /etc/init.d/amavis start

    steht das volgende im log:
    Dec 20 19:06:46 opensuse amavis[26211]: SpamAssassin debug facilities: info
    Dec 20 19:06:47 opensuse amavis[26211]: SpamControl: init_pre_fork on SpamAssassin done
    Dec 20 19:06:47 opensuse amavis[26213]: TIMING [total 6 ms] - bdb-open: 6 (100%)100, rundown: 0 (0%)100
    Dec 20 19:06:47 opensuse amavis[26213]: SpamControl: init_child on SpamAssassin done
    Dec 20 19:06:47 opensuse amavis[26214]: TIMING [total 6 ms] - bdb-open: 6 (100%)100, rundown: 0 (0%)100
    Dec 20 19:06:47 opensuse amavis[26214]: SpamControl: init_child on SpamAssassin done
    Dec 20 19:07:03 opensuse clamd[24171]: SelfCheck: Database status OK.

    und mein mail (postfix) functioniert
     
  16. Paul

    Paul Member

    @Luuk
    Danke für die Info.
    Bei mir hat das leider nicht funktioniert.
    Amavis nimmt keine Befehle an. - Nur amavisd, und der lässt sich nicht starten. Wenn Befehle an amavis gesendet werden, dann ist der Prompt weg. Erst <Ctrl-C> bringt den Prompt wieder.
    Ich glaube hier ist eine Nachtschicht angesagt. Bis Weihnachten werde ich es dann hoffentlich geschafft haben. ;-)
    Schöne Grüße aus Bremen nach Holland.
     
  17. Paul

    Paul Member

    Inzwischen bin ich einen Schritt weiter.
    Die Amavis-Fehlermeldungen "...TROUBLE in pre_loop_hook: check: no loaded plugin ..." kommen nicht mehr.
    Einige Aktionen auf dem Weg dahin:
    Wie von Luuk beschrieben: chown -R root:vscan mail
    Massen von Emails aus dem Quarantäne-Ordner gelöscht. (Alle, die älter als 14 Tage sind.)
    find /var/lib/amavis/virusmails/ -mtime +14 -exec rm {} \;
    Wenn ich amavis jetzt starte kommt folgende Fehlermeldung:
    /etc/init.d/amavis start
    Starting virus-scanner (amavisd-new):Can't send SIG 0 to process [3751]: 1 at /usr/sbin/amavisd line 12831. failed

    Was mir zwischenzeitlich noch eingefallen ist: Eines der letzten Suse System-Updates enthielt auch ein Perl-Update. Wie ich gesehen habe, gibt es im Zusammenhang mit Amavis viele Perl-Scripte. Z.B. die in den früheren Fehlermeldungen angesprochene "PerMsgStatus.pm".
    Die Suche geht weiter.
     
    Zuletzt bearbeitet: 21. Dez. 2010
  18. Paul

    Paul Member

    Das kann ja wohl nicht wahr sein!!
    Heute gibt Suse einen Perl-Spamassassin Patch frei, und siehe da, nach dem Einspielen funktioniert das Mailen wieder.
    Mehrere Tage testen, forschen, ausprobieren waren umsonst. Die Nachtschichten auch.
    Aber was solls: C'est la vie. Und irgendwie ist man natürlich auch erleichtert, dass man wieder Mailen kann.
    Und das war der von Suse mitgelieferte Kommentar zum Patch:

    Code:
    Patch: perl-spamassassin Kind: recommended Version: 3722 
    The previous update caused regressions in spamassassin fails because of a unintentially 
    moved directory and a permission change.  

    Na dann nochmal vielen Dank an Luuk und Till.
    Und natürlich auch schöne Grüße an Suse. ;-)

     
  19. Till

    Till Administrator

    Und das ist der Grund warum ich schon vor ein paar Jahren alle meine Server von SuSE auf Debian umgestellt habe :)
     
  20. Paul

    Paul Member

    @Till
    Nachdem ich den gleichen Ärger schon einmal im Zusammenhang mit einem PHP-Suhosin Patch hatte, werde ich den Wechsel auch ernsthaft in Erwägung ziehen.
    Mir hat bei Suse immer die Unkompliziertheit beim Einspielen der System-Updates gefallen. Yast aufrufen, auf System-Update klicken, fertig.
    Wie ist das eigentlich bei Debian?
     

Diese Seite empfehlen