Defaults.Exposed

Defaults.ExposedRemedieri › Protecție clickjacking (X-Frame-Options)

Cum să remediezi Protecție clickjacking (X-Frame-Options)

O instrucțiune pe o linie care spune browserelor să nu permită altor site-uri să încarce în secret site-ul tău în interiorul propriilor lor pagini. Fără ea, un escroc poate ascunde paginile tale reale autentificate în spatele unei pagini false și îți poate păcăli clienții să facă clic pe lucruri pe care nu le-au intenționat vreodată — aprobând o plată, schimbând o parolă, acordând acces.

Concluzia pentru afacerea ta: Un fraudator poate înfășura invizibil site-ul tău live în interiorul unui fals și fura bani sau acces la cont de la clienții tăi autentificați — și pentru client arată ca și cum site-ul tău a făcut-o. Remedierea este gratuită și durează un dezvoltator aproximativ 15 minute; lăsând-o dezactivată este un decalaj cunoscut pe care atât criminalii cât și cumpărătorii precauți îl pot depista în secunde.

Ce te poate costa

De ce contează. Aceasta este o setare gratuită pe o linie care durează minute să adaugi și închide o clasă întreagă de înșelătorie îndreptată spre clienții tăi autentificați. Pe notarea noastră este o verificare de securitate web valorând puncte reale cotată cu severitate ridicată, deoarece un antet lipsă lasă o gaură cunoscut ușor-de-verificat pe care criminalii o automatizează și cumpărătorii o caută.

Ce este, în cuvinte simple

Când cineva vizitează site-ul tău, browserul lor poate fi de asemenea instruit să încarce site-ul tău în interiorul unui alt site web — ca o fereastră mică încorporată în interiorul unei pagini mai mari. Aceasta sună inofensivă și uneori este. Dar este mecanismul din spatele unui atac numit clickjacking.

Iată trucul. Un escroc construiește propria lor pagină și încarcă în tăcere site-ul tău real în interiorul ei — invizibil, făcut complet transparent. Apoi plasează propriul conținut deasupra: un buton strălucitor, un “Redă video,” un “Revendică premiul tău.” Clientul tău vede pagina atacatorului și dă clic pe ceea ce pare a fi un buton inofensiv. Dar deoarece site-ul tău real se află în mod invizibil sub cursorul lor, clicul aterizează de fapt pe pagina ta — confirmând o plată, schimbând o parolă, aprobând accesul, acceptând o permisiune. Clientul crede că a dat clic pe un lucru; de fapt a dat clic pe altul, pe un site în care are încredere.

Protecția clickjacking este o instrucțiune scurtă și invizibilă pe care site-ul tău o trimite browserului fiecărui vizitator care spune, în esență:

“Nu permite altor site-uri să mă încarce în interiorul lor. Dacă cineva încearcă, refuză.”

Browserele moderne respectă aceasta automat. Cu ea activată, trucul pur și simplu nu funcționează — copia încorporată a site-ului tău refuză să se încarce. Fără ea, site-ul tău este fair game pentru a fi folosit ca strat ascuns într-o înșelătorie, iar clientul care este prins va asocia totul cu marca ta, nu a atacatorului.

Ce te poate costa

Acestea sunt scenarii realiste de zi cu zi. Nu numim niciodată o afacere reală; acestea sunt ilustrații ale modului în care decalajul este folosit.

  1. “Confirmarea” invizibilă. Un client este autentificat în portalul tău de cont într-un tab. Ajunge pe o pagină (dintr-un anunț, un email, un rezultat de căutare) care promite ceva tentant și arată un mare buton “Continuă”. Ascuns sub acel buton se află controlul tău real “Confirmare transfer” sau “Schimbă email”, încărcat din propria lor sesiune autentificată. Fac clic pe “Continuă” — și autorizează fără să vrea o schimbare pe contul lor real la tine.

  2. Piratarea setărilor. Un atacator include pagina de setări a contului tău și suprapune un joc sau un sondaj inofensiv. Câteva clicuri în locurile potrivite schimbă în tăcere o setare — adăugând email-ul atacatorului ca adresă de recuperare, acordând permisiunea unei aplicații sau dezactivând o alertă de securitate. Contul este acum compromis în tăcere.

  3. Tranzacția care se blochează. Un client mai mare trimite chestionarul standard de securitate înainte de semnare. O linie întreabă dacă site-ul tău setează protecție anti-cadru (X-Frame-Options / CSP frame-ancestors). Contactul IT trebuie să răspundă “nu,” iar achizițiile se pauzeay în timp ce remediezi o setare gratuită de 15 minute care acum apare ca un semnal de alarmă.

  4. Campania de falsificare a mărcii. Deoarece paginile tale reale de încredere pot fi încorporate, un atacator folosește autentificarea sau plata ta ca strat convingător într-o campanie de phishing mai largă. Clienții care sunt prinși nu învinuiesc atacatorul umbros — își amintesc că a fost data când “site-ul tău” le-a permis să fie înșelați.

  5. Semnalul de audit. Scanarea unui asigurător sau un auditor care revizuiește postura ta de securitate listează protecția clickjacking lipsă printre constatări. Este un element de igienă de bază din manual; a-l semnalat semnalează că protecțiile ușoare și gratuite nu erau la locul lor.

Daunele cad pe un client real, autentificat care face ceva ce nu a intenționat — și poartă numele tău, nu al atacatorului.

Ce este de fapt

Când un browser îți solicită site-ului o pagină, serverul tău trimite înapoi pagina plus câteva “antete” invizibile. Protecția clickjacking este livrată prin aceste antete. Există două, iar verificarea noastră trece dacă oricare este prezent:

1. Antetul mai vechi — X-Frame-Options:

X-Frame-Options: SAMEORIGIN

Acesta ia una din două valori practice:

2. Antetul modern — Content-Security-Policy frame-ancestors:

Content-Security-Policy: frame-ancestors 'self';

Acesta este controlul mai nou, mai flexibil:

Cum arată “bine”

Configurarea cea mai puternică folosește ambele: frame-ancestors pentru browsere moderne și X-Frame-Options: SAMEORIGIN ca rezervă pentru clienți mai vechi. Verificarea noastră este satisfăcută de oricare de unul singur — dar deoarece ambele sunt gratuite și durează aceleași câteva minute, nu există niciun motiv să nu le setezi pe ambele.

Un detaliu important pe care dezvoltatorul tău ar trebui să îl știe: un antet Content-Security-Policy-Report-Only nu aplică nimic — numai raportează. Dacă vrei că protecția clickjacking să intre efectiv în vigoare, trebuie să vină dintr-un antet de aplicare.

Cum se remediază (gratuit, ~15 minute)

Predă această secțiune celui care rulează site-ul tău — persoana IT, dezvoltatorul web sau suportul de găzduire. Remedierea este gratuită. Sunt unul sau două antete de răspuns sau o regulă în CDN-ul tău. Nu există nimic de cumpărat.

Pasul 1 — Decide cât de strict să fii

Pasul 2 — Adaugă antetele (alege platforma)

Nginx — în interiorul blocului server:

add_header X-Frame-Options "SAMEORIGIN" always;
add_header Content-Security-Policy "frame-ancestors 'self';" always;

Apache — asigură-te că mod_headers este activat, apoi în gazda virtuală:

Header always set X-Frame-Options "SAMEORIGIN"
Header always set Content-Security-Policy "frame-ancestors 'self';"

Microsoft IIS — în web.config în interiorul <customHeaders>:

<add name="X-Frame-Options" value="SAMEORIGIN" />
<add name="Content-Security-Policy" value="frame-ancestors 'self';" />

Cloudflare (sau un CDN similar): mergi la Reguli → Reguli de transformare → Modifică antetul de răspuns și adaugă două reguli care setează X-Frame-Options la SAMEORIGIN și Content-Security-Policy la frame-ancestors 'self'; pe toate răspunsurile.

Trimiți deja o Content-Security-Policy din alte motive? Nu crea un al doilea antet CSP — adaugă frame-ancestors în politica ta existentă. Două antete CSP pot intra în conflict.

Constructori de site-uri (Squarespace, Wix, Shopify și similar): aceste platforme adesea setează protecția anti-cadru pentru tine, deci poate deja treci fără să faci nimic. Dacă verificarea noastră o semnalează, controlul este de obicei în setările de securitate ale platformei, sau îl adaugi la CDN-ul din fața site-ului.

Pasul 3 — Reîncarcă și verifică

Reîncarcă serverul web sau deployează regula CDN, apoi încarcă site-ul tău live și verifică antetele de răspuns — instrumente dev browser → tab Rețea → dă clic pe cererea paginii → Antete de răspuns, sau orice instrument gratuit de verificare a antetelor. Confirmă că antetele apar pe răspunsurile la pagini reale, nu numai pe homepage. Apoi rulează din nou verificarea.

Greșeli comune

Întrebări frecvente

Nu sunt tehnic — pot rezolva asta singur?

Nu trebuie să faci componenta tehnică. Este o singură setare adăugată la serverul sau CDN-ul site-ului tău, iar orice dezvoltator web sau furnizor IT o poate adăuga în câteva minute. Predă-le secțiunea 'Cum se remediază' de mai jos — le spune exact ce să adauge. Remedierea este gratuită; percepem taxe numai dacă ai dori să te monitorizăm că rămâne la locul ei.

Va opri asta propriul meu site sau partenerii legitimi să afișeze paginile mele?

Numai dacă este setat prea strict. Setarea comună ('SAMEORIGIN' sau 'frame-ancestors self') lasă totuși propriul tău site web să îi încorporeze propriile pagini normal — blochează numai site-urile externe. Dacă un partener autentic trebuie să încorporeze o singură pagină specifică a ta, dezvoltatorul tău poate permite acea singură sursă blocând în continuare pe toți ceilalți.

Suntem o afacere mică — chiar ar viza cineva site-ul nostru?

Aceste atacuri sunt rulate în vrac de instrumente automate, nu selectate manual. Site-urile mai mici sunt adesea vizate tocmai deoarece le lipsesc protecțiile de bază de acest tip. Atacatorul nu are nevoie să știe cine ești — trebuie numai ca site-ul tău să fie încorporabil. Închiderea decalajului nu te costă nimic.

Cum arată de fapt 'bine'?

Fie un antet X-Frame-Options setat la SAMEORIGIN (sau DENY), fie o Politică de Securitate a Conținutului cu o directivă frame-ancestors — ideal ambele. Verificarea noastră trece dacă oricare este prezent. Controlul modern, mai flexibil este frame-ancestors; X-Frame-Options este antetul mai vechi care acoperă în continuare unele browsere moștenite, deci configurarea centură-și-bretele folosește ambele.

Nu este asta același lucru cu lacătul SSL sau HTTPS?

Nu — protejează împotriva unor lucruri complet diferite. HTTPS criptează conexiunea astfel că nimeni nu o poate citi în tranzit. Protecția clickjacking oprește paginile tale să fie încărcate în interiorul site-ului altcuiva. Poți avea un lacăt perfect și să fii totuși complet expus la clickjacking. Sunt verificări separate și vrei ambele.

Dacă nu remediem, scade nota noastră?

Da. Aceasta este o verificare de securitate web notată, nu informațională — un antet lipsă costă puncte și este cotat cu severitate ridicată, deoarece expune direct clienții tăi autentificați la fraudă. Este de asemenea unul din cele mai ieftine puncte de recuperat: un singur antet gratuit, aproximativ 15 minute din timpul unui dezvoltator.