9 metode prin care iti poti securiza site-ul – Este posibil să nu credeți că site-ul dvs. are ceva pentru care merită să fie piratat, dar site-urile web sunt compromise tot timpul. Majoritatea încălcărilor de securitate ale site-ului web nu au ca scop să vă fure datele sau să vă deranjeze aspectul site-ului dvs. , ci să încerce să vă folosiți serverul ca transmisie de e-mail pentru spam sau să configurați un server web temporar, în mod normal pentru a servi fișiere de natură ilegală.
Cuprins
Pastrati software-ul la zi
Poate părea evident, dar asigurarea că țineți tot software-ul la zi este vitală pentru a vă menține site-ul în siguranță. Acest lucru se aplică atât sistemului de operare pentru server, cât și oricărui software pe care îl puteți rula pe site-ul dvs. web, cum ar fi un CMS sau un forum. Când se găsesc găuri de securitate a site-ului web în software, hackerii încearcă rapid să le abuzeze.
Dacă utilizați software terță parte pe site-ul dvs. web, cum ar fi un CMS sau un forum, ar trebui să vă asigurați că aplicați rapid orice corecție de securitate. Majoritatea furnizorilor au o listă de corespondență sau un flux RSS care detaliază orice probleme de securitate ale site-ului web. WordPress , Umbraco și multe alte CMS-uri vă anunță actualizările de sistem disponibile atunci când vă conectați.
Atentie la injectarea bazei de date SQL
Atacurile cu injecție SQL sunt atunci când un atacator folosește un câmp de formular web sau un parametru URL pentru a obține acces la sau pentru a manipula baza de date. Când utilizați Transact SQL standard, este ușor să inserați, fără să știți, cod neautorizat în interogarea dvs., care ar putea fi folosit pentru a schimba tabelele, a obține informații și a șterge date. Puteți preveni cu ușurință acest lucru utilizând întotdeauna interogări parametrizate, majoritatea limbilor web au această caracteristică și este ușor de implementat.
Protejati site-ul impotriva atacurilor XSS
Atacurile de tip cross-site scripting (XSS) injectează JavaScript rău intenționat în paginile dvs., care apoi rulează în browserele utilizatorilor dvs. și pot modifica conținutul paginii sau pot fura informații pentru a le trimite înapoi atacatorului. De exemplu, dacă afișați comentarii pe o pagină fără validare, atunci un atacator poate trimite comentarii care conțin etichete de script și JavaScript, care ar putea rula în browserul oricărui alt utilizator și ar putea fura cookie-ul de autentificare, permițând atacului să preia controlul asupra contului fiecărui utilizator. utilizator care a vizualizat comentariul. Trebuie să vă asigurați că utilizatorii nu pot injecta conținut JavaScript activ în paginile dvs.
Aceasta este o preocupare deosebită în aplicațiile web moderne, în care paginile sunt acum construite în principal din conținutul utilizatorului și care, în multe cazuri, generează HTML, care este apoi interpretat și de cadrele front-end precum Angular și Ember. Aceste cadre oferă multe protecții XSS, dar amestecarea redării serverului și clientului creează, de asemenea, căi de atac noi și mai complicate: nu numai că injectarea JavaScript în HTML este eficientă, dar puteți și injecta conținut care va rula cod prin inserarea directivelor Angular sau folosind Ember. ajutoare.
Cheia aici este să vă concentrați asupra modului în care conținutul dvs. generat de utilizatori ar putea scăpa de limitele la care vă așteptați și poate fi interpretat de browser ca altceva decât ceea ce v-ați propus. Acest lucru este similar cu apărarea împotriva injectării SQL. Când generați HTML dinamic, utilizați funcții care efectuează în mod explicit modificările pe care le căutați (de exemplu, utilizați element.setAttribute și element.textContent, care vor fi eliminate automat de browser, în loc să setați manual element.innerHTML) sau utilizați funcții în instrumentul dvs. de șabloane, care efectuează automat evadarea adecvată, mai degrabă decât concatenarea șirurilor sau setarea conținutului HTML brut.
Un alt instrument puternic din setul de instrumente al apărătorului XSS este Politica de securitate a conținutului (CSP). CSP este un antet pe care serverul dvs. îl poate returna, care îi spune browserului să limiteze cum și ce JavaScript este executat în pagină, de exemplu, să interzică rularea oricăror scripturi care nu sunt găzduite pe domeniul dvs., să nu permită JavaScript inline sau să dezactiveze eval(). Mozilla are un ghid excelent cu câteva exemple de configurații. Acest lucru face ca scripturile unui atacator să funcționeze mai greu, chiar dacă le pot introduce în pagina ta.
Atentie la mesajele de eroare
Fiți atenți la câte informații furnizați în mesajele dvs. de eroare. Furnizați doar erori minime utilizatorilor dvs., pentru a vă asigura că nu scurg secrete prezente pe serverul dvs. (de exemplu, chei API sau parole de baze de date). Nu furnizați nici detalii complete despre excepții, deoarece acestea pot face atacurile complexe precum injecția SQL mult mai ușoară. Păstrați erorile detaliate în jurnalele serverului dvs. și afișați utilizatorilor doar informațiile de care au nevoie.
Validati site-ul pe ambele parti (browser si server)
Validarea ar trebui să se facă întotdeauna atât pe partea de browser, cât și pe server. Browserul poate detecta erori simple, cum ar fi câmpurile obligatorii care sunt goale și când introduceți text într-un câmp numai cu numere. Acestea pot fi totuși ocolite și ar trebui să vă asigurați că verificați validarea și validarea mai profundă din partea serverului, deoarece nerespectarea acestui lucru ar putea duce la inserarea de cod rău intenționat sau cod de scripting în baza de date sau ar putea cauza rezultate nedorite pe site-ul dvs. web.
Verificati si schimbati des parolele
Toată lumea știe că ar trebui să folosească parole complexe, dar asta nu înseamnă că o fac întotdeauna. Este esențial să utilizați parole puternice pentru serverul dvs. și zona de administrare a site-ului dvs. web, dar la fel de important și să insistați asupra bunelor practici de parole pentru utilizatorii dvs. pentru a proteja securitatea conturilor lor.
Oricât de mult ar putea să nu le placă utilizatorilor, aplicarea cerințelor privind parola, cum ar fi cel puțin aproximativ opt caractere, inclusiv o literă mare și un număr, va ajuta la protejarea informațiilor pe termen lung.
Parolele ar trebui să fie întotdeauna stocate ca valori criptate, de preferință folosind un algoritm de hashing unidirecțional, cum ar fi SHA. Folosirea acestei metode înseamnă că atunci când autentificați utilizatorii nu comparați decât valorile criptate. Pentru securitate suplimentară a site-ului web, este o idee bună să sărați parolele, folosind o nouă sare pentru fiecare parolă.
Din fericire, multe CMS-uri oferă gestionarea utilizatorilor de pe piață, cu multe dintre aceste caracteristici de securitate a site-ului web integrate, deși ar putea fi necesare unele configurații sau module suplimentare pentru a utiliza parole sărate (înainte de Drupal 7) sau pentru a seta puterea minimă a parolei. Dacă utilizați .NET, atunci merită să utilizați furnizori de membri, deoarece aceștia sunt foarte configurabili, oferă securitate integrată a site-ului și includ controale gata pentru autentificare și resetare a parolei.
Evitati incarcarea multor fisiere pe site
Permiterea utilizatorilor să încarce fișiere pe site-ul dvs. web poate reprezenta un risc mare pentru securitatea site-ului, chiar dacă este pur și simplu pentru a-și schimba avatarul. Riscul este ca orice fișier încărcat, oricât de inocent ar părea, să poată conține un script care, atunci când este executat pe serverul tău, deschide complet site-ul tău.
Dacă aveți un formular de încărcare a fișierelor, atunci trebuie să tratați toate fișierele cu mare suspiciune. Dacă permiteți utilizatorilor să încarce imagini, nu vă puteți baza pe extensia fișierului sau pe tipul mime pentru a verifica dacă fișierul este o imagine, deoarece acestea pot fi falsificate cu ușurință. Chiar și deschiderea fișierului și citirea antetului sau utilizarea funcțiilor pentru a verifica dimensiunea imaginii nu sunt sigure. Majoritatea formatelor de imagini permit stocarea unei secțiuni de comentarii care ar putea conține cod PHP care ar putea fi executat de server.
Unele opțiuni sunt redenumirea fișierului la încărcare pentru a asigura extensia corectă a fișierului sau modificarea permisiunilor fișierului, de exemplu, chmod 0666, astfel încât să nu poată fi executat. Dacă utilizați *nix, puteți crea un fișier .htaccess (vezi mai jos) care va permite accesul numai la fișierele setate, prevenind atacul cu extensie dublă menționat mai devreme.
Utilizati HTTPS
HTTPS este un protocol folosit pentru a oferi securitate pe Internet. HTTPS garantează că utilizatorii vorbesc cu serverul la care se așteaptă și că nimeni altcineva nu poate intercepta sau modifica conținutul pe care îl văd în tranzit.
Dacă aveți ceva ce utilizatorii ar putea dori privat, este foarte recomandabil să utilizați numai HTTPS pentru a-l livra. Asta înseamnă, desigur, cărțile de credit și paginile de conectare (și adresele URL la care se trimit), dar de obicei mult mai mult din site-ul tău. Un formular de autentificare va seta adesea un cookie, de exemplu, care este trimis cu orice altă solicitare către site-ul dvs. pe care o face un utilizator conectat și este folosit pentru a autentifica acele solicitări. Un atacator care fură acest lucru ar putea să imite perfect un utilizator și să preia sesiunea de conectare a acestuia. Pentru a învinge acest tip de atacuri, aproape întotdeauna doriți să utilizați HTTPS pentru întregul site.
În special, Google a anunțat că vă va crește în clasamentul căutării dacă utilizați HTTPS, oferind și acestui beneficiu SEO. HTTP nesigur este pe cale de dispariție și acum este momentul să faceți upgrade.
Folosești deja HTTPS peste tot? Mergeți mai departe și uitați-vă la configurarea HTTP Strict Transport Security (HSTS), un antet ușor pe care îl puteți adăuga la răspunsurile serverului dvs. pentru a interzice HTTP nesecurizat pentru întregul dvs. domeniu.
Obtineti instrumente de securitate pentru site
Odată ce credeți că ați făcut tot ce puteți, atunci este timpul să vă testați securitatea site-ului. Cea mai eficientă modalitate de a face acest lucru este prin utilizarea unor instrumente de securitate a site-ului web, denumite adesea testarea de penetrare sau testarea stiloului pe scurt.
Există multe produse comerciale și gratuite pentru a vă ajuta în acest sens. Ei funcționează pe o bază similară cu hackerii de scripturi, deoarece testează toate exploatările cunoscute și încearcă să compromită site-ul dvs. folosind unele dintre metodele menționate anterior, cum ar fi SQL Injection.
Concluzie
Hackingul este efectuat în mod regulat prin scripturi automate scrise pentru a cerceta internetul în încercarea de a exploata problemele cunoscute de securitate a site-ului web în software. Ati primit cele mai bune nouă sfaturi ale noastre pentru a vă menține siguranța dvs. și a site-ului dvs. online.
Pingback: Cum te poate spiona oricine folosind Cookie-uri - Artemir 🔥