Configurarea antetelor de securitate HTTP pe WordPress

Publicat: 2022-02-23

Cele mai multe browsere moderne acceptă o varietate de anteturi de securitate HTTP pentru a îmbunătăți securitatea site-ului dvs. WordPress, pentru a vă proteja mai bine vizitatorii de clase de atacuri ale browserului, cum ar fi clickjacking, scripturi între site-uri și alte atacuri comune și chiar pentru a îmbunătăți confidențialitatea vizitatorilor site-ului dvs. pe net.

Acest articol oferă o privire de ansamblu asupra a ceea ce sunt aceste antete de securitate HTTP, explică cum funcționează și care este domeniul lor. De asemenea, explică cum puteți adăuga aceste anteturi de securitate HTTP pe site-ul dvs. web pentru a îmbunătăți securitatea site-ului dvs. WordPress.

Oricum, ce este un antet de securitate HTTP?

Antetele de securitate HTTP sunt o serie de anteturi HTTP 1 schimbat între un client web (browser) și un server web care sunt utilizate pentru a specifica setările legate de securitate ale comunicării HTTP între un client web și un server. Activarea anteturilor de securitate pe site-ul dvs. WordPress poate îmbunătăți rezistența site-ului dvs. împotriva atacurilor obișnuite, inclusiv cross-site scripting (XSS) și clickjacking.

Cum pot îmbunătăți anteturile de securitate HTTP securitatea WordPress

Antetele de securitate HTTP pot ajuta la îmbunătățirea securității site-ului dvs. WordPress, indicând browser-ului să activeze o varietate de funcții de securitate în consecință. În multe cazuri, implementarea antetelor potrivite este o chestiune dificilă și poate chiar să aibă rezultate diferite (sau să fie total ineficientă) în browserele mai vechi, așa că cea mai bună practică este să încercați orice modificări într-un mediu de testare sau de punere în pas înainte de a aplica orice modificări pe un site WordPress live.

Cele mai frecvent utilizate anteturi de securitate HTTP

Ce antete fac ce? Să aruncăm o privire de ansamblu asupra unora dintre cele mai importante și mai frecvent utilizate anteturi de securitate HTTP.

Strict-Transport-Securitate

Antetul HTTP Strict-Transport-Security instruiește browserul să impună HTTP Strict Transport Security (HSTS) 2 . Un antet HSTS instruiește browserul care vizitează să acceseze întotdeauna site-ul prin HTTPS (în loc de HTTP), chiar dacă utilizatorul (sau un atacator care încearcă să execute un atac Man-in-the-Middle) încearcă să acceseze site-ul prin HTTP, browserul va comuta forțat la HTTPS, chiar dacă HTTP nu este disponibil - într-o asemenea măsură, ar trebui să activați HSTS numai dacă aveți HTTPS activat și funcționează complet corect, fără probleme de conținut mixt 3 .

Următorul antet HTTP de răspuns HTTP Strict Transport Security (HSTS) activează HSTS pentru o durată de 1 an (31536000 secunde).


Strict-Transport-Security: max-age=31536000

Conținut-Securitate-Politică

Antetul de securitate HTTP Content-Security-Policy este un antet HTTP cu multă putere și configurabilitate. Acesta configurează politica de securitate a conținutului (CSP) a browserului, care este un set de caracteristici de securitate găsite în browserele moderne, care oferă un nivel suplimentar de securitate care ajută la detectarea și atenuarea atacurilor precum Cross-Site Scripting (XSS) și atacurile de injectare de date.

Politica de securitate a conținutului (CSP) este, de asemenea, notoriu dificil de realizat, deoarece setările corecte ale CSP vor depinde foarte mult de site-ul web în cauză și ar trebui să fie testate intens înainte de implementare - atât de mult, are o politică de securitate a conținutului soră. -Doar Raport 4 Antet HTTP folosit doar pentru testarea CSP.

Următorul este un exemplu de politică destul de simplă a politicii de securitate a conținutului (CSP) care permite încărcarea activelor doar de la originea de unde este servit site-ul web.


Content-Security-Policy: default-src 'self'

Cu toate acestea, Politica de securitate a conținutului (CSP) este mult mai configurabilă decât se arată în acest exemplu simplu. CSP include alte directive precum script-src , style-src și img-src pentru a specifica sursele din care browserul poate încărca active (de exemplu CSS, imagini și fonturi). Pentru o listă completă a modului în care CSP poate fi configurat, consultați ghidurile de referință rapidă pentru Politica de securitate a conținutului.

X-Conținut-Tip-Opțiuni

Antetul de securitate HTTP X-Content-Type-Options este un antet non-standard respectat de toate browserele majore care previne atacurile Cross-site Scripting (XSS) care sunt cauzate ca urmare a sniffing-ului de tip MIME 5 . Când este prezent, acest antet îi spune browserului să urmeze cu strictețe tipurile MIME definite în antetul HTTP Content-Type și că browserul nu ar trebui să încerce să detecteze tipul MIME corect pentru datele de răspuns în sine. Antetul are o singură directivă - nosniff.


X-Content-Type-Options: nosniff

Anteturi de securitate HTTP vechi sau neutilizate

Există, de asemenea, o serie de anteturi de securitate HTTP vechi și neutilizate. Ele nu mai sunt folosite sau nu mai funcționează deoarece au fost fie introduse ca remedieri temporare, experimente sau chiar inițiative non-standard care de atunci fie au fost depreciate, fie înlocuite în întregime. Mai jos este o listă a acestor anteturi de securitate HTTP.

Antetele de securitate HTTP înlocuite cu Content-Security-Policy

X-Frame-Opțiuni

Antetul de securitate HTTP X-Frame-Options este un antet acum depreciat care a fost introdus pentru prima dată de Microsoft Internet Explorer (și adoptat de alte browsere cu diferite grade de uniformitate și compatibilitate) pentru a proteja browserele împotriva Cross-site Scripting (XSS), Clickjacking și alte atacuri care se bazează pe plasarea unui site web în interiorul unui iframe.

Acest antet a fost acum înlocuit de directiva privind politica de securitate a conținutului (CSP) a strămoșilor cadrelor. Se recomandă să utilizați CSP cu directiva strămoșilor cadru în locul opțiunilor X-Frame.

X-XSS-Protecție

Antetul de securitate HTTP X-XSS-Protection a fost un antet non-standard introdus pentru a activa sau dezactiva protecția browserului împotriva atacurilor Cross-site Scripting (XSS). În practică, acest antet a fost adesea ușor de ocolit de către atacatori și, prin urmare, este ignorat de majoritatea browserelor moderne.

Pinuri-cheie-publică

Antetul de securitate HTTP Public-Key-Pins folosit pentru a configura funcția de securitate Public Key Pinning (HPKP) care a fost introdusă în Google Chrome și Firefox pentru a preveni falsificarea certificatului TLS. HPKP a funcționat prin faptul că serverul web le-a furnizat browserului un set de coduri hash-uri criptografice ale cheilor publice ale certificatului TLS pe ​​care le-a folosit site-ul web, pe care browserul le-ar utiliza la rândul său pentru a le compara cu certificatele pe care le primește de la server în cererile ulterioare. Problema a fost că HPKP a fost destul de complicat de gestionat și a dus frecvent la configurări greșite care ar putea dezactiva complet accesul la site - ca atare, nu mai este recomandat să îl utilizați.

Adăugarea antetelor de securitate HTTP în WordPress

Antetele de securitate HTTP funcționează cel mai bine atunci când sunt configurate pe serverul dvs. web sau, acolo unde este cazul, în Rețeaua de livrare a conținutului (CDN) sau Firewall-ul pentru aplicații web. Acest lucru le permite să fie trimise la fiecare cerere. Alternativ, deși mai puțin ideal, puteți utiliza un plugin WordPress pentru a seta aceste anteturi pentru dvs.

Acum că am acoperit scopul anteturilor de securitate HTTP, iată câteva moduri prin care acestea pot fi activate pe site-ul dvs. WordPress.

Adăugarea antetelor de securitate HTTP în WordPress utilizând Apache HTTP Server

Următorul este un exemplu de configurație pentru Apache HTTP Server necesară pentru a activa HTTP Strict Transport Security (HSTS), X-Content-Type-Options și o simplă Politică de securitate a conținutului.


<ifModule mod_headers.c>
Header set Strict-Transport-Security "max-age=31536000"
Header set X-Content-Type-Options "nosniff"
Header set Content-Security-Policy "default-src 'self'"
</ifModule>

Adăugarea antetelor de securitate HTTP în WordPress folosind Nginx

În mod similar, următorul este un exemplu de configurație pentru Nginx necesară pentru a activa HTTP Strict Transport Security (HSTS), X-Content-Type-Options și o simplă Politică de securitate a conținutului.


server {
add_header Strict-Transport-Security "max-age=31536000; always;
add_header X-Content-Type-Options "nosniff" always;
add_header Content-Security-Policy "default-src 'self'" always;
}

Adăugarea antetelor de securitate HTTP în WordPress folosind un plugin

Alternativ, deși mai puțin eficient (deoarece se bazează pe WordPress însuși pentru a modifica anteturile), utilizarea unui plugin WordPress ar putea fi cea mai ușoară modalitate de a adăuga anteturi de securitate HTTP pe site-ul dvs. WordPress. Pluginurile precum pluginul de redirecționare vă permit să adăugați anteturi HTTP personalizate pe site-ul dvs. web.

Cum să verificați anteturile de securitate HTTP pentru un site web

După ce adăugați anteturi de securitate HTTP pe site-ul dvs. WordPress, ați dori să vă asigurați că sunt configurate corect și funcționează așa cum vă așteptați. Cel mai simplu mod de a testa acest lucru este utilizarea unui instrument gratuit numit Security Headers 6 .

Utilizarea instrumentului Antete de securitate este la fel de simplă ca să introduceți adresa URL a site-ului dvs. și să apăsați „Scanați”. Apoi vi se va acorda o notă de la A+ la F, împreună cu o explicație a modului în care a fost determinată nota respectivă.

Referințe utilizate în acest articol [ + ]

Referințe utilizate în acest articol
1 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers
2 https://owasp.org/www-project-secure-headers/#http-strict-transport-security
3 https://web.dev/what-is-mixed-content/
4 https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only
5 https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types#mime_sniffing
6 https://securityheaders.com/