Mod security2

Iš IV pagalba klientams.
09:23, 11 rugsėjo 2019 versija, sukurta IV IevaK (Aptarimas | indėlis)
(skirt) ← Ankstesnė versija | Dabartinė versija (skirt) | Vėlesnė versija → (skirt)
Peršokti į: navigacija, paiešką

Siekiame nuo internetinių įsilaužėlių apsaugoti ne tik mūsų serverius, bet ir mūsų klientų svetaines, todėl esame įdiegę specialų užklausų filtrą ( ModSecurity ), aptinkantį bandymus pasinaudoti programavimo klaidomis populiariose PHP programose (pvz., WordPress, Joomla, phpBB ir kt.)

Jei savo svetainėje naudojate atviro kodo programinę įrangą ir laiku jos neatnaujinate, jūsų svetainei gali grėsti PHP Injection, SQL Injection, Cross-Site Scripting ir kitos atakos, kurių esmė - pasinaudoti paliktomis programavimo klaidomis. Dažna atakų pasekmė - ištrinta arba sugadinta svetainė.

Taisyklės

Naujajai ModSecurity versijai pritaikėme komercines apsaugos taisykles. Šios taisyklės JAV kompanijos saugumo ekspertų yra kasdien tobulinamos ir atnaujinamos, kas leidžia užtikrinti dar didesnį klientų sistemų saugumą. Be saugumo spragų, naujosios taisyklės taip pat apsaugo nuo spamo, nepageidaujamų komentarų, slaptažodžių spėliojimo, "rootkit`ų", kenkėjiškų programų ir kt.

Modsecurity filtras gali būti valdomas .htaccess faile įrašant tam tikras direktyvas. Deja, bet naujoji ir senoji filtro versijos yra nesuderinamos tarpusavyje, tad visos ModSecurity 1.x taisyklės turi būti išjungtos arba pakeistos naujomis.

ModSecurity 2 versija palaiko šias .htaccess direktyvas:

  • SecAction
  • SecRule
  • SecRuleRemoveByMsg
  • SecRuleRemoveByTag
  • SecRuleRemoveById
  • SecRuleUpdateActionById
  • SecRuleUpdateTargetById
  • SecRuleUpdateTargetByTag
  • SecRuleUpdateTargetByMsg

Direktyvų aprašymą rasite šioje nuorodoje: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#wiki-Configuration_Directives

Skirtumų tarp Modsecurity 1.x ir Modsecurity 2.x lentelė yra pateikta šiuo adresu: https://github.com/SpiderLabs/ModSecurity/wiki/ModSecurity-Migration-Matrix

Neteisingai atmestos užklausos

Nors ir retai, tačiau gali pasitaikyti situacijų, kuomet filtras neteisingai atmes siunčiamas užklausas gražindamas „403 Forbidden“ klaidos pranešimą. Tokiais atvejais galite išjungti užklausų filtrą. Tam jums reikės sukurti .htaccess failą ir patalpinti jį svetainės public_html kataloge.

PASTABA: norint išjungti užklausų filtrą subdomenui, failą .htaccess reikės sukurti public_html/subdomenas/ kataloge. Koreguojant .htaccess failą svetainės public_html kataloge nebus daroma įtaka subdomeno užklausų filtravimui.

Rekomenduojame išjungti tik tą specifinę taisyklę, kuri klaidingai aptinka Jūsų užklausas kaip kenkėjiškas. Tam reikia žinoti specifinės taisyklės ID, kuris pateikiamas serverio web tarnybos klaidų išraše (Apache Error Log). Radę taisyklės ID, ją galite išjungti į .htaccess failą įrašę tokį turinį:

<IfModule mod_security2.c>
       SecRuleRemoveById 123456
</IfModule>

Šiame pavyzdyje išjungėme taisyklę kurios ID yra 123456.

Jei vis tik pageidaujate visiškai išjungti ModSecurity filtrą, į .htaccess failą įrašykite šias eilutes:

<IfModule mod_security2.c>
       SecRuleRemoveById 0:9999999
</IfModule>

Kiti pavyzdžiai

Keletas kitų ModSecurity pavyzdžių. Visų direktyvų aprašymą galite rasti adresu: https://github.com/SpiderLabs/ModSecurity/wiki/Reference-Manual#wiki-Configuration_Directives

IP adreso blokavimas:

<IfModule mod_security2.c>
       SecRule REMOTE_ADDR "123.123.123.123" "deny,id:1"
</IfModule>

User Agent blokavimas:

<IfModule mod_security2.c>
       SecRule REQUEST_HEADERS:User-Agent "BingBot" "deny,id:2"
</IfModule>

Pažymėtina, jog kiekvienos taisyklės ID turi būti unikalus.

Automatinis blokavimas

Už didelį kiekį Mod_Security taisyklių pažeidimų kenkėjiškas IP yra automatiškai blokuojamas. Jei IP adresas buvo blokuotas klaidingai, jį galima atblokuoti klientų sistemos pagalba.