Az f5 elleni védelem
Ha megnyomja az F5 billentyűt a böngészőablakban, és néhány percig tartja, könnyed DDOS támadást szervezhet a webhelyen. Az F5 funkciógomb jelzi a böngészőnek az oldal újratöltését.
Ha megnyomja és hosszú ideig tartja, akkor a számítógép sokszor megismételni próbálja (oldal), így többszörös kérések formájában terhelést hoz létre a kiszolgálón. És mivel bármely szerver képességei nem korlátlanok, akkor a kérések "érzéseinek" túlteljesedésével abbahagyhatja a munkát.
A kiszolgáló a kiszolgáló, a webhely és a használt CMS műszaki jellemzőitől és beállításaitól függ. Ebben a cikkben leírom, hogyan kell helyesen konfigurálni az Apache2 webszervert, hogy még az 512 MB-os memóriával rendelkező legkisebb modullal rendelkező VDS-kiszolgáló is nagyszámú kérelemmel szembesüljön, beleértve az F5 billentyű által okozott kéréseket is.
Felkészülés a szerver konfigurálására
Határozza meg, melyik MPM modul használja az Apache2-t. A CentOS esetében ez így néz ki:
Nagyszerű, van Server MPM: Prefork
Az Apache konfigurálása, ez nem lenne probléma a zhore memóriával
Az Apache MPM Prefork modul paramétereinek rövid leírása
StartServers - a kiszolgáló indításakor létrehozott gyermekprojektek száma.
A MinSpareServers a minimális számú felesleges (tartalék) gyermekszerver folyamat, amely a potenciális kérésekre vár.
MaxSpareServers - a potenciális kérésekre váró tartalék folyamatok maximális száma. Ha ezt a számot túllépték, a felesleges folyamatok meg fognak ölni.
A MaxClients - az MPM prefork modul legfontosabb paramétere, beállítja az egyidejűleg aktív folyamatok számának felső határát. A memóriafelhasználás függ. Az értéke felülírja az előző paraméterek értékét.
A ServerLimit általában MaxClients.
MaxRequestsPerChild - mennyire gyakran szervezi a folyamatokat a folyamatok feldolgozása, a régiek megölése és az újak indítása. Hasznos az Apache és annak könyvtárai memória szivárgásának.
A KeepAlive - hosszú távú HTTP-munkameneteket biztosít, lehetővé téve több kérés küldését ugyanazon a kapcsolaton keresztül. Hasznos lehet bekapcsolni, ha az oldalak sok képet tartalmaznak. De ha az NGINX-t proxykiszolgálóként használja, akkor hagyja ki az értéket.
Lásd még: A probléma megoldása Nem sikerült: initscripts.x86_64 0: 9.49.24-1.el7 a CentOS 7-en
A legfontosabb paraméter a MaxClients. csak az Apache webszerver egyidejű folyamatainak számáról beszél.
A MaxClients értékének megállapítása
Értékének meghatározása nem nehéz. Az 512 MB RAM méretű kiszolgáló értékének kiszámítása. Úgy döntöttünk, hogy az Apache erőforrásainak 50% -át adjuk meg, azaz 256 MB-ot a mi esetünkben.
Határozza meg, hogy hány memória egy folyamat eltörölni fogja:
A következő értékeket kapjuk:
Kiderült, hogy átlagosan egy Apache folyamat 21 MB-ot fogyaszt. Ennek megfelelõen a 256 MB felosztott térfogatban 12 folyamatot tudunk futtatni.
Javítsuk ki az új érték konfigurációs fájlját:
A többi paraméter javítva az 512 MB RAM memóriával rendelkező szerverre vonatkozó ajánlások alapján.
Miután módosította a konfigurációs fájlt, ne felejtse el újratölteni az Appache fájlt:
köszönöm
A cikk írásakor a következő források kerültek felhasználásra: