Mod security2
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.