Mod qos
mod_qos ist ein Modul für den Apache HTTP Server, das Quality-of-Service (QoS) realisiert. Es implementiert Mechanismen, um Zugriffe auf Ressourcen eines Webservers unterschiedlich zu priorisieren und zu steuern. BeschreibungEin Web-Server kann nur eine begrenzte Anzahl von gleichzeitigen Anfragen verarbeiten. QoS wird verwendet, um sicherzustellen, dass wichtige Ressourcen auch unter hoher Last verfügbar bleiben, indem Anfragen auf diese Ressourcen höher priorisiert werden als Anfragen auf weniger wichtige. mod_qos bietet verschiedene Kontrollmechanismen auf unterschiedlichen Ebenen:
Das Modul kann speziell in einem Reverse Proxy hilfreich sein, wo viele verschiedene Ressourcen und Applikationen über einen einzelnen Zugriffspunkt erreichbar sind (möglicher Flaschenhals). AnwendungsfälleLangsame ApplikationBietet ein einzelner Web-Server Zugriff auf verschiedene Applikation, so kann sich das Verhalten einer Applikation negativ auf die Verfügbarkeit anderer Applikationen auswirken. Ist beispielsweise eine Applikation (im oben gezeigten Bild Pfad /ccc) sehr langsam, kann es passieren, dass die viele Anfragen auf diese Applikationen einen Stau bilden und so alle Verbindungen zum Web-Server blockieren. Andere Applikationen (hier /aaa oder /bbb), die noch einwandfrei funktionieren würden, sind für die Benutzer nicht mehr erreichbar. mod_qos kann in einem solchen Fall die maximale Anzahl gleichzeitiger Anfragen auf die langsame Applikation begrenzen, damit die anderen beiden Applikationen verfügbar bleiben. HTTP Keep-AliveDie sogenannte „Keep-Alive“-Erweiterung von HTTP 1.1 erlaubt persistente TCP-Verbindungen zwischen Client und Server über die mehrere HTTP-Anforderungen („requests“) ausgeführt werden können. Dies beschleunigt das Laden einer Web-Seite im Browser. Ein Nachteil dabei ist, dass während den Wartezeiten, in denen keine Anforderung verarbeitet wird, auf dem Server trotzdem Ressourcen blockiert sind. mod_qos erlaubt es einem Server, Keep-Alive zu unterstützen, solange er noch genügend freie Ressourcen hat, diese Funktion aber zu deaktivieren, falls zu viele Verbindungen zum Server geöffnet werden. Viele Anfragen auf dieselbe URLmod_qos kann die Anzahl gleichzeitiger Anfragen an eine URL begrenzen. Weiter kann die maximale Anzahl der Anfragen pro Zeit und auch die maximal erlaubte Bandbreite definiert werden. Abwehr von Attacken des Typs „Denial of Service (DoS)“mod_qos kann helfen, einen Web-Server vor Attacken zu schützen vom sogenannten Typ „Low-bandwidth denial of service“. Dabei versuchen Angreifer mit Programmen wie Slowloris oder LOIC einen Web-Server zu blockieren, indem sie auf offenen TCP-Ports nur sehr wenige Daten zum Server senden. mod_qos versucht solche Verbindungen zu unterbinden, indem es Verbindungen mit zu wenig Datenaustausch schließt[2]. GeschichteDer erste Release von mod_qos erschien im Mai 2007. Die Software wurde auf SourceForge.net[3] als Open-Source-Projekt veröffentlicht. Die erste Version war in der Lage die Anzahl paralleler Requests auf vordefinierte Ressourcen zu limitieren. Nach und nach wurden mehr Funktionen implementiert und einige davon wurden zur Bekämpfung von DoS Attacken eingesetzt[4][5]. Im Jahr 2012 wurde mod_qos in das Software-Repository der Linux-Distribution Ubuntu aufgenommen[6]. Major releases[7]:
Einzelnachweise
|