okt 26

Apache2: qos

Nemrégiben gondom akadt egy gépen a folyamatos DDoS olás miatt állandóan leakadt az apache szerver. Nagyon megelégeltem és mivel sajnos nincs előtte valamilyen hardveres tűzfal ami szépen eldobálná ezeket a kapcsolatokat muszáj voltam keresni valami szoftveres megoldást. Persze a debian stable és oldstable csomagok között még véletlenül sincs ilyen, csak az unstable és a testing csomagokban találtam apachehoz qos modult. De se gáz, hozzá lehet ezt szépen adni anélkül is.

Mi is a QoS (Quality of Service): A QOS egy olyan hálózati eljárások összessége, amivel a QoS használatára felkészített eszközök vagy programok számára megfelelő minőségű adatforgalmat lehet biztosítani. A QoS segítségével a hálózaton meghatározott sebességgel és adott időkereten belül lehet az adatokat továbbítani. A QOS szolgáltatást az IEEE 802.1p szabvány támogatja. (Forrás: http://hu.net.wikia.com/wiki/QOS)

Tehát az apache QoS modult egyszerűen le lehet tölteni innen: http://opensource.adnovum.ch/mod_qos/ tar.gz formátumban. Ezután a tlelpítés lépései a következők:

  1. Töltsd le a modult.
  2. Tömörtsd ki
  3. A kitömörített modulban lépj be az apach2 könyvtárba
  4. Ha még nem lenne telepítve a következő két modul akkor install előtt telepíteni kell ezeket (apache2-threaded-dev gcc)
  5. Telepítsd fel a modult a következő paranccsal: “apxs2 -i -c mod_qos.c”
  6. Készítsd el a qos modul apache betöltő fájlját a következő parancsal (persze máshogy is lehetséges):  echo “LoadModule qos_module /usr/lib/apache2/modules/mod_qos.so” > /etc/apache2/mods-available/qos.load
  7. Készíts qos.conf fájlt ami a qos modul konfigurációs fájlja lesz, például: touch etc/apache2/mods-available/qos.conf
  8. Konfiguráld be a modul, ehhez itt egy alap konfig:
    “# maximum number of active TCP connections is limited to 896 (limited
    # by the available memory, adjust the settings according to the used
    # hardware):
    MaxClients 896

    # idle timeout:
    Timeout 20

    # keep alive (for up to 85% of all connections):
    KeepAlive on
    MaxKeepAliveRequests 60
    KeepAliveTimeout 3
    QS_SrvMaxConnClose 85%

    # name of the HTTP response header which marks preferred clients (this
    # may be used to let the application decide which clients are “good” and
    # have higher privileges, e.g. authenticated users. you may also use
    # the QS_VipUser directive when using an Apache authentication module such
    # as mod_auth_basic or mod_auth_oid):
    QS_VipIPHeaderName mod-qos-login

    # enables the known client prefer mode (server allows new TCP connections
    # from known/good clients only when is has more than 716 open TCP connections):
    QS_ClientPrefer 80

    # minimum request/response speed (deny slow clients blocking the server,
    # e.g. defending slowloris):
    QS_SrvMinDataRate 120 1500 400

    # and limit request line, header and body:
    LimitRequestLine 7168
    LimitRequestFields 30
    QS_LimitRequestBody 102400

    # don’t allow more than 30 TCP connections per client source address:
    QS_SrvMaxConnPerIP 30

  9. Kapcsolat be a modult majd apache restart: “a2enmod qos”, “/etc/init.d/apache2 restart”
  10. örülj!

A konfig nem teljeskörű a fenti linken a teljes paraméterezés is látható, jó szórakozást hozzá!

Vélemény, hozzászólás?