Kaip apsaugoti Joomla tinklapį nuo įsilaužimo
Antradienis, 16 Lapkritis 2010 22:59
Parašė Rimvydas
Peržiūrų: 1630
Š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ūtacijos failai 666
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ų :
1 |
########## Nustatome taisykles kad užblokuoti ekspilotus |
Toliau padarome sekančius įrašus:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<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ų.
|
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.
Čia aprašiau tik kelis būdus iš man žinomų kelių dešimčių, bet manau pirmai pradžiai to turėtų pakakti.
Dėl pilno ramaus miego dar įsidiekite saugumo komponentą RS firewall, X-Defender, ar kažką panašaus.
Joomla123.lt is not affiliated with or endorsed by Open Source Matters or the Joomla! Project.
The Joomla!® name is used under a limited license from Open Source Matters in the United States and other countries.



