Style wechseln: ?

Für diese Funktion muß JavaScript aktiviert sein.

switch to english versionX-Mozilla-Status(2) erklärt :: Mozilla-Features :: Mozilla gegen Antivirus :: Mozilla-Links :: Mozilla-Applikationen


Versand kaputter Mails
fehlende Verschlüsselung
Empfang hängt
Empfang hängt 2
gelöschte Mails
kann nicht einloggen
Folgerung

Nach Spam sind Viren wohl die größte Plage per eMail und stehen von der Gefährdung her sogar ganz oben. Virenschutz ist also ziemlich wichtig und die User installieren fleißig Tools gegen die Gefahr.
Leider sind diese Tools aber nicht nur die großen Heil- und Segen-, sondern auch ziemliche Problembringer. Inzwischen häufen sich die Hilferufe im Usenet und Bugzilla weil es Probleme beim Abrufen und Versenden von Mails gibt und auch immer mal wieder Inboxen gelöscht werden. Das Dumme daran ist aber vor allem, daß Mozilla die Schuld gegeben wird.

Natürlich hat auch Mozilla so seine Probleme (sei es wegen eines eigenen Bugs oder weil sich Mailserver nicht konform benehmen). Aber hier geht es um die Probleme im Zusammenhang mit installierten Virenscannern.

Diese Probleme mögen so aussehen, als lägen sie in der mangelnden Zusammenarbeit oder Kompatibilität zwischen AV-Programm und Mozilla begründet. Jedoch gehen die Scanner in den vorliegenden Fällen so vor, daß sie sich zwischen Modem/Netzwerkkarte und Mailclient hängen und nur durchlassen (in beiden Richtungen), was ihnen passt. D.h. der Mailclient hat keinen Einfluß darauf, wenn von ihm verschickte Daten geändert werden, oder eingehende Daten im Scanner hängen bleiben.

Bisher habe ich fünf Gruppen von Problemen ausgemacht, zu vieren gibt es Bugzilla-Einträge. Hier die Nummern (Dupes sind nicht gelistet): Bug 235589, Bug 235401, Bug 224900, Bug 220225 und Bug 259840.

1. Versand kaputter Mails

Effekt eins wird beispielsweise durch den Panda Antivirus ausgelöst. Dem ersten Bugreport nach, gibt es für diesen Scanner zwar mittlerweile einen Fix, frühere Versionen und andere Programme können aber immer noch zum gleichen Symptom führen.

Aus irgendeinem Grund wird ein Nullbyte (0x00) am Ende einer zu versendenden Mail eingefügt. Das ist den Mailspezifikationen nach nicht erlaubt und Server oder Clients können sich daran verschlucken. Von der Weigerung des Mailservers Ihres ISP die Mail anzunehmen bis zur Fehlermeldung des empfangenden Mailclients ist also alles zu erwarten.

2. fehlende Verschlüsselung

Problem zwei wird z.B. von Norton Antivirus ausgelöst und kann verschiedene Effekte haben. So ist es z.B. plötzlich unmöglich eine verschlüsselte Verbindung zum SMTP-Server aufzubauen wenn dazu das STARTTLS-Kommando verwendet wird.

Das kann eine Fehlermeldung bewirken, daß Mozilla nicht mit dem Server verbinden konnte. Aber auch dazu führen, daß die Verbindung zwar hergestellt wird, der Server jede weitere Aktion mit der Meldung ablehnt, Sie sollten sich erst einloggen, weil sich Mozilla nicht eingeloggen konnte. Oder die Mail wird mit einer Fehlermeldung wie „relaying denied“ abgelehnt (wieder wegen fehlendem Login).

Ursache ist jedesmal, daß die Antivierensoftware ihre Mission, die Welt vor Viren von Ihrem Rechner zu schützen, bedroht sieht. In verschlüsselte Verbindungen kann sie nämlich nicht hineinsehen und durchscannen, deshalb wird der Aufbau einer verschlüsselten Verbindung unterbunden!

Das läuft so: Die Verbindung wird unverschlüsselt aufgebaut und der Server meldet dann, daß er das STARTTLS-Kommando beherrscht. Der Client sendet daraufhin dieses Kommando und nach positiver Bestätigung vom Server wird auf Verschlüsselung umgeschaltet.
Eine Spielart ist nun, daß die AV-Software die Zeile mit „STARTTLS“ aus der Liste der Fähigkeiten des Servers einfach löscht. Die zweite Spielart ist, daß auf das STARTTLS-Kommando des Clients die AV-Software eine Fehlermeldung des Servers vortäuscht. Der Effekt ist gleich: es kann keine TLS-Verbindung aufgebaut werden. Die AV-Software behält dadurch die Kontrolle, aber der Benutzer schaut in die Röhre.

3. Empfang hängt

Das dritte Problem wird durch eine eingehende kaputte Mail in Zusammenspiel mit McAfee VirusScan verursacht. Diese kaputten Mails (meistens Spam) enthalten Nullbytes (siehe oben), meistens kurz vor Nachrichtenende.

Während Mozilla seit einiger Zeit imun dagegen ist, kommt McAfees VS damit anscheinend nicht klar. Die Folge ist, der Scanner bleibt an der Null hängen und leitet den Rest der Mail, mit den wichtigen Bytes an denen der Client das Ende erkennen kann, nicht an den Client weiter. Mit dem Effekt, daß der Client wartet „für immer“ auf mehr Daten und einfach zu hängen scheint.

4. Empfang hängt 2

Das vierte Problem wird durch eine eingehende kaputte Mail in Zusammenspiel mit Norton Antivirus verursacht. Diese kaputten Mails haben nicht CRLF (0x0d0a) als Zeilentrenner, sondern nur ein LF (0x0a). Das ist laut RFC 2821 nicht erlaubt.

Mozilla macht auch das nichts aus, aber NAV scheint es dermaßen zu verwirren, daß überhaupt nichts von der Mail durchkommt. Nach einer anfänglichen Antwort „+OK Jetzt folgt die Mail“ kommt nichts mehr. Wieder mit dem Effekt, daß der Client „für immer“ auf mehr Daten wartet und einfach zu hängen scheint.

5. gelöschte Mails

Das fünfte Problem sind verschwundene Mailboxen. Das ist dann darauf zurückzuführen, daß Mozilla (wie die meisten eMail-Programme) Mails im mbox-Format abspeichert, also alle Mails in einer Datei. Ist ein Virenscanner also darauf eingestellt, Dateien nach Viren zu durchsuchen und die infizierten zu löschen, passiert es hin und wieder, daß die gesamte Mailboxdatei einfach gelöscht wird. Und das war's dann.

Vergrößert wird das Problem leider auch dadurch, daß Mozilla Mails beim Löschen nicht wirklich aus der Datei löscht, sondern nur ein entsprechendes Flag setzt (siehe X-Mozilla-Status erklärt). Dadurch bleiben aber auch die Viren die in Anhängen gespeichert sind auf der Platte. Obwohl sie dort inaktiv und völlig ungefährlich sind, tut der Virenscanner seinen Job.

6. kann nicht einloggen

Dieses Problem wird durch ein schlechtes Benehmen von Norton Antivirus (ich würde es nicht Bug nennen) in Verbindung mit einem buggy Mailserver.

Die Spezifikationen für POP3 und SMTP erlauben eine Antwort pro Kommando. Manche Server senden jedoch zwei (oder mehr), z.B.
-ERR invalid user or password
-ERR unsupported SASL authentication method
oder
421 out of memory (#4.3.0)
535 auth failure
Seit Bug 234421 haben wir einen Workaround in Mozilla und Thunderbird. Der löscht einfach den Empfangspuffer before das nächste Kommando versandt wird. So kann die zweite Antwort nicht als die für das nächste Kommando gehalten werden.

Das funktioniert für alle Server, die schnell genug sind, die zweite Antwort zu senden bevor wir fertig zum Absetzen des nächsten Kommandos sind. Und and diesem Punkt kommt NAV ins Spiel. Er sitzt zwischen dem Netzwerksocket undMozilla/TB. Und er liefert nur jeweils eine Zeile aus anstatt alle anliegenden Daten wie es ohne NAv wäre. Und so hilft das Leeren des Puffers nichts da zu diesem Zeitpunkt die zweite Antwort noch nicht im Puffer steht.

Ich nenne dieses NAV-Verhalten nicht „Bug“ da es keine Spezifikationen verletzt. Auch ist es kein Problem für sich, sondern nur in Verbindung mit einem kaputten Server (ein weiteres Beispiel ist der IMail Mailserver vor Version 8.14, Bug 258077). BTW, soweit ich weiß ich macht dies keine andere AV Software und meiner Meinung nach sollte auch keine Applikation die Kommunikation ändern außer sie hat einen guten Grund dafür (z.B. ein Angriff von außen oder ein Virus wurde im Datenstrom erkannt).

Folgerung

Da User bei Antivirenprogrammen nicht damit rechnen, daß sie den Datenstrom verändern, ist „natürlich“ der Mailclient schuldig. Aber Sie wissen es nun besser, gibt es ein Problem, sollten Sie also in jede Richtung ermitteln. Beenden Sie das Antivirenprogramm ganz und total – nicht einfach disablen, nicht auf inaktiv setzen. Denn es bleibt beispielsweise das Scanning der ausgehenden Nachrichten des Norton-AV aktiviert obwohl man den Scanner deaktiviert hat.

Wenn das Problem dann immer noch auftritt ist vielleicht wirklich der Client schuld. Wenn nicht, war's wohl der Scanner und Sie sollten nachsehen, welche Einstellung im Detail für das Problem verantwortlich ist.

[arrow up] hoch

letzte Änderung am 23.10.2009
© Christian Eyrich
Hauptseite | Webmaster