Opened 6 years ago
Closed 5 years ago
#3507 closed Defekt (erledigt)
Hochladen bestimmter PDF-Dateien (und anderer?) scheitert
| Reported by: | Rüdiger Kupper | Owned by: | bau |
|---|---|---|---|
| Priority: | schnell erledigen | Milestone: | Schuljahr 2019/20 |
| Component: | Webdienst: Mail | Severity: | beeinträchtigt den Unterricht einiger Lehrer |
| Keywords: | Cc: | Stephan Richter |
Description
Bestimmte Dateien lassen sich über SOGo nicht als Anhang verschicken: Die Datei wird offenbar zum Server geschickt, dann erscheint aber die Fehlermeldung »Hochladen der Datei gescheitert«.
Der Fehler ist für die betreffenden Dateien reproduzierbar. Versand über IMAP (via VPN) klappt problemlos.
Betroffen sind viele Kollegen, siehe CC-Liste.
Geprüfte Fehlerquellen
- der Fehler hängt nicht vom Dateinamen ab (Umlaute oder Whitespace)
- der Fehler hängt nicht von der Dateigröße ab
- die Dateien sind virenfrei (geprüft an Beispieldateien mit ClamAV)
Change History (23)
comment:1 by , 6 years ago
| Summary: | SOGo: Versand bestimmter PDF-Dateien (und anderer?) scheitert → Hochladen bestimmter PDF-Dateien (und anderer?) scheitert |
|---|
comment:2 by , 6 years ago
- @bau
- Auf welchem Weg gelangen die Dateien denn zu Trac und SOGo? Trac läuft auf dem paedml, SOGo nicht, oder?
comment:4 by , 6 years ago
Trac läuft direkt im Apache des paedml, SOGo wird von genau demselben Apache auf den internen Server (per Proxy-Modul) weitergeleitet. Auch möglich ist, dass das in der Firewall hängenbleibt - wenn du mal von INNEN das PDF versuchst an den TRAC zu hängen geht es nicht über den IPFire.
comment:5 by , 6 years ago
Hochladen funktioniert auch von innen nicht, weder mit SOGo, noch mit Trac. Im Apache-Log taucht beide Male folgende Fehlermeldung auf:
- Trac
-
Fri Jul 03 14:40:47 2020] [error] [client 10.16.112.226] ModSecurity: Access denied with code 44 (phase 2). Match of "eq 0" against "MULTIPART_UNMATCHED_BOUNDARY" required. [file "/etc/modsecurity/modsecurity.conf"] [line "91"] [msg "Multipart parser detected a possible unmatched boundary."] [hostname "paedml.kg-fds.de"] [uri "/trac/attachment/ticket/3507/"] [unique_id "Xv8nTwogAQEAADhD7kMAAAAH"]
- SOGo
-
[Fri Jul 03 14:44:17 2020] [error] [client 10.16.112.226] ModSecurity: Access denied with code 44 (phase 2). Match of "eq 0" against "MULTIPART_UNMATCHED_BOUNDARY" required. [file "/etc/modsecurity/modsecurity.conf"] [line "91"] [msg "Multipart parser detected a possible unmatched boundary."] [hostname "paedml.kg-fds.de"] [uri "/SOGo/so/kup/Mail/0/folderEntwurf/newDraft1593780225-1/save"] [unique_id "Xv8oIQogAQEAADvcBa8AAAAO"]
Demnach ist das MIME-Format der hochgeladenen Datei defekt…?
comment:6 by , 6 years ago
- @bau
- Googeln nach der Logmessage hat ergeben, dass das Problem im Apache-Modul
mod_securityliegt (eine Web-Firewall, die verschiedene Angriffe abwehren soll). Offenbar reicht es, das Modul zu aktualisieren. Ob wir das auf dem alten Server aber noch tun wollen?
- https://github.com/SpiderLabs/ModSecurity/issues/1804
- https://github.com/SpiderLabs/ModSecurity/pull/1747
- https://github.com/SpiderLabs/ModSecurity/issues/2021
Zur Not kann man das Modul auch deaktivieren, das ist aber eine eher schlechte Idee:
- https://support.plesk.com/hc/en-us/articles/213961065-Unable-to-attach-files-or-import-emails-in-Horde-or-upload-files-to-a-website-when-ModSecurity-is-enabled
- https://sourceforge.net/p/mod-security/mailman/message/31205650/
- Maßnahmen
- Versuchen, ob wir den Apache bzw. nur das Modul mod_security auf dem paedml aktualisieren können. Wenn nicht, deaktivieren(?) und möglichst schnell zum neuen Server wechseln.
comment:7 by , 6 years ago
Weitere Alternative:
SOGo per Firewall auf proxmoxLS auf den internen Server weiterleiten lassen.
Dann läuft es eben nicht auf Port 443 sondern eben auf z.B. 20443, den iptables nach intern weitergibt.
comment:8 by , 6 years ago
mod_security lässt sich auf paedml nicht wirklich sinnvoll upgraden (Branch 3 wäre nötig).
comment:9 by , 6 years ago
Deaktivieren ist keine Option, vermute ich. Dann wäre Dein Vorschlag in comment:7 die Maßnahme.
Wie schnell können wir den neuen Server in Betrieb nehmen?
comment:10 by , 6 years ago
Man kann statt es ganzen Moduls auch nur diese bestimmte Regel deaktivieren, die hier fehlläuft.
comment:11 by , 6 years ago
Würde die direkte Weiterleitung vom proxmoxLS nicht auch alle Sicherheitsprüfungen umgehen? In dem Fall wäre ich dafür, die einzelne Regel zu deaktivieren.
comment:12 by , 6 years ago
Die Weiterleitung würde auf einen Apache2 auf dem SOGo-Server laufen, der hat ja sein eigenes mod_security.
Von dort wird es per mod_proxy auf den SOGo-Daemon auf port 20000 geleitet.
comment:13 by , 6 years ago
Dann würde ich sagen, wir machen es so und überlegen uns dann für den neuen Server ein geeignetes Setup.
comment:14 by , 6 years ago
Anbei: Es sind noch knapp drei Wochen im Schuljahr. Über die Sommerferien setzen wir hoffentlich den neuen Server auf. Aufwands-Nutzen-Abschätzung.
comment:15 by , 6 years ago
Die meisten Anhänge gehen raus. Für den Rest haben die Kollegen Ausweichmöglichkeiten.
comment:16 by , 6 years ago
Ich habe für SOGo nun eine Route am paedml vorbei gebaut.
Probier bitte mal aus, ob man solcherlei PDF (also solche, die Probleme machten) hochladen kann:
comment:17 by , 6 years ago
Erfolg.
Der neue Link funktioniert, dort kann ich die PDFs verschicken, die über den alten Link abgelehnt werden.
(Der neue Link funktioniert lediglich nicht über das VPN, wie Du aber sicher weißt.)
TODO:: Den üblichen SOGo-Link auf die neue Adresse weiterleiten, dann dieses Ticket schließen.
comment:18 by , 6 years ago
ToDo:
- Port 20000 auch intern im Schülernetz und Lehrernetz hinbiegen (muss von paedml.kg-fds.de weitergehen: 10.32.1.1 oder 10.16.112.4)
- Port 20000 wird von ProxMoxLS an 10.16.112.9:443 weitergeleitet
comment:21 by , 5 years ago
| Cc: | added; removed |
|---|---|
| Resolution: | erledigt |
| Status: | closed → reopened |
Kann es sein, dass das gleiche Problem nun auf den Tablets im MobileDevices-WLAN auftritt?
Zumindest scheitere ich gerade daran, eine PDF zu verschicken.
comment:22 by , 5 years ago
Problem ist das von Rüdiger oben beschriebene mod_security.
Wir wollten das auf keine Fall für alle ausschalten, nach https://sysadminde.com/questions/57210/disable-modsecurity-for-a-specific-directory kann man es aber auch für einzelne Verzeichnisse ausschalten, das habe ich nun gemacht:
<Location "/SOGo">
SecRuleEngine Off
</Location>
Bitte testen!
Gerade beobachte ich etwas, was uns vielleicht weiter bringt:
Ich wollte zwei Dateien, die ich von bad erhalten habe und bei denen das Problem auftritt, an dieses Ticket anhängen. Und siehe: es geht nicht! Fehlermeldung:
Ein anderes PDF ließ sich problemlos anhängen.
Das Problem ist also nicht spezifisch für SOGo, sondern der Upload dieser Dateien zu unserem Server scheitert generell.