Allgemeine Frage zu SMTP MIME Anhaengen

29/12/2008 - 17:29 von Benjamin Wagrocki | Report spam
Hallo NG,

ich habe mal eine allgemeine Frage zur Emailübertragung.
Anhànge werden ja für die Übertragung verschieden kodiert. Mal 7bit,
8bit, mal base64.

Was passiert, wenn ich eine Application Layer Firewall für SMTP so
konfiguriere, dass sie keine base64 kodierten Anhàge erlaubt?

Erkennen das der Sender und Empfànger und wird dann einfach eine andere
Kodierung verwendet? Oder wie làuft das ab?

Ich kenne mich mit Mailservern nicht besonders aus. Ich analysiere nur
gerade ein paar Firewalls und da kam mir die Frage auf.

Folgendes Szenario wàre denkbar: Mailserver enthàlt eine Schwachstelle,
die durch Base64-kodierte Anhànge ausgenutzt werden kann. Nun freut es
micht, dass ich eine teure Application Layer Firewall habe, auf der ich
Base64-kodierte Anhànge verbieten kann. Bekommen dann die User trotzdem
ihre Anhànge, nur halt anders kodiert, oder kommen die Anhànge gar nicht
an?

Wie und wann wird bestimmt, wie z.B. ein jpeg-Bild kodiert (7-bit,
8-bit, base64) wird? Wird dass wàhrend der SMTP-Verbindung zwischen
Client und Server ausgehandelt?

Vielen Dank

-Benjamin-
 

Lesen sie die antworten

#1 Jochen Ruhland
30/12/2008 - 09:59 | Warnen spam
Hi,

Benjamin Wagrocki schrieb:

Was passiert, wenn ich eine Application Layer Firewall für SMTP so
konfiguriere, dass sie keine base64 kodierten Anhàge erlaubt?



da wàre jetzt die Frage wie genau das Teil arbeitet.

Erkennen das der Sender und Empfànger und wird dann einfach eine
andere Kodierung verwendet? Oder wie làuft das ab?



kommt drauf an wie die Firewall dem sendenden System mitteilt das er
die Nachricht so nicht mag.

Bekommen dann die User trotzdem ihre Anhànge, nur halt anders
kodiert, oder kommen die Anhànge gar nicht an?



im Zweifel kommt die Mail komplett nicht durch.

Wie und wann wird bestimmt, wie z.B. ein jpeg-Bild kodiert (7-bit,
8-bit, base64) wird? Wird dass wàhrend der SMTP-Verbindung zwischen
Client und Server ausgehandelt?



Das bestimmt alleinig das sendende System. Der Mailserver stellt die
Mail komplett zusammen und da gehört eben auch die kodoerte Teil mit
dazu. Der ist für den SMTP-Server nicht als einzelner Mailbestandteil
erkennbar.

Bei Exchange (und einigen anderen Srevern) kommt jetzt noch eine
zusàtzliche Ebene hinzu: 8BITMIME
(http://en.wikipedia.org/wiki/8BITMIME). Damit geben die Server beim
Verbindungsaufbau eines Klienten zu erkennen, daß die den vollen
8-Bit-Zeichensatz unterstützen. Das sendende System könnte dann seine
Mail passende kodiert senden, z.B. ein anderer Exchange der die Anhànge
ja intern binàr und nicht kodiert speichert.

Im üblichen Fall (SMTP-Server hat SMTP-Nachricht bekommen und gibt
diese an anderen SMTP-Server weiter) erfolgt jedoch keine Umkodierung.

Zurück zu deinem Anwendungsfall: Wenn deine FW als SMTP-Relay arbeitet
müsste diese dem sendenden SMTP-Server die Nachricht abnehmen,
analysierén und dann noch wàhrend der Übertragung (am Ende des
<CRLF>.<CRLF> das den DATA-Part beendet) einen Fehlerstatus an das
sendende System geben. Allerdings gibt es keinen Statuscode für "ich
mag die Kodierung nicht". Somit kriegt das sendende System einen
unverstàndlichen Statuscode zurücvk den es nur an seinen sendenden
Benutzer abliefern kann. Der wird es auch nicht verstehen und (im
Zweifel) auch nicht die Möglichkeit haben, eine andere Mailkodierung
auszuwàhlen.

Jochen

Ähnliche fragen