X-Frame-Options: Protejarea aplicațiilor web împotriva atacurilor de tip Clickjacking
Header-ul X-Frame-Options este o caracteristică de securitate care poate ajuta la protejarea aplicațiilor web împotriva atacurilor de tip clickjacking.
Clickjacking-ul este un tip de atac în care un atacator îi păcălește pe utilizatori să dea clic pe un buton sau un link de pe o pagină web care este ascuns sau disimulat ca un element legitim. Atacatorul poate folosi această tehnică pentru a efectua acțiuni malitioase, cum ar fi furtul de informații sensibile sau instalarea de malware pe calculatorul utilizatorului.
Header-ul X-Frame-Options permite dezvoltatorilor web să controleze dacă paginile lor pot fi afișate într-un element iframe pe un alt site. Prin setarea header-ului la "deny" sau "sameorigin", dezvoltatorii pot preveni afișarea paginilor lor într-un iframe pe un alt domeniu. Acest lucru poate ajuta la prevenirea atacurilor de tip clickjacking, asigurându-se că utilizatorul interacționează întotdeauna cu pagina direct, nu prin intermediul unui iframe.
În plus, header-ul X-Frame-Options poate fi setat și la "allow-from" pentru a specifica o listă de domenii specifice care sunt permise să afișeze pagina într-un iframe. Acest lucru poate fi util pentru cazuri de utilizare legitime, cum ar fi integrarea unui videoclip sau a altui conținut de pe un site terț de încredere.
În general, header-ul X-Frame-Options este o caracteristică ce ar trebui implementată de toate aplicațiile web pentru a ajuta la protejarea împotriva atacurilor de tip clickjacking. Controlând dacă paginile lor pot fi afișate în iframe-uri pe alte domenii, dezvoltatorii pot ajuta la asigurarea faptului că utilizatorii interacționează întotdeauna cu paginile lor direct și reduc riscul de activități malitioase.
Remediere:
Apache2- Adăugați în fișierul de configurare al Apache2 (ex: /etc/apache2./apache2.conf, httpd.conf etc.) următoarea linie:
Header always set X-Frame-Options "SAMEORIGIN"
- Restartați serverul web
Nginx
- Adăugați în fișierul de configurare următoarea linie:
add_header X-Frame-Options SAMEORIGIN always;
- Restartați serverul web
IIS
- Adăugați în "Web.config" următoarele linii:
<httpProtocol>
<customHeaders>
<add name="X-Frame-Options" value="SAMEORIGIN" />
</customHeaders>
</httpProtocol> - Restartați serverul web
HAProxy
- Adăugați în fișierul de configurare una următoarele linii:
rspadd X-Frame-Options:\ SAMEORIGIN
sau pentru versiuni mai noi:
http-response set-header X-Frame-Options SAMEORIGIN
- Restartați serverul web
Express
- Adăugați în fișierul de configurare una următoarele linii:
const helmet = require("helmet"); const app = express(); app.use(helmet.frameguard({ action: "SAMEORIGIN" }))
- Restartați serverul web
Iulian Băncău · Security Engineer
31-03-2023 · Citire în 2 min.