Fișiere de rezervă expuse și fără referință și cum să le găsiți

Publicat: 2021-08-24

Menținerea în siguranță a WordPress implică un proces continuu de testare, consolidare, monitorizare și îmbunătățire. Există mai multe lucruri de care administratorii WordPress pot avea grijă pentru a-i ajuta să se asigure că site-urile lor sunt sigure. De la asigurarea că parolele îndeplinesc criterii specifice până la întărirea PHP, aceste procese vă pot ajuta în mare măsură să vă asigurați că rulați o navă strânsă și curată. Un lucru care tinde să fie trecut cu vederea este fișierele de rezervă expuse și fără referință. Aceste fișiere pot prezenta un risc de securitate care poate fi gestionat cu ușurință urmând cele mai bune practici.

WordPress folosește directoare pentru a organiza informațiile. Toate paginile și mediile se află în această structură. Într-o instalare tipică, această structură ar arăta ceva ca var/www/html/wordpress/wp-content.

Serverele web, inclusiv serverele care găzduiesc site-uri web WordPress, sunt de obicei configurate pentru a servi clienților toate fișierele care se află într-un anume director. Există câteva excepții, cum ar fi fișierele PHP; cu toate acestea, cu excepția cazului în care un administrator a blocat accesul în mod explicit, sunt șanse ca dacă un client o solicită, serverul web să se oblige.

În general, acesta este un lucru bun și este ceea ce doriți să se întâmple, deoarece acesta este modul în care fișierele relevante pentru paginile dvs. web, cum ar fi fișierele CSS, fișierele JS și imaginile, sunt oferite vizitatorului. Cu toate acestea, acest comportament înseamnă, de asemenea, că puteți servi fără să știți fișiere pe care nu intenționați niciodată să le vadă publicul, cum ar fi fișierele de rezervă și fără referință.

Ce sunt fișierele de rezervă și cele fără referință?

După cum sugerează și numele, fișierele de rezervă și fără referință sunt copii de rezervă reale realizate care pot fi fie copii de siguranță ale anumitor fișiere, create de obicei la editarea fișierelor, cum ar fi fișierele de configurare, fie chiar copii de siguranță complete. Înțelegerea ce sunt aceste fișiere de rezervă și cum sunt generate este primul pas pe care trebuie să-l facem pentru a rezolva problema.

Există multe motive pentru care ar putea fi necesar să editați fișierele WordPress. Editarea fișierelor site-ului dvs. WordPress, totuși, fără a face o copie de rezervă mai întâi necesită un pic de nervozitate - un punct și virgulă lipsă vă poate distruge site-ul!

Desigur, deoarece astfel de greșeli sunt ușor de făcut, nu este recomandabil să editați fișierele direct pe serverele web de producție. Cele mai bune practici ne spun să testăm mai întâi orice modificări într-un server de testare sau de staging. Numai după testarea amănunțită și cu succes, modificările pot fi mutate pe serverul live/producție.

În viața reală, totuși, cele mai bune practici nu sunt întotdeauna respectate. Acest lucru poate fi valabil mai ales atunci când este vorba de o schimbare de mic-miniu. Procesul de descărcare a fișierului, efectuarea modificărilor, testarea și reîncărcarea poate dura mult mai mult decât editarea fișierului pe serverul live. Cu toții am fost acolo.

Editarea pe serverul live poate fi foarte ușoară. Cu un client SSH și Vi (sau Vim dacă preferați versiunea îmbunătățită), puteți face minuni. Odată ce vă conectați la server și vă îndreptați către director, sunt șanse să faceți mai întâi o copie de rezervă a fișierului (ex. wp-config.php.bak), să îl editați pe cel live, să vă asigurați că totul este în ordine, și totul este hunky-dory. Cu toate acestea, acel fișier de rezervă lăsat în folder (doar pentru orice eventualitate, știți) poate ajunge să fie sursa multor dureri și dureri. Sunt șanse aproape că oricine îl poate descărca și, odată cu ea, întreaga configurație, în text simplu, nu mai puțin.

Mai mult decât atât, mulți administratori WordPress ar putea să nu fie conștienți de faptul că editarea fișierelor pe loc folosind un editor de fișiere, cum ar fi Vim, poate crea automat backup, recuperare și blocare fișiere. Vim creează aceste fișiere pentru a vă permite să vă recuperați munca dacă Vim se blochează sau se închide în mod neașteptat. Deși aceasta este, fără îndoială, o caracteristică valoroasă, aceasta înseamnă, de asemenea, că s-ar putea să ajungeți din neatenție cu fișiere de rezervă pe care nu ați intenționat să le creați presărate în jurul site-ului dvs., așteaptă ca oricine să le acceseze.

De asemenea, copiile de siguranță ale directoarelor întregi rămase într-un folder public pot fi la fel de dăunătoare. Deși este esențial să faceți copii de siguranță ale site-ului dvs. WordPress, acest lucru trebuie făcut în siguranță, fără a introduce noi riscuri de securitate. Vom vorbi despre asta mai detaliat mai târziu în acest articol.

Exemplele comune de fișiere de rezervă includ versiuni vechi redenumite ale fișierelor de configurare modificate, fișiere PHP sau alt cod sursă și backup-uri automate sau manuale sub formă de arhive comprimate (cum ar fi arhivele .zip, .gz sau .tar.gz).

Pe de altă parte, fișierele fără referință sunt fișiere deplasate care, din cauza unei decizii de configurare sau de proiectare, ajung undeva unde nu aparțin.

Care sunt riscurile?

Copierea de rezervă și fișierele fără referință lăsate accidental accesibile pot scurge informații sensibile. În funcție de fișier, datele sensibile pot include parametri de configurare sau cod sursă care îi ajută pe utilizatorii rău intenționați să înțeleagă mai bine cum funcționează site-ul dvs. web, facilitând astfel crearea unui atac împotriva site-ului dvs. În unele cazuri, parolele care pot oferi atacatorilor control asupra întregii instalări WordPress pot fi, de asemenea, scurse.

Există mai multe moduri în care cineva poate găsi fișierele rămase pe serverul dvs. web. În timp ce unele dintre metode necesită o anumită expertiză tehnică, altele sunt la fel de simple ca o căutare pe Google, ceea ce crește riscul de expunere. Dacă nu sunteți sigur dacă aveți fișiere rămase pe server, continuați să citiți pentru a afla cum puteți să le căutați și să le găsiți înainte ca altcineva să le facă.

Cum să găsiți fișiere de rezervă și fișiere fără referință pe site-ul dvs. WordPress

Există câteva metode diferite pe care cineva le poate folosi pentru a găsi fișiere de rezervă și fără referință. În calitate de proprietar al serverului, aveți avantaj, deoarece puteți face asta mai direct. Această secțiune va explora aceste instrumente diferite, începând cu instrumentele pe care le puteți utiliza pentru a vâna și elimina aceste fișiere. Ne vom uita apoi la modul în care o pisică curioasă ar putea găsi fișiere de rezervă și fără referință pe serverul dvs.

Când căutați fișiere de rezervă pe care este posibil să le fi lăsat în urmă pe serverul dvs. web, puteți lua una (sau mai multe) din trei abordări. Cel mai simplu mod este să instalați un plugin care monitorizează fișierele pentru modificări. Alternativ, puteți încerca să căutați fișiere de rezervă rămase în sistemul de fișiere folosind instrumente din linia de comandă, cum ar fi find, sau puteți încerca să căutați fișiere de rezervă folosind o tehnică numită fuzzing .

Plugin de monitorizare a integrității fișierelor

O soluție de monitorizare a integrității fișierelor pentru WordPress poate ajuta fără efort să monitorizeze modificările fișierelor de pe serverul dvs. web și să vă avertizeze dacă detectează ceva a fost adăugat, eliminat sau schimbat.

Acest lucru poate fi realizat cu pluginul Website File Changes Monitor. Pluginul preia o amprentă a directoarelor dvs. și apoi o compară cu amprentele ulterioare. În esență, funcționează pe aceleași principii ca o sumă de control, ceea ce o face extrem de sigură și de încredere.

Un monitor al integrității fișierelor poate fi deosebit de eficient dacă nu sunteți la curent cu toate directoarele utilizate de WordPress. Un alt avantaj semnificativ al acestui plugin este că monitorizarea este automată, astfel încât nu trebuie să vă amintiți să verificați fișierele - pluginul o face automat.

Găsi

Să ne uităm acum la cum putem găsi fișiere de rezervă folosind comanda find. Următoarea comandă va căuta mai multe extensii de fișiere utilizate în mod obișnuit care sunt utilizate la crearea fișierelor de rezervă.

găsi /var/www -type f \( -name '*.bak' -o -name '*.backup' -o -name '*.bac' -o -name '*.zip' -o -name '* .tar' -o -nume '*.jar' -o -nume '*.log' -o -nume '*.swp' -o -nume '*~' -o -nume '*.vechi' -o - nume '*.~bk' -o -nume '*.orig' -o -nume '*.tmp' -o -nume '*.exe' -o -nume '*.0' -o -nume '*. 1' -o -nume '*.2' -o -nume '*.3' -o -nume '*.gz' -o -nume '*.bz2' -o -nume '*.7z' -o - nume '*.s7z' -o -nume '*.lz' -o -nume '*.z' -o -nume '*.lzma' -o -nume '*.lzo' -o -nume '*.apk ' -o -name '*.cab' -o -name '*.rar' -o -name '*.war' -o -name '*.ear' -o -name '*.tar.gz' -o -nume '*.tgz' -o -nume '*.tar.z' -o -nume '*.tar.bz2' -o -nume '*.tbz2' -o -nume '*.tar.lzma' - o -nume '*.tlz' -o -nume '*.zipx' -o -nume '*.iso' -o -nume '*.src' -o -nume '*.dev' -o -nume '* .a' -o -nume '*.ar' -o -nume '*.cbz' -o -nume '*.cpio' -o -nume '*.shar' -o -nume '*.lbr' -o -nume '*.mar' -o -nume '*.f' -o -nume '*.rz' -o -nume '*.sfark' -o -nume '*.xz' -o -nume '*. ace' -o -name '*.afa' -o -name '*.alz' -o -name '*.arc' -o -nam e '*.arj' -o -name '*.ba' -o -name '*.bh' -o -name '*.cfs' -o -name '*.cpt' -o -nume '*.dar ' -o -nume '*.dd' -o -nume '*.dgc' -o -nume '*.dmg' -o -nume '*.gca' -o -nume '*.ha' -o -nume '*.hki' -o -nume '*.ice' -o -nume '*.inc' -o -nume '*.j' -o -nume '*.kgb' -o -nume '*.lhz' -o -name '*.lha' -o -name '*.lzk' -o -name '*.pak' -o -name '*.partimg.' -o -name '*.paq6' -o -name '*.paq7' -o -name '*.paq8' -o -name '*.pea' -o -name '*.pim' -o -name '*.pit' -o -name '*.qda' -o -name '*.rk' -o -name '*.sda' -o -name '*.sea' -o -name '*.sen' -o -name '*.sfx' -o -name ' *.sit' -o -name '*.sitx' -o -name '*.sqx' -o -name '*s.xz' -o -name '*.tar.7z' -o -name '*. tar.xz' -o -nume '*.uc' -o -nume '*.uc0' -o -nume '*.uc2' -o -nume '*.ucn' -o -nume '*.ur2' - o -nume '*.ue2' -o -nume '*.uca' -o -nume '*.uha' -o -nume '*.wim' -o -nume '*.xar' -o -nume '* .xp3' -o -nume '*.yz1' -o -nume '*.zoo' -o -nume '*.zpaq' -o -nume '*.zz' -o -nume '*.include' -o -nume '*_1' -o -nume '*_2' -o -nume '*_x' -o -nume '*bak' -o -nume '*_bak' -o -nume '*vechi' -o -nume '*_vechi' -o -nume '*_a' -o -nume '*_b' -o -nume '*_c' -o -nume '*_d' -o -nume '*_e' -o -nume '*_f' -o -nume '*inc' -o -nume '*_inc' -o -nume '*_backup' -o -nume '* – Copiere' -o -name '* – Copiere (2)' -o -nume '* – Copiere (3)' -o -name '*backup' -o -name '*-backup' -o -name '*-bak' -o -nume '*-vechi' -o -nume '*-1' -o -nume '*-2' -o -nume '* – Copiere – Copiere' -o -nume '*( copie)' -o -nume '*(o altă copie)' -o -nume '*(a doua copie)' -o -nume '*(a treia copie)' -o -nume '*(a patra copie)' -o - nume „*(a doua copie)” -o -nume „*(a treia copie)” -o -nume „*(a patra copie)” -o -nume „* (copie)” -o -nume „* (o altă copie) ' -o -nume '* (a doua copie)' -o -nume '* (a treia copie)' -o -nume '* (a patra copie)' -o -nume '* (a doua copie)' -o -nume ' * (a treia copie)' -o -name '* (a patra copie)' -o -name 'Copie a *' -o -name 'Copie (2) a *' -o -name 'Copie (3) a *' -o -name „Copia copiei lui *” -o -name „backup*” -o -name „backup_*” -o -name „backup-*” -o -name „bak*” -o -name „bak_ *' -o -nume 'bak-*' -o -nume'vechi*' -o -nume 'vechi_*' -o -nume 'vechi-*' -o -nume '1*' -o -nume '1_*' -o -nume '1-*' -o -nume '2*' -o -name '2_*' -o -name '2-*' \)

Fuzzing

Următoarea metodă utilizează un instrument bazat pe linie de comandă numit ffuf cu o listă de cuvinte (o listă de nume de fișiere și căi de fișiere colectate în text simplu) care se concentrează pe fișierele WordPress. ffuf poate fi configurat pentru a face cereri folosind o listă separată de virgulă de extensii comune de fișiere de rezervă (acest exemplu folosește doar o listă scurtată care include doar .bak și .backup, dar, în realitate, ar fi probabil mult mai lungă).

ffuf -u http://example.com/FUZZ -w lista de cuvinte.txt -e „.bak,.backup”

Căutări în motorul de căutare

Motoarele de căutare sunt foarte, foarte bune la găsirea și catalogarea informațiilor pe serverele web. Cineva poate face acest lucru utilizând operatori avansați care pot, de exemplu, să detalieze o interogare pentru a găsi anumite tipuri de fișiere pe un anumit server.

Acest tip de căutare este cunoscut și sub numele de Google Dorking și poate folosi o combinație de filtre avansate și inferență. Deducerea este modul în care cineva fără cunoștințe despre ceea ce rezidă pe un server utilizează informații generale pentru a deduce ce fel de fișiere și structuri ar putea locui pe un server și apoi caută acele lucruri specifice.

Scanere de securitate

Există diferite tipuri de scanere care pot scana directoarele unui site web. Primul tip de scaner se numește crawler de site, care este aceeași tehnologie de bază pe care o folosesc motoarele de căutare pentru a citi site-urile web. Aceste tipuri de scanere, cu toate acestea, nu sunt exclusiv pentru motoarele de căutare și pot fi descărcate gratuit.

Este ilegal să scanezi un site web țintă în majoritatea țărilor, chiar dacă intențiile tale sunt bune. Puteți și ar trebui să utilizați un scaner numai împotriva site-urilor web pe care le dețineți. Dacă scanați un site web terță parte, asigurați-vă că aveți consimțământul. Chiar și așa, cineva cu intenții rău intenționate poate folosi un scaner de securitate pentru a afla mai multe despre site-ul tău web și pentru a înțelege ce fel de fișiere se află pe acesta.

Un alt tip de scaner este un scaner de testare de penetrare, care poate scana un site web pentru vulnerabilități, inclusiv fișiere rămase.

S-au găsit fișiere de rezervă sau fără referință? Iată ce să faci

Stocarea fișierelor de rezervă pe un site web nu este niciodată o idee bună. Din păcate, nu este neobișnuit ca proprietarii și administratorii de site-uri web WordPress să configureze joburi cron (sarcini programate) pentru a face copii de siguranță ale bazei de date, doar pentru a stoca aceste copii de siguranță pe același server. Deși cu siguranță ar trebui să faceți copii de rezervă pentru site-ul dvs., ar trebui să aveți grijă ca fișierele de rezervă să nu fie stocate nicăieri în sistemul pentru care ați făcut backup.

A avea o strategie de backup WordPress bine gândită, care urmează cele mai bune practici, este crucială nu numai din punct de vedere al securității, ci și din punct de vedere al continuității afacerii. La urma urmei, backup-urile nu valorează prea mult dacă nu le poți folosi pentru a restaura datele.

Cum să preveniți enumerarea fișierelor de rezervă

După cum am văzut în acest articol, păstrarea fișierelor de rezervă pe site-ul dvs. WordPress poate fi destul de riscantă. Ca atare, ar trebui să utilizați întotdeauna un mediu de testare sau de pregătire pentru a efectua modificările înainte de a le împinge pe serverul live/producție. Cele mai multe conturi de găzduire WordPress gestionate vin cu un mediu de pregătire imediat scos din cutie. Puteți utiliza, de asemenea, software precum Local, care vă permite să porniți instanțe WordPress pe computer.

Cu toate acestea, dacă alegeți să păstrați fișierele de rezervă pe serverul dvs. web, în ​​mod ideal, nu le păstrați din directorul pe care ați configurat serverul dvs. web să îl servească.

În plus, configurați permisiunile pentru fișierele WordPress pentru a interzice accesul utilizatorului serverului web - acest lucru asigură că, chiar și în cazul unei configurări greșite, serverului web nu i se va permite să servească fișierul unui client care îl solicită. Ca măsură suplimentară, este o idee bună să criptați orice copii de siguranță ale bazei de date și să vă asigurați că cheia de criptare nu este accesibilă de către utilizatorul serverului web.