Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4144 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Šiame straipsnelyje pateiksiu keletą patarimų ką reikėtų padaryti norint apsaugoti tinklapį nuo įsilaužimo. Žinoma niekada nėra šimtaprocentinės garantijos, kad tinklapis nebus “numuštas” . Tačiau tinkamai pasirengus ši galimybė sumažėja iki minimumo. Medžiaga surinkta iš savos patirties ir plačiojo interneto, įvairių kompanijų užsiimančiu interneto saugumo klausimais patarimų. 
Taigi pradžiai bendri patarimai kurių BŪTINA laikytis kiekvienam kas naudojai Joomla TVS ir nori apsisaugoti nuo didesnių nemalonumų.
 
1. Įdiegus TVS negalima palikti pagal nutylėjimą nustatyto prisijungimo prie valdymo skydo vartotojo vardo. Pagal nutylėjimą jis būna “admin”.
2. Įjungti SEO nuostatas.
3. Naudokite tik pačią naujausią Joomlos versiją, pastoviai atsinaujinkite naudojamus modulius, komponentus.
4. Nepalikite nenaudojamų, bet išjungtų papildinių, komponentų, modulių.
5. Teisingai sukonfigūruokite katalogų ir failų prieigos teises ( chmod)
PHP failai turėtų būtį 664
Konfigūracijos failai 444
Kiti katalogai 755
6. Reguliariai darykite tinklapio ir DB rezervines kopijas. Atsitikus bėdai bet kada galėsite atstatyti tinklapį iš jos.
7. Kompiuteryje iš kurio administruojate tinklapį  naudokite patikimą antivirusinę programą, nes dauguma įsilaužimų įvyksta pavagiant prisijungimo duomenis.
 
Dabar pereikime prie keleto konkretesnių patarimų. Joomloje kaip ir daugumoje TVS naudojamas .htaccess  failas kurį atitinkamai sukonfigūravę galime labiau sustiprinti tinklapio saugumą. 
1.Atidarę failą teksto redaktoriumi ir papildę šiomis eilutėmis uždrausime prieigą keletui populiaresnių eksploitų :
 
########## Nustatome taisykles kad užblokuoti ekspilotus
 
#
 
# Blokuojame visus skriptus kurie bando per URL gauti mosConfig reikšmę
 
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]
 
# Blokuojame visus skriptus kurie bando kažką įkelti per base64_encode 
 
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
 
# Blokuojame visus skriptus kurie turi gairę  URL įraše
 
RewriteCond %{QUERY_STRING} (|%3E) [NC,OR]
 
# Blokuojame visus skriptus kurie per URL bando įkelti globalinį PHP kintamajį
 
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
 
# Blokuojame visus skriptus kurie per URL bando pakeisti _REQUEST kintamajį
 
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR]
 
# Blokuojame visus skriptus kurie bando įkelti CONFIG_EXT 
 
RewriteCond %{QUERY_STRING} CONFIG_EXT([|%20|%5B).*= [NC,OR]
 
# Blokuojame visus skriptus kurie per URL bando įkelti sbp or sb_authorname 
 
RewriteCond %{QUERY_STRING} sbp(=|%20|%3D) [OR]
 
RewriteCond %{QUERY_STRING} sb_authorname(=|%20|%3D)
 
# Persiunčiame visas blokuojamas užklausas į pagrindinį puslapį su klaidos 
pranešimu 403 Forbidden!
 
RewriteRule ^(.*)$ index.php [F,L]
 
#
 
########## Taisyklių pabaiga

Toliau padarome sekančius įrašus:

<filesmatch ".(php)$">
order deny,allow
deny from all
</filesmatch>
 
<filesmatch "^index.php">
order allow,deny
allow from all
</filesmatch>
 
<filesmatch "^index2.php">
order deny,allow
allow from all
</filesmatch>
Šiomis eilutėmis uždraudžiame serveriui vykdyti, bet kokiuos skriptus šakniniame kataloge išskyrus index.php .Jei kažkam ir pavyks ką įkelti  į katalogą skriptas nebus vykdomas.
 
 
2. Kataloge “administrator”sukuriame .htaccess  failą ir nurodome IP adresus iš kurių galima prisijungti prie administravimo valdymo skydo. Tokiu atveju net pavogę prisijungimo duomenis asmenys negalės prisijungti iš kitų IP adresų.
 
<Filesmatch ".(php)$">
order deny, allow
deny from all
>

<Files index.php>
order deny, allow
deny from all
allow from 11.11.11.11
allow from 22.22.22.22
allow from 33.33.33.33
>
 
<Files index2.php>
order deny, allow
deny from all
allow from 11.11.11.11
allow from 22.22.22.22
allow from 33.33.33.33
>
 
<Files index3.php>
order deny, allow
deny from all
allow from 11.11.11.11
allow from 22.22.22.22
allow from 33.33.33.33
> 
Kur 11.22.33.44 yra  jūsų naudojami IP adresai. Pastaba: Sistema veiks  tik jei turite išorinį statinį IP adresą.
 
3.Dauguma  serverių yra suderinti taip kad pateikus užklausą  pvz: www.jusu_tinklapis.lt/components/  yra pateikiamas katalogų sąrašas. Tai nėra saugumo spraga, tačiau pasinaudojant tuo galima analizuoti tinklapio struktūrą ir ieškoti pažeidžiamų vietų. Kad to išvengti į kiekvieną katalogą reikia patalpinti tuščią index.html failą. Įdiegiant Joomlą  jie sukuriami, bet įdiegiant įvairius komponentus kartais pasitaiko katalogų kuriuose to nebūna.
 
4. Dauguma SQL injekcijų kurios parašytos Joomla sistemos nulaužimui bando iš duomenų bazės gauti lentelės jos_users duomenis tokiu būdu sužinoti superadministratoriaus prisijungimo vardą ir slaptažodį. Pakeisdami standartinį jos_ prefiksą apsisaugosime nuo daugumos SQL infekcijų.
Prieš atlikdami šiuos veiksmus būtinai pasidarykite duomenų bazės atsarginę kopiją.
a)    prisijunkite prie tinklapio valdymo skydo
B)    einame ->Globalūs nustatymai->Serveris-> Surandame laukelį “Duomenų bazės priešdėlis” ir pakeičiame jį i savo sugalvotą pvz.: mano_
c)    spaudžiame “Išsaugoti”
Tai atlikus  jūsų tinklapis laikinai nebeveiks.
d)    per phpMyAdmin prisijungiame prie duomenų bazės.
e)    Atsidarome kortelę “Eksportas”,  (nieko nustatymuose nekeičiame ) pasižymime visas lenteles ir spaudžiame “Vykdyti” 
f)    Failą atsidarykite  teksto redaktoriumi (aš naudoju Notepad ++ todėl pavyzdį pateikiu kaip daryti su juo) toliau užduodame paiešką  Ctrl+F  žodžiui jos_  tada atidarome kortelę “Replace “  įrašome mano_ ir spaudžiame “Replace All in All open documents”
g)    Nukopijuojate visą tekstą Ctrl+A , grįžtate į phpMyAdmin atidarote kortelę SQL ir įkeliate visą nukopijuotą tekstą.
h)    Spaudžiate “Vykdyti”.
Jei viską teisingai atlikome tinklapis turi veikti.

MnwtJWX.jpg


  • Parašė po 3 mėnesių...
(redaguota)

4 punktas yra visiška nesamonė ir absoliučiai nereikalingas.

 

Kodėl?

 

Nes jeigu laužimasis vyks naudojant sql (Sql injection), automatiškai visas "blogas kodas" rašysis į query kintamaji Joomloje, kadangi prefixas joomloje yra pasiekiamas taip: #__DbLentele (PVZ: "SELECT * FROM #__users"), tai automatiškai reiškia, kad nesvarbu koks prefixas, jis bus visuomet pasiekiamas su #__.

 

Trumpai pasakius - "#__" Joomla pakeičia į prefixa kuris yra nustatyas config failę.

 

P.S Tokia sql injekcija yra labai mažai tikėtina, praktiškai neįmanoma.

Redaguota , nario EdvinasJo
  • Parašė po 3 mėnesių...

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4144 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...