Pluginuri de securitate pentru WordPress?

De cîteva zile – a se citi “de joi” -, duc o luptă continuă de curăţare a patru instalări de WordPress. De vreo trei luni, săptămînal sau la două săptămîni, am tot primit cîte-o injecţie de cod PHP. Am aflat, iniţial, că a fost din cauza unui plugin de newsletter. L-am ras cu totul. Două săptămîni a ţinut minunea şi toate fişierele .php au fost din nou infectate.

error

De joi încoace, aproape zilnic, am făcut curat în contul de hosting. Am ras vreo patru site-uri, am mutat un altul pe alt cont (încă e curat, uscat), am reinstalat WordPress-ul pe toate, am ras pluginuri, teme vechi, am reinstalat pluginuri, totul e la zi. Degeaba. Două ore mai tîrziu, infecţie peste tot.

Iniţial, cînd am descoperit prima dată infecţia, dădea erori. Nu mai mergea nimic. Între timp, autorii codului au reuşit performanţa de a-l îmbunătăţi, astfel că nu-ţi dai seama că eşti infectat decît dacă verifici. Eh, lucrînd cu FTP-ul, mi-a fost imposibil să nu văd injecţia de cod. Şi ia-o de la capăt.

Cooperativa Munca în Zadar, asta s-a întîmplat în ultimele zile, de asta nici n-am mai scris. Partea bună nu există, partea proastă e că am obosit să curâţ în fiecare zi, neştiind unde-i gaura şi cum s-o astup. Aşadar, dacă aveţi idee de pluginuri de securitate pentru WordPress, do feel free to share.

Detalii despre injecţie şi o idee despre cod, aici. Ideea, pe scurt, e următoarea: se injectează o funcţie care nu face altceva decît să injecteze încă o funcţie şi încă una şi tot aşa. Funcţiile respective caută fişiere PHP în care să injecteze cod, iar chestia asta continuă la nesfîrşit. La un moment dat, mizeria respectivă reuşise performanţa de a-şi crea user de administrator în baza de date.

Teoretic, bug-ul a fost reparat în WordPress 4.0. Practic, s-ar părea că nu. Din ce informaţii am apucat eu să găsesc, mizeria aia nu descarcă malware pe calculatoare. Cel mai probabil, logica e să infecteze cît mai multe servere pentru a le folosi pentru spam. Ceva idei? Eu, unul, nu ştiu ce să-i mai fac.

Dacă îţi place acest blog şi vrei să-l susţii, cumpără de la eMag folosind acest link.

22 comentarii

  1. Asta are vreo legatura? http://www.themepunch.com/home/plugin-update-information/

    TLDR: “Slider Revolution Responsive WordPress Plugin”.

    As our plugin is widely used on millions of wordpress sites throughout the web, the problem needed to be tackled as soon as possible.

  2. Wordfence Security, pare bun până acum.

  3. Wordfence zic și eu sau Sucuri cu abonament lunar pe bani.

  4. Ma tem ca e noua injectie ce incepe de la nivel de server. nu infecteaza numai contul tau ci toate conturile(userii) de pe un server spart.

    http://www.troyhunt.com/2014/09/everything-you-need-to-know-about.html

  5. Daca e aia, un Centos 6.5 cu CFS si LMD rezolva problema. Plus ca detecteaza orice spargere reusita, informandu-te despre scripturile care trimit mailuri detectate.

  6. Cum ajunge codul ala pe masina ta?

  7. Alex, daca vrei sa testezi sugestia mea iti fac un cont la mine pe server, al meu e securizat contra vulnerabilitatii respective. Let me know.

  8. @Alex: ok, să întreb altfel, unde ajung? Cumva în folderul de upload?

  9. @Alex: cumva trebuie să ajungă fișierele alea pe server, de asta te-am întrebat de upload folder – e calea cea mai simplă. POST request? Scris direct în DB cumva? Loguri de ftp/sftp?

  10. Din experiența mea de până acum cu WP, nu am gasit niciun plugin 100% sigur. Totuși, pentru unul din site-uri (nu e pe platformă wp) am folosit Crawl Protect în urma unei probleme asemănătoare cu a ta, platfoma fiind tot php. Nu e plugin ci e un script pe care trebuie să îl instalezi separat care practic interceptează conexiunile și detecteză activități suspecte precum injectările de cod. L-am instalat aproximativ acum 4 luni și de atunci nu au mai fost probleme. Are totuși și un log care salvează informații despre tentativele înregistrate.

    Nu e greu de instalat dacă ai cunoștințe de baza de html, php, ftp.

  11. Ceva later edit pls? Ati gasit vreo solutie la problema asta? Am descoperit intre timp ca unul din siteurile mele se manifesta similar, si..de vreo 4 zile ma lupt cu domnul hacker rus continuu. Dupa ce am citit articolul tau si m-am pus pe verificari, am gasit un site ce imi redirecta jumate de trafic catre un site rus (tot ce era de pe android). Nu are mail poet plugin. Zilnic eu repar ceva si el imi face altceva. Citesc loguri de FTP si Apache, verific intrarile in baza de date SQL. Am instalat si pluginul Sucuri, i-am scos codul injectat de prin fisiere. Am suprascris wordpress-ul cu instalare noua mai putin folderul wp-content. Am curatat manual injectarile de prin teme si pluginuri. Am blocat total accesul la cele mai injectate fisiere care nu necesita modificari dese (.htaccess si index.php cu chattr +i ) Simt ca ma apropii de solutie pentru ca face tot mai putine lucruri dar inca face (ieri a sters doar fisierul update.php din 3 locuri pe wordpress). Cu fiecare zi de “lupta” curat/repar ce a facut cu o zi inainte si mai inchid niste gauri de securitate (inclusiv in htaccess in diverse locuri din wordpress erau chestii de genul deny all, dar un allow all pentru cate un fisier). Se pare ca inca mai intra pe undeva, si nu e FTP si nici la nivel de server. Nu e nici la nivel de user/parola de WP, am sters toti userii mai putin unul ce e admin, schimbat toate parolele de ftp/cpanel/root/admin/wp-dbuser. Alte idei, solutii? Voi cum stati?

    • @Duhul: eu încă am infecţie pe contul de hosting, dar în alte directoare. Sucuri şi-a făcut treaba destul de bine, a patch-uit tot ce-a putut, cred că şi la nivel de PHP şi directoare de WP, şi văd că e curat public_html-ul. O să intru şi în celelalte cînd o să am timp.

  12. Eu cand am avut probleme cu o trupa de hackeri turci am pus un plugin care scana fisierele de modificari si imi trimitea mail cu fisierele modificate. Ai putea sa faci asta o vreme cu scanare programata tot la cateva ore (cam incarci serverul) pana te prinzi care sunt cele vulnerabile.

  13. @alex …. iti recomand urmatoarele:

    1. backup la tot ce e media file / uploaded file
    2. noteaza plugin-urile undeva, numele lor.
    3. backup la baza de date
    4. backup la tema / child / custom css
    5. rade tot, daca ai cPanel / WHM recomand sters tot contul si reinstalat cPanel-ul cu un alt username.
    6. ia baza de date si vezi daca e dubios prin ea/se curata
    7. deschide mamp, pune wp files clean de pe .org, urca upload files (sau schimba path-ul), leaga la baza de date existanta, urca plugin-urile si tema si gata.

    recomand un log monitor cu carea am pus capcane … si in cazul meu erau fisere din tema compromise.

    // in medie 3 – 4 ore dureaza din care 2/3 il pierzi post-hacking, iar clientul poate sta linistit in minim 3 zile.

    // ps: @restul la wordpress fiind o librarie asa simpla nu va recomand devirusare, in 2 ore ai terminat pus pe mamp o varianta clean, asta daca ai un back-up clean la tema si baza de date este ok.
    // pps: degeaba se face devirusare daca nu schimbati salt-urile :)

  14. cam asa am patit si eu. bonus: a reusit sa si intre in wp-admin, dupa zeci de ore de request-uri pe wp-login, asta am descoperit doar dupa infectie, in loguri.

  15. foloseam “better wp security” unde credeam ca e cazul si n-au fost probleme in ani de zile pe site-uri destul de sensibile. ciudat e ca a reusit sa se logheze in cele din urma si sa schimbe parola. :))