<tl;dr>Die Sophos SG UTM9 neigt dazu, auch gewollte UDP-Übertragungen via „Flood Protection“ zu stören. Sofortige Abhilfe schafft die Deaktivierung dieses Features.</tl;dr>
Vor einigen Wochen erreichte uns eine Unterstützungsfrage eines Kunden. Das zu lösende Problem war, dass häufiger Telefonverbindungen „blechern“ klangen, Telefonate verzerrt oder abgehackt wurden. Im Vorfeld unserer Tätigkeit wurde mit dem 3CX-Partner, welche die Anlage installiert hatte, eine umfangreiche Fehleranalyse durchgeführt, als Vermutung stand ein Performance-Problem der IT-Umgebung im Raum, da teilweise auch Verzögerungen bei SSH-Session festgestellt wurden.
Im gegebenen Szenario war eine 3CX-Telefonanlage eingeführt worden, welche als virtuelle Maschine (Ubuntu) in einer vorhandenen virtualisierten Umgebung (VMWare Cluster mit klassischem SAN-Storage via iSCSI) eingesetzt wurde.
Das Auftreten der Telefonie-Störungen konnte nicht konkret eingegrenzt werden, typischerweise „später Vormittag“ bis „früher Nachmittag“. Aus Analyse-Sicht haben wir abgeleitet, dass dies die Kernarbeitszeit ist, und die Probleme somit bei vermuteter Spitzenlast auftreten.
Innerhalb der ersten Analyse waren keine Auffälligkeiten innerhalb der VMWare Landschaft festgestellt; die Leistungsparameter zeigten keine relevanten Latenzen oder Last-Spitzen, welche das Problem erklärt hätten. Daher wurde eine Support-Sitzung außerhalb der Regelarbeitszeit vereinbart, um das Problem zu reproduzieren.
Im ersten Anlauf wurde versucht, die VMWare Umgebung, insbesondere den Host und den Speicher, auf dem die Telefonanlage betrieben wurde, an die Lastgrenzen zu bringen. Hierfür würde mittels eines Performance-Testers massive Last auf der CPU und dem Speicher erzeugt; testweise geführte Telefonate zeigten sich davon unbeeindruckt, die Verbindung war einwandfrei.
Als zweiter Anlauf wurde von der Konsole der Ubuntu-VM „unter“ der 3CX ein Netzwerk-Lasttest mittels iperf gestartet. Ein Durchsatz von einem Gigabit pro Sekunde sorgte im Testszenario via UDP für ein sofortiges vollständiges Aussetzen der Telefonie-Verbindungen. Erst nach Ende der Datenübertragung war eine Verständigung wieder möglich. Bei identischem Test via TCP kam es zu keinen Aussetzern.
Da die Hosts via mehrfacher 10GBIt/s NIC an den Switch angebunden waren, konnte hier ein Engpass ausgeschlossen werden; somit rückte die vorhandene Sophos SG-Firewall als nächste Komponente in den Focus. Nach Kundenangabe waren hier alle Netzwerk-Schutzfunktionen innerhalb der Firewall-Regel deaktiviert worden, was sich bei einer Prüfung auch so darstellte.
Weitere Tests zeigten auf, dass bei UDP-Datenverkehr zwischen 10 und 1000 Mbit/s jegliche Gespräche sofort vorübergehend ohne Audio-Übertragung blieben, sofern diese auf der 3CX-Anlage terminierten. (Bei VoIP-Telefonen innerhalb derselben LAN-Umgebung läuft der Audio-Strom typischerweise direkt zwischen den Telefonen, und nicht über die Telefonanlage oder einen Session Border Controller.)
Bei weiterer Reduktion der Test-Bandbreite für den UDP Datenstrom zeigte sich, dass zwischen 1 und 5 Mbit/s Datenverkehr die bekannten Probleme, also abgehackte und verzerrte Audio-Übertragung auftraten. Diese Datenmenge entspricht (sehr grob) mehr als 10-20 gleichzeitigen Telefonaten, was zur Kernarbeitszeit durchaus auftreten dürfte.
Somit war die Reproduzierbarkeit hergestellt, was jedoch bei der Ursachensuche nur begrenzt hilfreich war. Um dem Problem auf die Spur zu kommen, wurden mehrfache Tests durchgeführt, und zeitgleich alle zur Verfügung stehenden Protokolle analysiert. Hierbei zeigte sich innerhalb der Sophos SG Firewall, dass die UDP-Flood-Protection die Datenströme ab 1 MBIt/s als Angriff interpretierte, und somit die Übermittlung verweigerte. Interessanterweise ist diese Flood-Protection nicht auf Regelebene, sondern für die gesamte Firewall zu konfigurieren; die entsprechende Konfiguration findet sich im Bereich „Intrusion Prevention“.
Durch testweise Deaktivierung der Flood Protection war das Problem schlagartig beseitigt. Es zeigte sich hierbei, dass eine Konfiguration von Regel-Ausnahmen teilweise nicht wirkte. Letztendlich wurde die Flood Protection dauerhaft deaktiviert.
Nur einen Tag später erreichte uns eine vergleichbare Anfrage eines Partners, welcher bei Remotedesktop-Verbindungen via UDP immense Latenzen bemerkte, so dass Audio- und Videoübertragungen nur eingeschränkt möglich waren. Mehrere Wochen Problemanalyse, einschließlich Sitzungen mit dem Sophos-Herstellersupport, der Tausch von Rechenzentrums-Komponenten brachten keine Besserungen. Hier konnten wir mit unseren Erfahrungen vom Vortag die Aufmerksamkeit auf die Flood Protection lenken, welche sich als ursächlich herausstelle; somit war das seit Monaten bestehende Problem binnen weniger Minuten nach der Anfrage gelöst.
Letztendlich bleibt die Frage zu stellen, ob eine vollständige Deaktivierung des UDP-Schutzes neben einer Sofort-Hilfe auch die langfristig korrekte Lösung ist; die langfristige Betrachtung und die Abstufung, ob Ausnahmen oder Konfigurationsanpassungen wirken fanden in den genannten Fällen durch den Partner bzw. die interne IT-Abteilung des Kunden statt.