Cum rezolvi problemele de securitate de pe website-ul tău

Un website cu probleme de securitate poate crea dificultăți atât proprietarilor cât și utilizatorilor săi.

Peste 30.000 de site-uri sunt infestate în fiecare zi, iar în 2016 Google raportase o creștere a site-urilor infestate cu 32% față de anul precedent. Așadar, dacă ești digital marketer, securitatea siteului web este ceva de luat în serios.

De la glume inofensive la fraude bancare, orice e posibil pe internet. Problema este că oamenii nu prea sunt conștienți de acest lucru. Acest video exemplifică foarte bine situația:

După cum bine vezi, oamenii sunt uimiți de cum individul le citește mințile, știindu-le chiar și conturile bancare. La minutul 1:45 însă, are loc marea revelație.

Scopul acestui articol nu este să te sperie, dar e bine să știi că aceste probleme există. Îți recomand să îl citești până la final. Vei afla cum să îți securizezi website-ul dar și cum să te protejezi mai bine în general, pe internet.

Atenție: Modificările pe care le propun aici pot încurca anumite lucruri la website-ul tău. Asigură-te că ai un backup al fișierelor și al bazei de date înainte de a continua.

Riscuri și vulnerabilități comune

După cum am spus, riscurile pornesc de la glume inofensive și se ridică la conturi sparte și bani furați.

De cele mai multe ori, hackerii umblă să câștige fără a fi detectați. Spartul conturilor bancare și furatul banilor este puțin cam riscant.

Niște metode mult mai bune ar fi înlocuirea reclamelor de pe un site cu propriile reclame, schimbarea link-urilor afiliate, sau redirecționarea completă a utilizatorilor către alte site-uri.

Când vor afla că sunt infectați, mulți administratori probabil vor curăța/restaura website-ul și își vor vedea de treabă, bucuroși că au scăpat doar cu atât.

Hackerii pot astfel profita de pe urma victimelor fără să riște să fie urmăriți de bănci și poliție.

Nu mă înțelege greșit… aceste tipuri de activități sunt complet ILEGALE. Nu încercați niciodată așa ceva, nici măcar în glumă. Cândva un prieten a șters ‘în glumă’ câteva fișiere unui vecin și s-a trezit că era să facă închisoare.

Cu toate acestea, e posibil ca informațiile de autentificare ale unui utilizator să treacă înainte prin mâinile altcuiva înainte de ajunge la destinație. Acest tip de atac se numește ‘man in the middle’ sau ‘intermediarul’.

Momentan, pe internet există 3 tipuri comune de vulnerabilități prin care hackerii pot obține acces în secțiunea de administrator a unui website sau pot afișa alte informații utilizatorului.

XSS (Cross Site Scripting)

A nu fi confundat cu CSS care este un limbaj pentru afișarea grafică a elementelor pe un website.

Acest tip de atac se bazează pe practici slabe de programare, sau mai bine spus, pe eroare umană. Nu voi intra în detalii foarte tehnice, dar pe scurt, e vorba de coduri JavaScript și secțiuni de comentarii sau formulare.

JavaScript poate face aproape orice cu o pagină. Codul se pune de obicei în pagină utilizând tag-ul <script>. Acesta nu este vizibil utilizatorilor. Dacă cineva introduce un cod JavaScript într-un comentariu, platforma trebuie să știe să afișeze acel script în comentariu și nu să îl ruleze. Dacă acest lucru este omis, întreg website-ul devine vulnerabil la alte atacuri.

SQL injection

Acest tip de atac este executat în mod similar cu cel anterior, prin exploatarea formularelor. Ținta este în schimb baza de date a unui website. Într-o bază de date se pot stoca informații importante, cum ar fi nume de utilizatori sau parole.

Hackerii pot folosi acest tip de atac pentru a citi, modifica sau distruge complet baze de date.

CSRF (Cross Site Request Forgery)

Deși este mai greu de realizat în ziua de astăzi, această metodă de hacking este mai puțin cunoscută de către programatori și poate fi ușor omisă.

Metoda funcționează prin a replica un formular și a îl ascunde pe un alt website. Când acest website este accesat, formularul poate fi trimis automat. Dacă ai fi logat într-un cont de e-mail de exemplu, formularul ar putea trimite automat niște mailuri. Această vulnerabilitate este ușor de evitat dacă verificarea autenticității cererii se face și pe server, nu doar în Browser.

Multe platforme CMS sunt open source și utilizate de zeci de milioane de persoane. Vulnerabilitățile sunt astfel descoperite destul de ușor de persoane cu intenții bune, iar erorile sunt corectate înainte ca cineva să poată face vreun rău.

Dacă descoperi o astfel de vulnerabilitate pe o platformă sau pe un website, anunță imediat webmasterul și nu fă informația publică. La începutul anului 2017, o astfel de vulnerabilitate a fost descoperită și rezolvată de către WordPress. Deși informația nu a fost făcută publică decât după două săptămâni, milioane de website-uri nu actualizaseră încă platforma la ultima versiune. Hackerii au profitat de acest lucru și au trecut la treabă.

Pentru cei care au o platformă / un website personalizat, există hacking etic. Etic? Da. Etic, deoarece îți sparge website-ul pentru a afla vulnerabilitățile și pentru a le rezolva. De multe ori acești hackeri se folosec și de inginerie socială.

Un alt risc comun la WordPress îl prezintă fișierul XML-RPC, responsabil pentru comunicarea între server și anumite aplicații mobile. Acesta poate fi exploatat în anumite circumstanțe.

Dacă postezi doar de pe PC și dorești să dezactivezi acest fișier, o poți face adăugând codul următor în fișierul functions.php al temei.

add_filter( ‘xmlrpc_methods’, function( $methods ) {
unset( $methods[‘pingback.ping’] );
return $methods;
} );

Asigură-te că totul merge în regulă după ce adaugi codul. Dacă întâmpini probleme, îl poți scoate oricând.

Alege parole puternice și actualizează-le

Parolele sunt exact ca periuțele de dinți. Trebuie să le schimbi la fiecare 6 luni, dar nimeni nu prea o face.

Știu… e nasol și e greu. E greu să ții minte zeci de parole. Cunosc puține persoane care fac asta. Până și cel mai bun prieten al meu face această greșeală.

Știți toate site-urile alea ‘enervante’ care îți cer la parolă cel puțin 8 caractere, cel puțin o literă mare, cel puțin una mică, cel puțin o ciferă și cel puțin un caracter special?

Ei bine… nu ți le cer degeaba!

Eu am norocul să țin minte parole, chiar și vechi (#laudă). Nu e de mirare, având în vedere că am memorat atâtea partituri la pian. Dăunăzi am corectat ceva pentru un prieten la un website și mi-am amintit o parola pe care o folosisem de foarte puține ori acum vreo 4 luni. Am rămas surprins.

parola puternica website

În orice caz… Nu folosi exact aceeași parolă peste tot. Nu trebuie să ai întotdeauna parole complet diferite. Poți folosi variații, dar care să fie atât greu de ghicit cât și greu de spart prin încercări forțate.

Evită să folosești în parole nume de persoane cunoscute sau domeniul website-ului tău.

“Ok… am înțeles… parole strong, dar cum adică să le securizez?”

Aici mă refer în special la conturile de Facebook și Gmail. Securizează-ți contul de social media sau e-mail cu numărul tău de telefon și activează autentificarea în 2 pași.

Când te vei autentifica de pe un calculator nou, Google sau Facebook îți vor cere un cod pe care îl vei primi prin SMS. Astfel, nu oricine poate intra în contul tău dacă știe parola.

Acest lucru te va ajuta de asemenea să îți resetezi parola în caz că o uiți.

Folosește un număr de telefon pe care îl vei păstra. Dacă pierzi acel număr, riști să îți compromiți contul.

Actualizează-ți toate soft-urile

Hackerii operează prin a exploata vulnerabilități descoperite în diferite software-uri.  Pentru a descoperi aceste vulnerabilități e nevoie de timp.

Cele mai recente versiune ale aplicațiilor au aproape întotdeauna cele mai puține vulnerabilități. Soft-urile sunt mereu actualizate pentru a rezolva eventuale probleme ce sunt descoperite.

Sistemul de operare (uindăuz sau mec)

Sistemele de operare pot fi și ele vulnerabile atacurilor. Dacă cineva obține acces în computerul tău, are acces la toate parolele stocate în Browser.

E bine să fii mereu la zi cu sistemele de operare și actualizările. Da, asta înseamnă că ar trebui să treci pe Windows 10.

Nu rămâne pe un sistem de operare vechi din încăpățânare sau melancolie. Programele învechite obțin din ce în ce mai rar actualizări de la dezvoltatori. Windows 7 va fi și el în curând abandonat complet, precum XP și Vista.

Activează extensia fisierelor: Un lucru foarte important! Extensia fișierelor arată ca extensia domeniilor web. Exista milioane de extensii. Acestea indică cu ce program ar trebui să fie rulat un fișier. Aceste extensii sunt ascunse în mod implicit în Windows. Asta înseamnă că un executabil ar putea avea iconită de fișier PDF iar eu să nu-mi pot da seama.

Acum vreo 2 ani, mama a luat Ransomware (cel mai periculos tip de virus la momentul actual), iar vina a fost a mea ca nu i-am explicat mai bine riscurile. Cel mai probabil, a deschis un executabil crezând că este vreun PDF. Virusul criptează toate informațiile din calculator, iar acestea nu mai pot fi recuperate niciodată fără cheia de decriptare. Hackerii cer apoi bani pentru acea cheie, pe care oricum cel mai probabil n-o vezi niciodată.

Nu accesa fișiere .exe fără să știi exact ce sunt (programe cunoscute). Ai grijă și cu extensiile dubioase. Dacă nu o cunoști, caută înainte extensia pe Google pentru a vedea despre ce este vorba. Cele mai comune extensii sunt .pdf, .doc, .csv, .rar, .avi .mp3, .jpg, .png, etc.

Platforma de CMS (WordPress, Joomla, Magento, etc)

E important să fii la ultima versiune. Cea mai nouă versiune este aproape întotdeauna și cea mai puțin vulnerabilă.

Deși ideal ar fi să faci manual actualizările și să verifici totul înainte, cea mai sigură variantă e să te bazezi pe actualizările automate.

Asigură-te că faci și backup-uri regulate. În caz că noile versiuni creează probleme pe site (de ex. o incompatibilitate cu o extensie), vei putea reveni oricând la varianta inițială.

Plugin-urile pentru platforme CMS

Menține-le la zi. Pe toate. O singură vulnerabilitate e suficientă pentru a compromite un website întreg.

Cel mai bine ar fi să activezi actualizarea automată a extensiilor dacă ești pe o platformă CMS. Acest lucru te va scăpa de riscuri. Ține minte că până și cele mai populare extensii au avut parte de vulnerabilități.

Atenție: Dacă aveți modificări personalizate făcute la plugin-uri, acestea se vor pierde când o nouă versiune este instalată. Dacă ați făcut modificări, evitați să faceți actualizări automate.

Recomand să folosești două plugin-uri pentru securitate pe WordPress. Acestea sunt Wordfence Security și iThemes Security.

În combinație, acestea vor rezolva cele mai multe probleme de securitate pe care le puteți avea. Prima actionează ca un antivirus, iar a doua rezolvă probleme comune de securitate.

După ce instalezi iThemes Security și activezi totul urmărind pașii de acolo, verifică pe server fișierul wp-config.php. Acesta trebuie să conțină următorul cod:

// BEGIN iThemes Security - Do not modify or remove this line
// iThemes Security Config Details: 2
define( 'DISALLOW_FILE_EDIT', true ); // Disable File Editor - Security > Settings > WordPress Tweaks > File Editor
// END iThemes Security - Do not modify or remove this line

Dacă nu găsești acest cod, adaugă-l.

Codul va bloca accesul la modificarea fișierelor de bază prin Dashboard-ul WordPress. Asta înseamnă că dacă vrei sa faci modificări directe la teme sau extensii va trebui să le faci din server. Dacă cineva va dori acum să îți modifice fișierele, va trebui să spargă serverul în sine.

Există variante similare de extensii și pentru Joomla. Security Check, RS Firewall și Centora. Ca de cele mai multe ori, pentru platforma de magazin online Magento, opțiunile sunt plătite.

Temele platformei CMS

Temele acționează la fel ca plugin-urile. Sunt scrise în mare parte în PHP + JS, deci sunt susceptibile atacurilor.

Dacă dorești să modifici o temă în WordPress și să păstrezi modificările chiar și după update, poți opta să creezi un child theme (tema copil).

Crearea unei astfel de teme e simplă. Tot ce trebuie să faci este să creezi un folder denumit numeletemeimama-child, unde trebuie să ai 2 fișiere: functions.php și style.css.

Fișierul style.css trebuie să înceapă cu următorul cod:

/*
Theme Name: Twenty Fifteen Child
Theme URI: http://example.com/twenty-fifteen-child/
Description: Twenty Fifteen Child Theme
Author: John Doe
Author URI: http://example.com
Template: twentyfifteen
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
Text Domain: twenty-fifteen-child
*/

Desigur, informațiile de mai sus ar trebui completate cu datele temei pe care o folosești.

Fișierul functions.php trebuie să înceapă cu:

<?php

Orice fișiere vei duplica în child theme vor avea prioritate față de cele din directorul temei mamă. Când tema mamă se va actualiza, child theme va rămâne neatinsă.

Cele mai multe teme au child themes prestabilite. Caută în arhiva cu tema și cel mai probabil vei găsi un fișier tema-child.zip.

Grijă mare la temele și extensiile gratuite sau piratate. Am folosit în trecut, dar am observat greu că tot website-ul era redirecționat către un provider de hosting , cu link afiliat. Redirecționarea era activată după cateva sec de browsing. Problema era că IP-ul meu și orice IP pe care am fost sau mă autentificam ca administrator era inregistrat, iar redirecționarea nu mai avea loc. Mi-am dat seama de problemă abia când am vizitat website-ul de pe calculatorul unui prieten.

Schimbă link-urile de administrator și autentificare

Link-ul de administrator la platformele CMS e cunoscut de toată lumea. Acesta poate fi accesat de roboți care pot încerca să îți spargă forțat website-ul prin încercări.

Pentru a îl modifica în WordPress, putem folosi extensia iThemes Security.

Tot ce trebuie să facem după ce o instalăm este să megem la Security > Settings > Advanced > Hide Backend > Configure

schimba url admin wordpress

Atâta timp cât nu ai un forum, poți schimba și link-ul de autentificare / înregistrare al utilizatorilor. Dacă ai puțini utilizatori/editori, le poți comunica în privat noul link.

Dacă ai sau plănuiești să ai un website personalizat, asigură-te că programatorii nu vor utiliza un URL comun cum ar fi /admin sau /administrator.

Poți de asemenea înlocui iThemes Security cu WP Hide pentru a rescrie toate căile de acces către fișiere. WordPress folosește directoare cu denumiri comune (wp-content, uploads, plugins, themes, etc.). O variantă similară pentru Joomla ar fi JB Hide.

Dacă un hacker descoperă o vulnerabilitate într-o extensie, poate folosi aceste informații pentru a căuta toate site-urile care folosesc extensia respectivă.

Această operație necesită mai mult timp și riscurile de a îți buși site-ul sunt mai mari, dar se merită efortul, pentru că teoretic, dacă ascuzi totul foarte bine, nimeni nu va mai putea ști ce platformă folosești.

Opțiunea cea mai simplă este întotdeauna să îți menții extensiile și temele actualizate.

Atenție: Trebuie să amintesc din nou faptul că o copie de rezervă a site-ului este obligatorie! Riscați să pierdeți complet accesul în website dacă nu aveți backup.

Schimbă prefixul tabelelor din baza de date

Aceasta este o metodă simplă pentru a te proteja de SQL injections.

Pentru a îți modifica parametrii, un hacker trebuie să cunoască tabelele. Pe platformele open source precum WordPress sau Joomla, acestea sunt comune: wp_ și jos_

Când instalezi un website, platforma te întreabă de obicei ce prefix să folosească. Nu îl lăsa pe cel implicit.

Dacă ai instalat deja website-ul cu prefixul implicit, atunci poți folosi iThemes Security pentru a modifica prefixul. Mergi la Security > Settings > Advanced > Change Database Table Prefix > Configure.

Pe Joomla, acest lucru se poate face cu extensia Admin Tools.

Atenție: Cred că știi deja despre ce e vorba… Nu uita să faci un backup al bazei de date și a fișierelor website-ului înainte să te joci. Acest lucru este valabil atât pentru plugin-urile de mai sus cât și pentru ce urmează.

Dacă nu dorești să instalezi plugin-uri, poți face înlocuirea direct in baza de date SQL.

Mergi în contul din server la phpMyAdmin, selecteaza baza de date corespunzătoare, mergi la SQL și rulează următoarele coduri:

RENAME table `wp_comments` TO `cevreitu_comments`;
RENAME table `wp_links` TO `cevreitu_links`;
etc.

Va trebui să introduci câte un rând de cod pentru fiecare tabel din stânga ecranului. În total sunt 11 tabele implicite, dar dacă ai extensii acest număr va crește.

Poți folosi Excel sau Google Sheets și minunatul TextMechanic în funcția de adăugare sufix / prefix pentru a face totul mai ușor.

modificare prefix baza de date

După ce termini va trebui să corectezi manual tot ce n-a fost modificat. Rulează pe rând următoarele comenzi, dă click pe Edit și schimbă wp_ prefixul dorit.

SELECT * FROM `noulprefixalesdetine_options` WHERE `option_name` LIKE '%wp_%'

SELECT * FROM `noulprefixalesdetine_usermeta` WHERE `option_name` LIKE '%wp_%'

La final, va trebui să editezi fișierul wp-config.php și să modifici în următoarea linie de cod wp_ în prefixul dorit.

$table_prefix = 'prefixuldorit_';

O documentație mai amănunțită pentru WordPress ai aici, iar pentru Joomla aici. Îți recomand totuși să folosești extensiile dacă e posibil.

Adaugă captcha la formulare

Captcha-urile sunt acele metode de verificare a umanității. Fie trebuie să calculezi ceva, fie să răspunzi la o întrebare, fie pur și simplu să bifezi o căsuță.

Desigur, un hacker va putea trece de aceste probe dacă acționează manual. Problema este că nu e profitabil pentru un hacker să încerce să spargă website-uri manual. Acesta se bazează pe diferite programe care trimit cereri în masă.

Dacă o astfel de cerere ajunge pe website-ul tău, un captcha îți va fi de mare folos.

Cea mai populară forma de capcha este reCaptcha de la Google.

Pentru a adăuga reCaptcha pe WordPress putem folosi mai multe plugin-uri. Întreaga documentație pentru reCaptcha poate fi găsită aici.

Criptează conexiunea cu utilizatorii

Am mai vorbit despre criptare la începutul articolului. Dar ce este mai exact criptarea? E simplu. E un proces de codificare a informației, cu scopul de a fi înțeles doar de anumite persoane.

O metodă simplă de codificare ar fi să considerăm că A=1, B=2, C=3 și așa mai departe. 19 5 15 ar însemna atunci SEO. Desigur, dacă n-ai ști algoritmul de criptare, ai vedea doar un șir de numere la întămplare.

Criptarea pe net e ceva mai complexă, altfel n-ar fi deloc eficientă. Scopul în schimb rămâne același: ca informația să fie înțeleasă doar de cele două părți.

website malware eroare ssl

Acest lucru se realizează folosind certificate SSL (Secure Socket Layer). Puteți achiziționa aceste certificate de la aproapeorice firmă ce oferă găzduire web sau înregistrare domenii. Orice intermediar va intercepta un mesaj critpat va vedea doar o adunătură de numere și litere fără sens.

Certificatele emise de companii specializate vor verifica de asemenea autenticitatea website-urilor. Vei putea ști astfel că Facebook.com chiar este Facebook.com și nu altcineva.

O conexiune securizată va avea un lăcățel verde în stânga sus (sau un simbol similar) și textul Secure, ca la SEOproject (sper).

Cea mai bună variantă este să achiziționezi un pachet complet dintr-un singur loc (creare site web + domeniu + hosting + SSL + IP dedicat) . Va fi mult mai ușor de gestionat pe termen lung.

Modifică permisiunile fișierelor din server

Asigură-te că permisiunile fișierelor sunt setate corect în server.

Acest lucru poate fi văzut în panoul de control al server-ului tău, în secțiunea de management al fișierelor.

Configurația corectă este 755 pentru directoare și 644 pentru fișiere. În cazul în care unele fișiere au permisiunea 777, atunci există vulnerabilități.

De cele mai multe ori permisiunile sunt setate corect de către WordPress sau platforma de CMS atunci când este instalat.

Cum este SEO afectat de securitatea website-ului?

Dacă website-ul tău este infestat cu malware, prezența online a acestuia poate avea de suferit. Dacă nu rezolvi rapid problema, riști să fii scos complet din index.

E suficient ca un website care este pe același IP ca tine să fie infectat ca să ai de suferit. De aceea recomand IP dedicat pentru website.

Google Search Console îți poate monitoriza site-ul și te poate anunța când ai probleme. Asigură-te că ai conectat website-ul la Consola Google.

Securitatea mărită înseamnă o experiență mai bună a utilizatorilor cu website-ul. Dacă un utilizator vede ceva suspect sau întâmpină un mesaj blocant, nu va ma avea încredere să stea pe acel website, darămite să cumpere ceva de pe el.

Din moment ce Google își dorește ca utilizatorii săi să aibă o experiență cât mai bună, e clar că dacă vei avea probleme de securitate, Google te va penaliza.

În 2014 a fost făcut un anunț oficial cum că un website ce beneficiază de conexiuni securizate HTTPS va beneficia și de poziții mai bune în Google.

În cazul în care ai fost deja infestat, poți folosi unul din aceste plugin-uri pentru a încerca să scapi de viruși/malware: WordPress, Joomla.

Altă variantă este să descarci complet fișierele website-ului în propriul PC (pe riscul tău) și să le scanezi cu un antivirus. Recomand Malwarebytes pentru asta.

După cum bine vezi, există multe vulnerabilități ce pot fi exploatate și multe riscuri pe care ți le asumi atunci când ai un website. Asigură-te că acesta este cât mai sigur, ca să te poți ocupa liniștit de optimizare SEO și Digital Marketing.

Dacă am omis ceva în acest articol, te rog mult să îmi scrii în comentarii și voi adăuga!

 

 

Lasă un comentariu

Shares