Locked History Actions

Security Module

Žodis angliškai

Security Module

Santrumpa

mod_security

Žodis lietuviškai

Apsaugos modulis


Apibrėžimas

Modulis mod_security yra atviro kodo įsilaužimų aptikimo ir prevencijos modulis, skirtas žiniatinklio taikomosioms programoms. Modulio mod_security paskirtis yra padidinti žiniatinklio taikomųjų programų saugumą ir apsaugoti jas nuo žinomų ir nežinomų atakų.


Paaiškinimai

Šiuo metu daugiau kaip 70 procentų atakų yra vykdoma žiniatinklio taikomųjų programų lygmenyje. Žiniatinklio taikomųjų programų ugniasinės naudojamos nustatyti išoriniam saugumo lygmeniui, kuris padidina saugumą ir užkertą kelią atakoms prieš joms pasiekiant žiniatinklio taikomasias programas.

Apache tinklo serverio modulis mod_security leidžia visišką HTTP operacijų registravimą, kuris leidžia registruoti visas užklausas ir atsakymus. Registravimo priemonės leidžia priimti tikslius sprendimus, kas įregistruota ir kada, užtikrinant kad būtų įrašyti tik reikalingi duomenys. Taigi mod_security leidžia visišką HTTP srauto registravimą, įskaitant ir srautą skirtą žiniatinklio taikomosioms programoms. Modulis mod_security gali stebėti HTTP srautą realiu laiku, kad aptiktų atakas. Šiuo atveju mod_security veikia kaip įsilaužimų į žiniatinklį aptikimo priemonė, leidžianti reaguoti į įtartinus įvykius vykstančius žiniatinklio sistemose. Ši priemonė gali reaguoti nedelsiant ir užkirsti kelią atakoms, joms dar nepasiekus žiniatinklio taikomųjų programų. Modulis gali blokuoti universalųjį adresą (URL) su vienintele eitule .htaccess faile. Šiame faile galima nurodyti taisykles, kuriomis vadovaujasi šis modulis.

Modulį mod_security galima paleisti dinaminiuose ir kitokiuose puslapiuose. Taikant šį modulį, galima filtruoti komentarų turinį ir kurti taisykles komentarų autoriams, galima filtruoti formų turinį ir kurti taisykles formoms, galima filtruoti adresus ir taip pat kurti taisykles atitinkamiems adresams, galima apsisaugoti nuo taisyklių nesilaikymo ir kitų veiksmų. Tam yra sukuriamos specialios taisyklės, kuriomis remiantis yra atliekama apsauga. Šis modulis gali tikrinti bet kokias klientų užklausas.

Yra trys pagrindiniai naudojami metodai:

  1. Neigiamos apsaugos modelis. Taikant šį modelį yra stebimos neįprastos užklausos, neįprastas elgesys ir dažnos žiniatinklio taikomųjų programų atakos. Yra saugoma kiekvienos neįprastos užklausos anomalijos įvertis, IP adresai, taikomųjų programų seansai ir vartotojo paskyros. Užklausos turinčios didelį anomalijos įvertį yra užregistruojamos arba atmetamos.

  2. Žinomi trūkumai ir pažeidžiamumas. Ši taisyklė padaro mod_security idealia išorine pataisymo priemone. Išorinis pataisymas reiškia galimybių sumažinimą. Paprastai reikiadaug laiko taikomųjų programų pataisymui. Su mod_security taikomosios programos gali būti pataisytos iš išorės, nepaliečiant taikomosios programos šaltinio kodo ir taip apsaugant sistemą tol kol bus sudaryta tinkama pataisa.

  3. Teigiamas apsaugos modelis. Kai taikomas šis modelis priimamos tik tos užklausos, apie kurias žinoma, kad jos yra tinkamos, o visa kita yra atmetama. Šis metodas tinkamiausias darbui su tomis taikomosiomis programomis, kurios yra dažnai naudojamos, bet retai atnaujinamos.

Modulio mod_security savybės:

  1. Užklausų filtravimas. Įeinančios užklausos yra analizuojamos kai jos gaunamos ir tik po to jas apdoroja žiniatinklio serveris arba kiti moduliai.

  2. Apėjimų išvengimo metodas. Prieš analizę sutvarkomi keliai ir parametrai, kad būtų užkirstas kelias apėjimų metodams (naikinami keli pasvirieji brukšniai (//), direktorijų nuorodos (./), nustatomi ir pašalinami nuliniai baitai (%00) su tarpais, iškoduoja URL užkoduotus simbolius).

  3. Darbas HTTP lygyje ir šio protokolo supratimas. Kadangi modulis supranta HTTP, jis atlieka labai konkretų ir tikslų suskaidytą filtravimą.

  4. POST apkrovos analizė. Modulis sulaiko turinį, perduotą naudojant POST metodą.

  5. Įrašymas patikrinimui. Visa kiekvienos užklausos informacija gali būti įrašyta vėlesnei analizei.

  6. HTTPS filtravimas. Kadangi modulis yra įdiegtas žiniatinklio serveryje, atlikus iššifravimą, jis turi prieigą prie užklausos duomenų.

  7. Įvesties taisyklių vykdymas. Pradeda veikti pasirinktos taisyklės. Jos leidžia analizuoti kiekvieną užklausos aspektą, naudojant įprastą išraišką. Išsamesnei anlizei taisyklės gali būti sujungiamos.

Modulis mod_security gali būti naudojamas dviem būdais:

  1. Įterptas naudojimas. Yra įterpiama taikomųjų programų ugniasienė. Tai reiškia, kad ji gali būti naudojama kaip esamo žiniatinklio serverio infrastruktūros dalis. Kitaip sakant šis modulis gali būti įdiegtas į Apache ir veikti jame kaip papildomas modulis.

  2. Tinklu pagrįstas naudojimas. Veikia lygiai taip pat gerai kai naudojamas kaip Apache pagrįstas papildomas serveris. Tokiu atveju galima apsaugoti didelį kiekį žiniatinklio serverių, nes ryšys palaikomas per papildomą serverį. Kitaip sakant šis modulis gali būti įdiegtas į atskirą mazgą ir atlikti apsaugos funkcijas (angl. Reverse Proxy Server). Šis variantas laikomas saugesniu ir stabilesniu.

Kai taikomas įterptas naudojimas, kai kiekviename Apache tinklo serveryje įdiegtas ir veikia mod_security modelis, tinklo schemą galima pavaizduoti taip, kaip parodyta žemiau esančiame paveiksle.

Įterptas modulio naudojimas.jpg

Tuo tarpu kai taikomas tinklu pagrįstas naudojimas, kai naudojamas papildomas serveris, tinklo schemą galima pavaizduoti taip, kaip parodyta žemiau esančiame paveiksle.

Tinklu pagrįstas modulio naudojimas.jpg

Modulio mod_security pagrindas yra taisyklės, kuriomis vadovaujantis šis modulis atlieka savo funkcijas. Taisyklės yra greitai ir lengvai sukuriamos. Kalbant apie taisykles reikia paminėti,kad:

  1. Palaikomas neapibrėžtas taisyklių skaičius.
  2. Taisyklės kuriamos naudojant įprastas išraiškas.
  3. Palaikomos neigiamosios taisyklės.
  4. Kiekviena talpykla gali turėti skirtingą kofiguraciją.
  5. Analizuoja antraštes.
  6. Analizuoja atskirus slapukus.
  7. Analizuoja aplinkos kintamuosius.
  8. Analizuoja serverio kintamuosius.
  9. Analizuoja atskiro puslapio kintamuosius.
  10. Analizuoja POST apkrovas.
  11. Analizuoja skripto išvestį.

Taikant taisykles galimi tokie veiksmai:

  1. Atmeta užklausą su būsenos kodu.
  2. Atmeta užklausą su peradresavimu.
  3. Registruoja užklausą.
  4. Sustabdo taisyklės vykdymą ir leidžia vykdyti užklausą.
  5. Taisyklių jungimas.
  6. Praleidžia dalį taisyklių esant atitikimui.
  7. Sustabdo kelioms milisekundėms.
  8. Neregistruoja užklausos.
  9. Ignoruoja einamosios taisyklės atitiktį ir pereina prie kitos taisyklės.

Egzistuoja keturios pagrindinės žiniatinklio paslaugos atakos:

  1. Kintamo ilgio buferio ataka – programa gali pradėti veikti netinkamai arba užstrigti.
  2. Meta simbolių ataka – naudojant meta simbolius, gali kilti SQL atakos ir tai gali sukelti informacijos nutekėjimą.
  3. SQL ataka – jei programa netikrina įvesties, kenkėjiški vartotojai gali pridėti papildomų užklausų, kurios gali turėti blogų pasėkmių.
  4. SOAP klaidingo kodo atskleidimo ataka – klaidingas kodas gali nutekinti svarbią techninę informaciją, kuri gali būti panaudota rengiant kitas atakas.

Modulis mod_security atpažįsta tokias pagrindines atakas:

  1. Kenkėjiškų kliento programų aptikimas. Aptinka kenkėjiškų automatizuotų programų užklausas. Kenkėjiškos automatizuotos programos renka informacija iš svetainės, naudoja pralaidumo juostą ir taip pat gali ieškoti pažeidžiamų vietų svetainėje.
  2. Daugybinių atakų aptikimas. Aptinka taikomųjų programų atakas.
  3. Trojos arklių ir atgalinių durų sugrižimui aptikimas. Aptinka jau sistemoje įdiegtų trojos arklių ir atgalinių durų bandymus atakuoti. Ši savybė labai svarbi paslaugų tiekimo aplinkai, kai per atgalines duris gali būti kažkas išsiųsta teisiškai ir panaudota kenkėjiškai tikslais.

Taigi modulis mod_security yra taisyklėmis pagrįsta atakų atpažinimo sistema (IDS), kuri leidžia sukurti taisykles, aprašančias neįprastas užklausas žiniatinklio serveriui. Kai kenkėjiškos užklausos atitinka taisykles, jos gali būti atmestos, o informacija įrašyta į žurnalą. Šis modulis yra tarsi riba tarp kliento ir serverio ir jeigu jis aptinka kenkėjišką užklausą, jis gali ją atmesti, atlikdamas bet kurį iš įdiegtų veiksmų. Modulis leidžia stebėti HTTP srautą, registruoti ir analizuoti realiu laiku.

Įdiegtos patikros priemonės atlieka: URL užkodavimo patikrą, unikodų užkodavimo patikrą, baitų ribų patikra siekiant aptikti ir atmesti apvalkalo kodą.


Naudota literatūra

  1. http://atomicplayboy.net/blog/2005/01/30/an-introduction-to-mod-security/

  2. http://www.owasp.org/index.php/Category:OWASP_ModSecurity_Core_Rule_Set_Project

  3. http://fedoranews.org/jorge/mod_security/

  4. http://onlamp.com/pub/a/apache/2003/11/26/mod_security.html

  5. http://www.debian-administration.org/articles/65

  6. http://www.askapache.com/htaccess/mod_security-htaccess-tricks.html

  7. http://modsecurity.org/

  8. http://www.modsecurity.org/projects/modsecurity/apache/

  9. http://onlamp.com/pub/a/onlamp/2005/06/09/wss_security.html

  10. http://onlamp.com/pub/a/onlamp/2005/06/09/wss_security.html

  11. http://www.symantec.com/connect/articles/web-security-appliance-apache-and-modsecurity


CategoryŽodis