Extensii securitate Joomla

Pentru ca Joomla! este un CMS folosit intesiv pentru dezvoltarea de site-uri, de catre useri din intrega lume, hackerii incearca tot timpul sa gaseasca gauri de securitate pe care sa le exploateze.

HACKED, DEFACED – nu iti urez sa gasesti aceste cuvinte in locul site-ului care mergea perfect, asa ca inaintea oricarui sfat nu uita: BACKUP-UL este de multe ori singura salvare; fa backup la site-ul Joomla! si la baza de date, ori de cate ori faci modificari majore, sau la un interval de timp anume… astfel vei putea ca in cateva minute sa readuci site-ul la starea initiala. CAUTA extensia Joomla! care crezi ca a adus acesta vulnerabilitate de securitate si dezinstaleaz-o – nu folosi niciodata extensii decat daca le iei de pe site-ul dezvoltatorilor.

In acest articol am “adunat” de pe net 7 sfaturi pentru optimizarea securitatii in Joomla!, sfaturi care sper ca te vor ajuta.
Schimba prefixul tabelelor din baza de date (default este jos_)

Cele mai multe injectii de SQL folosite pentru hack-ul unui site Joomla!, incearca sa ia informatiile din tabela jos_users. In acest fel, hack-erii va pot afla userul si parola folosite pentru contul de super administrator al site-ului. Schimband prefixul jos_ in altul ales aleatoriu, multe injectii de SQL nu mai pot face acest lucru.

Cand instalezi Joomla!, poti schimba acest prefix; daca e deja instalata si site-ul e live, poti face asa:

logheaza-te in Joomla! administrator;
mergi la Site ->Global Configuration, vei gasi un tab Database (Joomla! 1.0); sau Site -> Global Configuration -> Server -> Database Settings (Joomla! 1.5);
schimba prefixul la baza de date (ex: qwes_) si click pe Save;
mergi la phpMyAdmin sa accesezi baza de date;
faci un export al bazei de date Joomla!;
codul rezultat il deschizi in notepad sau alt editor de text;
in phpMyAdmin selextezi tabelele si le stergi;
in notepad unde ai salvat exportul, Search & replace , cauti jos_ si schimbi cu noul prefix ales qwes_ – “Replace All”;
Selecteza codul din nou, si in phpMyAdmin, tabul SQL, copiaza queries si Start.

Sterge numele/numarul extensiilor instalate.

De multe ori, anumite versiuni ale extensiilor contin o gaura de securitate (ai vazut cazul versiunii Joomla! 1.5.5). Daca in front end este afisata versiunea Extensie version 1.0, hacker-ul va stii clar unde sa atace. Poti modifica aceasta:

vezi unde ai localizate pe computer fisierele acelei extensii;
deschide Dreamweaver;
deschide un fisier din extensie
cu functia Search, cauta Search through specified folder si da calea catre folderul unde ai fisierele extensiei;
cauta un termen ca si “Extensie version 1.0” (vezi cum apare in front end);
in fisierul respectiv, sterge numarul versiunii;
urca prin FTP fisierul modificat peste cel existent si verifica daca schimbarea a fost facuta.

Utilizeaza o componenta SEF

Cei mai multi hack-eri utilizeaza  Google inurl: command pentru a cauta o gaura de securitate in Joomla!. Utilizeaza Artio, SH404SEF sau alta componenta SEF pentru a rescrie URL-urile si a preveni acest lucru.

Utilizand o componenta SEF ca si sh404SEF (search engine friendly URL’s) o sa te ajute si la cresterea rank-ului in Google.
Joomla! si extensiile utilizate in site trebuie sa fie “up to date”

Intotdeauna verifica sa ai instalata ultima versiune de Joomla!, si ultima versiune a extensiilor utilizate in site. Multe din problemele de securitate sunt fixate in ultima versiune.
Utilizeaza CHMOD corect pentru orice folder sau fisier din site

Setarea CHMOD (permisie de scriere pe fisiere) la 777 sau 666 este necesara numai cand un script are nevoie sa scrie acel fisier sau in director. Ai vazut la instalarea Joomla!, anumite foldere trebuie sa aiba drepturi de scriere pe ele. pentru restul ar trebui sa avem asa:

fisiere PHP: 644
fisiere de tip Configuration: 666
alte foldere: 755

Personal recomand (pentru ca am patit pe cateva site-uri Joomla!) ca imediat ce ai instalat sau modificat ceva, sa treci de la 777 la 755 si de la 666 la 644 – e mai usor sa dai tu drepturi de scriere (dureaza cateva secunde) decat sa gasesti site-ul down si sa incepi recuperarea lui.
Sterge fisierele/folderele ramase pe server

Cand¬† instalezi o extensie care nu iti mai trebuie nu o lasa publicata. Daca e publicata, eventuale fisiere care au gauri de securitate raman in site. Cel mai bine dezinstaleaz-o imediat, o poti reinstala la fel de usor daca o sa ai nevoie. verifica si sterge si tabelele create de extensie la instalare – in acest fel o sa ocupi mai putin “spatiu” si pe disk si in baza de date.
Schimbari in fisierul .htaccess

Adauga aceste linii in fisierul .htaccess, blocheaza cateva exploits comune.

########## Begin – Rewrite rules to block out some common exploits
## If you experience problems on your site block out the operations listed below
## This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
# Block out any script that includes a < script> tag in URL
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR]
# Block out any script that tries to set CONFIG_EXT (com_extcal2 issue)
RewriteCond %{QUERY_STRING} CONFIG_EXT([|%20|%5B).*= [NC,OR]
# Block out any script that tries to set sbp or sb_authorname via URL (simpleboard)
RewriteCond %{QUERY_STRING} sbp(=|%20|%3D) [OR]
RewriteCond %{QUERY_STRING} sb_authorname(=|%20|%3D)
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
#
########## End – Rewrite rules to block out some common exploits

Aceste linii le gasesti deja adaugate daca folosesti fisierul htaccess.txt existent in pachetul de instalare Joomla!, si il redenumesti in .htaccess dupa ce site-ul este pe server.

Sursa: webcms.ro