mod_qos
Stabil frisättning | 11 |
---|---|
Förvar | |
Skrivet i | C |
Operativ system | Cross-plattform |
Tillgänglig i | engelsk |
Typ | Modul för Apache HTTP-servern |
Licens | Apache-licens |
Hemsida |
mod_qos är en kvalitetsmodul (QoS) för Apache HTTP-servern som implementerar kontrollmekanismer som kan ge olika prioritet till olika förfrågningar.
Beskrivning
En webbserver kan bara betjäna ett begränsat antal samtidiga förfrågningar. QoS används för att säkerställa att viktiga resurser förblir tillgängliga under hög serverbelastning. mod_qos används för att avvisa förfrågningar till oviktiga resurser samtidigt som den ger åtkomst till viktigare applikationer. Det är också möjligt att inaktivera åtkomstbegränsningar, till exempel för förfrågningar till mycket viktiga resurser eller för mycket viktiga användare.
Kontrollmekanismer finns tillgängliga på följande nivåer:
- Begärannivåkontroll: mod_qos styr antalet samtidiga förfrågningar till ett namnutrymme (URL). Den används för att definiera olika prioriteringar för olika sidor eller applikationer inom en webbserver.
- Kontroll av anslutningsnivå: mod_qos styr antalet TCP-anslutningar till webbservern. Detta hjälper till att begränsa anslutningarna som kommer från en enskild klient eller från okända nätverk, för att minska det maximala antalet samtidiga anslutningar till en virtuell server eller för att implementera dynamiska HTTP Keep-alive-inställningar.
- Bandbreddsnivåkontroll: stryper förfrågningar/svar på viss URL på webbservern.
- Generisk förfrågningsrad och rubrikfilter tar bort misstänkta webbadresser för begäran eller HTTP-rubriker.
Modulen kan vara användbar när den används i en omvänd proxy för att dela upp resurser till olika webbservrar .
Användningsfall
Långsam applicering
Det första användningsfallet visar hur mod_qos kan undvika tjänsteavbrott på en webbserver på grund av långsamma svar från en enskild applikation. Om ett program (här /ccc) är mycket långsamt, väntar förfrågningar tills en timeout inträffar. På grund av många väntande förfrågningar får webbservern slut på lediga TCP-anslutningar och kan inte behandla andra förfrågningar till applikationen /aaa eller /bbb. mod_qos begränsar de samtidiga förfrågningarna till en applikation för att säkerställa tillgängligheten för andra resurser.
HTTP keep-alive
Keep-alive-tillägget till HTTP 1.1 tillåter beständiga TCP-anslutningar för flera förfrågningar/svar. Detta accelererar åtkomsten till webbservern på grund av mindre och optimerad nätverkstrafik. Nackdelen med dessa ihållande anslutningar är att serverresurser blockeras trots att ingen data utbyts mellan klient och server. mod_qos tillåter en server att stödja keep-alive så länge som tillräckligt många anslutningar är lediga, vilket stoppar keep-alive-stödet när en definierad anslutningströskel nås.
Klienten öppnar många samtidiga anslutningar
En enskild klient kan öppna många TCP-anslutningar samtidigt för att ladda ner olika innehåll från webbservern. Medan klienten får många anslutningar kanske andra användare inte kan komma åt servern eftersom inga lediga anslutningar kvarstår för dem. mod_qos kan begränsa antalet samtidiga anslutningar för en enda IP-källadress.
Många förfrågningar till en enda URL
Om du måste begränsa antalet förfrågningar till en URL kan mod_qos hjälpa till med det också. mod_qos begränsar det maximala antalet förfrågningar per sekund till denna URL. Modulen kan också styra bandbredd. Ange helt enkelt den maximalt tillåtna bandbredden och moq_qos börjar strypa när det blir nödvändigt.
Dämpande överbelastningsattacker med låg bandbredd
mod_qos kan hjälpa till att skydda en Apache-webbserver mot DoS-attacker med låg bandbredd genom att upprätthålla en minsta uppladdnings-/nedladdningskapacitet som en klient måste generera.
Historia
Den första versionen av mod_qos skapades i maj 2007 och publicerades på SourceForge.net som ett program med öppen källkod. Det kunde begränsa antalet samtidiga HTTP-förfrågningar för specificerade resurser (sökvägsdel av begärande URL:er ) på webbservern. Fler funktioner lades till och några av dem var användbara för att skydda Apache-servrar mot DoS- attacker. 2012 inkluderades mod_qos i Ubuntu Linux-distributionen.
Viktiga utgåvor:
- Maj 2007, version 1: Begränsar samtidiga förfrågningar per webbadress.
- Juli 2007, version 2.2: Introduktion av stödverktyg.
- Augusti 2007, version 3: Introducerar kontroller för anslutningsnivåer samt en statusvisare.
- September 2007, version 4: Begäran/svarsbegränsning och generisk förfrågningsfiltrering.
- December 2007, version 5: Begränsning av användardefinierade händelser.
- Mars 2008, version 6: Kontrollmekanismer per klient (IP).
- Maj 2008, version 7: Upprätthåller minsta uppladdnings-/nedladdningskapacitet som en klient måste generera.
- September 2009, Version 9: Anomalidetektering med hjälp av klientkarakteristisk mätning.
- Februari 2012, version 10: Lägger till geolokaliseringsfunktioner (ISO 3166 landskoder).
- Maj 2014, version 11: Förbättrar avsevärt svarsbegränsning (byte/sek begränsning).
- Juli 2015, version 11.15: Serialisering inte bara på en per server utan också på en per klient (IP) nivå.
- Maj 2016, version 11.28: Stöder differentierade tjänster genom att styra DSCP IP-fältet.