Mod security 2 išjungimas: Skirtumas tarp puslapio versijų

Iš IV pagalba klientams.
Peršokti į: navigacija, paiešką
 
(nerodoma 18 tarpinių versijų, sukurtų 2 naudotojų)
1 eilutė: 1 eilutė:
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ą ( mod_security ), aptinkantį bandymus pasinaudoti programavimo klaidomis populiariose PHP programose (pvz., WordPress, Joomla, phpBB ir kt.)
+
Jei viena ar kelios [[Mod_security2|mod_security2 filtro]] taisyklės veikia nekorektiškai jas galima išjungti. Rekomenduojame išjungti tik tą taisyklę dėl kurios kyla problemų. Taisyklės išjungimui tereikia žinoti jos numerį (ID), kurį galite rasti serverio [[Web serverio klaidų išrašo peržiūra|web tarnybos klaidų išraše]] (Apache Error Log). Turint taisyklės numerį(ID), ją galite išjungti '''į .htaccess''' failą įrašę tokias taisykles:
  
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ė.
+
* Norint išjungti vieną taisyklę:
  
Serveriai.lt filtras daugumą tokių atakų atpažįsta ir sulaiko. Sulaikytos piktybinės užklausos nėra vykdomos, o įsilaužėliui yra grąžinamas ''„400 Bad Request“'' klaidos pranešimas.
+
<IfModule mod_security2.c>
 +
        SecRuleRemoveById 123456
 +
</IfModule>
  
Nors ir retai, tačiau gali pasitaikyti situacijų, kuomet filtras atmes jūsų siunčiamas užklausas, pvz., testuojant svetainę. Tokiais atvejais galite išjungti užklausų filtrą. Tam jums reikės sukurti .htaccess failą ir patalpinti jį svetainės public_html direktorijoje. Šiame faile turi būti įrašyta tokia eilutė:
+
123456 - taisyklės numeris. Jei reikia išjungti kelias taisykles, galima įrašyti keletą eilučių:
 +
        SecRuleRemoveById 123456
 +
        SecRuleRemoveById 123457
 +
        SecRuleRemoveById 123458
  
SecfilterEngine Off
+
* Norint išjungti mod_security2:
  
Norėdami vėl įjungti užklausų filtravimą, tiesiog pašalinkite šį failą.
+
<IfModule mod_security2.c>
 
+
        SecRuleRemoveById 0:9999999
Kitas būdas atjungti mod_security veikimą yra į .htaccess įterpiant šias eilutes:
+
</IfModule>
  
<nowiki><IfModule mod_security2.c>
 
  
SecRuleRemoveById 0:9999999
+
;Įrašo iš klaidų žurnalo pavyzdys:
 +
Suveikus mod_security2 taisyklei [[Web_serverio_klaidų_išrašo_peržiūra|serverio klaidų žurnale]] turėtumėte rasti tokią eilutę:
  
</IfModule>
+
<code> [Fri Sep 19 12:30:44 2014] [error] [client 195.14.xxx.yy] ModSecurity: Access denied with code 403 (phase 2). Pattern match "(?:ogg|gopher|data|php|zlib|(?:ht|f)tps?):/" at ARGS:mosConfig_absolute_path. [file "/etc/httpd/conf/modsec/99_asl_jitp.conf"] [line "1477"] [id "393376"] [rev "2"] [msg "Atomicorp.com WAF Rules - Virtual Just In Time Patch: Generic mosConfig_absolute_path File Inclusion Vulnerability"] [severity "CRITICAL"] [hostname "mano-svetaine.lt"] [uri "/index.php"] [unique_id "VBv3xE9iGBEAADrmLRUAAABh"] </code>
</nowiki>
 
  
 +
* ''[Fri Sep 19 12:30:44 2014] [error]'' - užklausos data
 +
* ''[client 195.14.xxx.yy]'' - lankytojo IP adresas
 +
* '''svarbiausia:''' ''[id "393376"]'' - šis numeris reikalingas norint išjungti taisyklę
  
[[Kategorija:Talpinimo_problemų_sprendimas]]
+
[[Kategorija:Serverio ir PHP nustatymai]]
 +
[[Kategorija:Talpinimo problemų sprendimas]]

Dabartinė 15:09, 11 rugsėjo 2019 versija

Jei viena ar kelios mod_security2 filtro taisyklės veikia nekorektiškai jas galima išjungti. Rekomenduojame išjungti tik tą taisyklę dėl kurios kyla problemų. Taisyklės išjungimui tereikia žinoti jos numerį (ID), kurį galite rasti serverio web tarnybos klaidų išraše (Apache Error Log). Turint taisyklės numerį(ID), ją galite išjungti į .htaccess failą įrašę tokias taisykles:

  • Norint išjungti vieną taisyklę:
<IfModule mod_security2.c>
       SecRuleRemoveById 123456
</IfModule>

123456 - taisyklės numeris. Jei reikia išjungti kelias taisykles, galima įrašyti keletą eilučių:

       SecRuleRemoveById 123456
       SecRuleRemoveById 123457
       SecRuleRemoveById 123458
  • Norint išjungti mod_security2:
<IfModule mod_security2.c>
       SecRuleRemoveById 0:9999999
</IfModule>


Įrašo iš klaidų žurnalo pavyzdys

Suveikus mod_security2 taisyklei serverio klaidų žurnale turėtumėte rasti tokią eilutę:

[Fri Sep 19 12:30:44 2014] [error] [client 195.14.xxx.yy] ModSecurity: Access denied with code 403 (phase 2). Pattern match "(?:ogg|gopher|data|php|zlib|(?:ht|f)tps?):/" at ARGS:mosConfig_absolute_path. [file "/etc/httpd/conf/modsec/99_asl_jitp.conf"] [line "1477"] [id "393376"] [rev "2"] [msg "Atomicorp.com WAF Rules - Virtual Just In Time Patch: Generic mosConfig_absolute_path File Inclusion Vulnerability"] [severity "CRITICAL"] [hostname "mano-svetaine.lt"] [uri "/index.php"] [unique_id "VBv3xE9iGBEAADrmLRUAAABh"]

  • [Fri Sep 19 12:30:44 2014] [error] - užklausos data
  • [client 195.14.xxx.yy] - lankytojo IP adresas
  • svarbiausia: [id "393376"] - šis numeris reikalingas norint išjungti taisyklę