LAMP++

Amit egy Linuxos webszerverből (ésszerű határok közt) ki lehet hozni az itt megtalálható.

Kapcsolódó oldalak

Címkék

apache (8) backup (1) blog (1) cache (1) chroot (4) cms (1) daemontools (2) ddos (1) djb (1) dns (2) dos (1) email (1) geoip (1) google (2) ip (1) kvm (1) lamp (1) linux (1) mail (1) mysql (4) nginx (3) pdumpfs (1) php (8) pound (1) proxy (2) regcheck (1) seo (2) shell (1) shorewall (1) snapshot (1) spl (1) ssl (1) statisztika (1) szerver (1) thttpd (1) tinydns (1) tűzfal (1) ubuntu (1) virtualizáció (1) wordpress (2) Címkefelhő

Utolsó kommentek

  • aFoP: Írtam bash szkriptet ami a fent letölthető hu.csv-ből legenerálja az összes hálózat-címet, így már... (2014.04.26. 10:51) Magyar IP tartományok
  • Oszi: A JPEG support -hoz nem árt még ez is: --with-jpeg-dir=/usr/include (2009.06.08. 10:52) PHP fordítás
  • Oszi: @bagoj ur: OK, össze szedem magam és blogba vésem amit tudok. Hamarosan... (2009.03.05. 20:18) Virtualizáció KVM -el
  • Utolsó 20

Feedek

Védekezés DDoS (DoS) ellen

2009.03.30. 11:40 Oszi

A DoS gáz dolog. Ha jól csinálják akkor sok mindent úgyse tehet az ember, de azért normál site -oknál ritka, hogy igazán "komoly ellenséget" szerezzen az ember, úgyhogy valószinűleg az esetleges támadás se kivédhetetlen.

Webszervereknél legelső védvonal a tűzfal. Léteznek olyan megoldások amik dinamikusan a forgalom elemzése alapján generálnak új tűzfal szabályokat és ezzel zárják ki az esetleges támadókat. Én ezekkel most nem foglalkozom. Nem mintha nem lennének jók, de valahogy ódzkodom attól, hogy életre keljen a szerverem ;)

Amit viszont használok az a shorewall blacklist funkciója. Itt kézzel kell hozzáadni a nem kivánatos IP -ket a blacklist filehoz. Hogy mik a kitiltandó IP -k azt a logokból vagy így lehet meghatározni.

Következő lépés a proxy. Ezzel sok baj nincs az nginx elég gyors, de azért picit ezen is lehet finomítani. A client_body_timeout és a client_header_timeout értékek megfelelően kicsi megválasztásával lehet segíteni a dolgon. Hogy mennyi a megfelelően kicsi az jó kérdés. A default az 60 sec én átállítottam 10 sec -re, erre még senki se panaszkodott.

Következik az Apache. Ez már problémás dolog, mivel a kiszolgálás ideje itt veszik el. Itt van az a pont ahol előjön, hogy az adott alkalmazás mennyire van jól megírva. Ha egy kérés kiszolgálása több másodpercig fut akkor DoS se kell ahoz, hogy vészessen belassuljon a szerver. Mivel a DoS elleni védekezés jórészt teljesítmény kérdés ezért érdemes azzal is foglalkozni. Következő postomban néhány módszert fogok mutatni a lassú alkalmazások felderítésére, de addig is mit lehet tenni a szerverrel?

Az Apache -nak vannak ilyenirányú útmutatásai, ezeken érdemes végigmenni. Én még ide sorolnám a MaxRequestsPerChild -et is. Ezt célszerű egy nem túl magas értékre állítani (5000), ami lehet, jót tesz a vészes memória fogyás ellen. Érdekes kérdés még a KeepAlive, hogy kell e egyáltalán? Normál esetben nyilván jó ha van, de ha proxy mögött vagyunk (ahol be van állítva) és az Apache -hoz csak a PHP -s cuccok jutnak el már nem kéne. Köztes esetekben, fogalmam sincs, - ki kéne próbálni, melyik a gyorsabb. Én nálam van, csak levettem a KeepAliveTimeout -ot.

Végezetül, egy célszerszám a mod_evasive, ami egy DoS elleni védekezést támogató Apache modul. Ez tud aktívan is védekezni, de én csak passzív módon használom. Mikor egy adott IP -ről a megadottnál gyakrabban jön kérés akkor oda 403 -al válaszol. Bővebben ittlehet róla olvasni.

Szólj hozzá!

Címkék: apache dos ddos nginx

A bejegyzés trackback címe:

https://lamp.blog.hu/api/trackback/id/tr101034865

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása