Mozilla sfatuieste webmasterii sa foloseasca header-ul de securitate X-Frame-Options

Din cauza ratei scazute de adoptare a header-elor de securitate HTTP, Mozilla sfatuieste webmasterii sa implementeze cel putin X-Frame-Options pe site-urile lor, argumentand ca acest header poate preveni mai multe tipuri de atacuri.

X-Frame-Options este un header HTTP care permite webmasterilor sa defineasca modul in care site-urile lor pot fi incarcate in elemente frame pe alte site-uri. Acesta vine cu trei optiuni: ALLOW, DENY si SAMEORIGIN, acesta din urma permitand unei pagini sa fie incarcata in frame-uri numai in cadrul paginilor cu acelasi domeniu si port. Exista si o a patra optiune numita ALLOW-FROM, dar nu este suportata de toate browserele.

Ca exemplu concret: daca site-ul X incearca sa incarce o pagina de pe site-ul Y intr-un frame, iar site-ul Y are X-Frame-Options DENY, un browser modern de pe care se viziteaza site-ul X nu va incarca pagina in frame.

Acest header a fost creat in primul rand ca un mecanism de aparare impotriva atacurilor clickjacking, care pot fi utilizate pentru a pacali utilizatorii sa dea click-uri pe elemente dintr-un site, fara stirea lor.

Cel mai comun tip de atac clickjacking este incarcarea unui buton pe un site legitim si care sa redirectioneze catre un site malware. Pentru aceasta se folosesc tehnici de dezvoltare web pentru a ascunde butonul, astfel incat utilizatorul obisnuit vede doar un element comun de pe site, pe care daca va da click va fi redirectionat catre un site malware.

In ciuda faptului ca X-Frame-Options este relativ usor de implementat, un studiu facut in luna noiembrie arata ca din top 1 milion cele mai vizitate site-uri din lume, doar aproximativ 30.000 de site-uri folosesc acest header, dintre care cateva sute il folosesc in mod incorect.

Mozilla ofera informatii cu privire la modul in care se configureaza X-Frame-Options pe servere web Apache si Nginx.