Ce sunt anteturile de securitate HTTP și cum le folosiți?

Ce sunt anteturile de securitate HTTP și cum le folosiți?
Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat.

Când doriți să vizitați un site web, browserul de internet pe care îl utilizați primește unele date de la acel site. Ca urmare, are loc un dialog între dispozitivul dvs. și site-ul web. Acest lucru se întâmplă cu protocolul numit HTTP. Este posibil să se ia unele măsuri suplimentare de securitate prin intervenția în acest dialog.





REALIZAREA VIDEOCLIPULUI ZILEI

Dacă rulați un site web sau doriți o carieră ca dezvoltator web, anteturile de securitate HTTP sunt de neprețuit pentru dvs., deoarece joacă un rol activ atât în ​​securitatea utilizatorului, cât și a site-ului web.





Ce este HTTP Strict-Transport-Security (HSTS)?

HTTP Strict Transport Security (HSTS) îi obligă pe utilizatori să folosească HTTPS pentru fiecare solicitare pe care o fac în browser. Aceasta este o modalitate solidă de a combate atacurile cibernetice cum ar fi downgrade-urile și de a asigura securitatea întregului trafic.





Activarea HSTS este destul de ușoară. Luați în considerare dialogul dintre client și server. Când încercați să accesați un site prin browser, sunteți clientul. Site-ul pe care doriți să îl deschideți depinde de server. Scopul tău este să spui serverului „Vreau să deschid acest site”. Aceasta este o operațiune de solicitare. Serverul, in schimb, te indruma catre site daca indeplinesti conditiile dorite.

Țineți cont de acest lucru în ceea ce privește acest exemplu de flag Header HTTP:



Strict-Transport-Security: max-age=16070200; 

Când adăugați acest indicator la informațiile din antetul răspunsului HTTP, toate solicitările generate de utilizator vor deveni HTTPS. Indiferent ce scrie utilizatorul aici, browserul va evalua automat protocolul ca HTTPS și va stabili o conexiune sigură.

Cum se utilizează HSTS

În loc să adăugați toate aceste informații de antet HTTP în stratul de cod, puteți face acest lucru pe Apache, IIS, Nginx, Tomcat și alte aplicații de server web.





Pentru a activa HSTS în Apache:

laptop conectat la wifi, dar fără acces la internet Windows 10
LoadModule headers_module modules/mod_headers.so 
<VirtualHost *:443>
Header always set Strict-Transport-Security "max-age=2592000; includeSubDomains"
</VirtualHost>

Pentru a activa HSTS în Nginx:





add_header Strict-Transport-Security max-age=2592000; includeSubdomains 

Pentru a activa HSTS cu IIS web.config:

<system.webServer> 
<httpProtocol>
<customHeaders>
<add name="Strict-Transport-Security" value="max-age=63072000"/>
</customHeaders>
</httpProtocol>
</system.webServer>

Pentru utilizatorii Cloudflare

Cloudflare oferă serviciu HTTPS gratuit pentru toată lumea cu serviciul SSL fără cheie; înainte de a aplica pentru preîncărcare HSTS, trebuie să știți că certificatul dvs. nu vă aparține. Multe site-uri folosesc certificate SSL deoarece sunt o modalitate simplă de a păstra datele în siguranță.

Cu toate acestea, Cloudflare acum acceptă caracteristica HSTS . Puteți activa toate funcțiile HSTS, inclusiv preîncărcarea, prin interfața web Cloudflare fără a avea probleme cu configurațiile de pe serverul web.

Ce este X-Frame-Options?

  Creșterea securității site-ului web cu antete HTTP

X-Frame-Options este un antet de securitate acceptat de toate browserele moderne. X-Frame-Options își propune să protejeze împotriva furtului de clic, cum ar fi Clickjacking. După cum sugerează și numele, este vorba despre funcționarea unui cadru inline vulnerabil, cunoscut și sub numele de iframe. Acestea sunt elemente de pe un site care încorporează o altă pagină HTML în site-ul „părinte”, astfel încât să poți folosi conținut din alte surse de pe site-ul tău. Dar atacatorii folosesc iframe sub controlul lor pentru a-i determina pe utilizatori să efectueze acțiuni pe care nu le doresc.

Din acest motiv, trebuie să împiedicați atacatorii să poată găsi iframe pe site.

Unde și cum se utilizează X-Frame-Options?

Ceea ce face X-Frame-Options, unii dezvoltatori încearcă să facă cu limbaje precum JavaScript. Acest lucru nu este complet greșit. Cu toate acestea, există încă un risc pentru că codurile scrise în multe aspecte nu sunt suficiente. Așa că ar fi înțelept să lăsați această sarcină browserului de internet pe care îl utilizați.

Cu toate acestea, în calitate de dezvoltator, există trei parametri de știut despre X-Frame-Options:

  • Negați : Preveniți complet apelarea paginii în orice iframe.
  • ACEEAȘI ORIGINE : Împiedică orice alt domeniu decât al tău să apeleze în cadrul iframe.
  • PERMITERE-DIN uri : Acceptați apelurile iframe ale URI-ului dat ca parametru. Blocați pe alții.

Aici ACEEAȘI ORIGINE caracteristica iese mai mult în evidență. Deoarece, în timp ce puteți apela aplicații din diferitele subdomenii cu iframe unul în celălalt, puteți împiedica apelarea acestora pe domeniul aflat sub controlul atacatorului.

Iată exemple despre cum puteți utiliza SAMEORIGIN și X-Frame-Options cu NGINX, Apache și IIS:

Utilizarea X-Frame-Options SAMEORIGIN pentru Nginx:

add_header X-Frame-Options SAMEORIGIN; 

Folosind X-Frame-Options SAMEORIGIN pentru Apache:

Header always append X-Frame-Options SAMEORIGIN 

Utilizarea X-Frame-Options SAMEORIGIN pentru IIS:

<httpProtocol> 
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol>

Simpla adăugare a antetului SAMEORIGIN va oferi o mai mare securitate vizitatorilor dvs.

Ce este X-XSS-Protection?

Utilizarea informațiilor din antetul X-XSS-Protection poate proteja utilizatorii de atacurile XSS. În primul rând, trebuie să eliminați Vulnerabilități XSS pe partea aplicației. După furnizarea de securitate bazată pe cod, sunt necesare măsuri suplimentare, și anume antetele X-XSS-Protection, împotriva vulnerabilităților XSS din browsere.

Cum se utilizează X-XSS-Protection

Browserele moderne pot detecta încărcături utile XSS potențiale prin filtrarea conținutului generat de aplicații. Este posibil să activați această caracteristică cu informațiile din antetul X-XSS-Protection.

Pentru a activa antetul X-XSS-Protection în Nginx:

vezi pe cine am blocat pe facebook
add_header X-Frame-X-XSS-Protection 1; 

Pentru a activa antetul X-XSS-Protection în Apache:

Header always append X-XSS-Protection 1 

Pentru a activa antetul X-XSS-Protection în IIS:

<httpProtocol> 
<customHeaders>
<add name="X-XSS-Protection" value="1" />
</customHeaders>
</httpProtocol>

Pentru a preveni rularea implicită a blocului de cod cu atac XSS, puteți folosi ceva de genul acesta:

X-XSS-Protection: 1; mode=block 

Această modificare minoră trebuie făcută dacă există o situație potențial periculoasă și doriți să împiedicați redarea întregului conținut.

Ce este X-Content-Type-Options?

Browserele efectuează o analiză numită MIME Type Sniffing asupra conținutului prezentat lor de aplicația web. De exemplu, dacă există o solicitare de acces la un fișier PDF sau PNG, browserele care efectuează analize pe răspunsul HTTP deduc tipul fișierului.

Luați în considerare un fișier cu extensie jpeg, dar care are de fapt conținut text/HTML. După utilizarea extensiilor și trecerea protecțiilor în modulul de încărcare, fișierul este încărcat cu succes. Fișierul încărcat este apelat prin intermediul URL-ului, iar sniffingul tip MIME returnează text/HTML ca rezultat. Redă conținutul ca HTML. Atunci apare vulnerabilitatea XSS.

Prin urmare, trebuie să împiedicați browserele să decidă asupra conținutului prin sniffing tip MIME. Pentru a face acest lucru, puteți folosi nosniff.

Antetul X-Content-Type-Options pentru Nginx:

add_header X-Content-Type-Options nosniff; 

Antetul X-Content-Type-Options pentru Apache:

Header always X-Content-Type-Options nosniff 

Antetul X-Content-Type-Options pentru IIS:

<httpProtocol> 
<customHeaders>
<add name="X-Content-Type-Options" value="nosniff" />
</customHeaders>
</httpProtocol>

Aplicațiile web urmăresc sesiunile utilizatorilor prin ID-ul sesiunii. Browserele vor stoca acest lucru și îl vor adăuga automat la fiecare solicitare HTTP din domeniul cookie-ului.

Este posibil pentru a utiliza cookie-uri în scopuri altele decât transferul cheii de sesiune, totuși. Hackerii ar putea afla datele utilizatorilor folosind vulnerabilitatea XSS menționată mai sus sau printr-un atac Cross-Site Request Forgery (CSRF). Deci, care cookie-uri sunt cele mai importante din punct de vedere al securității?

Puteți considera informațiile conținute în ultima imagine pe care ați dat clic în galeria de imagini ca exemplu. În acest fel, traficul HTTP este mai mic și o parte din încărcare poate fi rezolvată de browser-ul de internet al utilizatorului cu script-uri pe partea clientului.

  Utilizarea antetelor HTTP pentru a proteja informațiile confidențiale de pe site

Acolo Numai Http intră. Mai jos este un exemplu despre cum ar trebui să fie atribuirea cookie-urilor:

Set-Cookie: user=t=cdabe8a1c2153d726; path=/; HttpOnly 

Observați valoarea HttpOnly trimisă în Set-Cookie Operațiune. Browserul va vedea acest lucru și nu va procesa valori cu indicatorul HttpOnly atunci când cookie-ul este accesat prin intermediul document.cookie variabil. Un alt steag folosit în procesul Set-Cookie este Secure flag. Aceasta indică faptul că valoarea cookie-ului va fi adăugată la antet numai pentru solicitările HTTPS. Site-urile de comerț electronic îl folosesc de obicei pentru că doresc să reducă traficul în rețea și să crească performanța.

Folosind această metodă, puteți ascunde datele critice ale utilizatorilor, cum ar fi numele de utilizator, parolele și informațiile despre cardul de credit. Dar există o problemă. Utilizatorilor care finalizează procesul de conectare li se atribuie o valoare cookie fără marcajul Secure. Utilizatorul poate avea cheia de sesiune atunci când face o solicitare HTTP către linkuri non-HTTPS. Adăugarea steagului securizat este ușor:

Set-Cookie: user=t=cdabe8a1c2153d726; path=/; Secure 

Când nu ar trebui să utilizați HttpOnly? Dacă vă bazați pe Javascript, ar trebui să fiți atenți, deoarece acest lucru vă poate face site-ul mai puțin sigur.

Pași mici funcționează pentru o securitate mai largă a Webului

Nu aveți nevoie de cunoștințe avansate de software și server pentru a crește securitatea aplicațiilor web. Schimbând doar câteva rânduri, puteți preveni unele atacuri grave. Desigur, acest lucru nu este suficient. Cu toate acestea, este un pas mic, dar eficient pentru securitatea site-ului web. Cunoașterea este cea mai bună prevenire, așa că este, de asemenea, util să cunoașteți nuanțele subtile ale modului în care HTTPS protejează datele în timpul transferului.