HTTP-sikkerhedsoverskrifter – XFrame-indstillinger og indholdssikkerhedspolitikker
Har du nogensinde sporet en HTTP-anmodning i en browser eller spillemand? Du må have set disse HTTP-sikkerhedsheadere i anmodnings- eller svarheaderen?
X-Frame-Options SAMEORIGIN
ELLER
Content-Security-Policy:frame-ancestors 'none'
Ved du, hvad disse overskrifter handler om? I dette indlæg vil jeg vise, hvorfor vi bruger disse overskrifter. Disse sikkerhedsheadere dukker ofte op, når du gengiver en applikation i iframes. Afslutningsvis er disse overskrifter vigtige, hvis du indlæser applikationer med en iframe inde i hoved-iframen.
Hvorfor er disse overskrifter påkrævet?
Disse overskrifter hjælper med at undgå clickjacking-angreb. Du kan læse mere om clickjacking her. For at forsvare os mod clickjacking implementerer vi frame-breaking ved hjælp af to metoder.
1. X-Frame-Options –
Denne overskrift bruges som svaroverskrift til at angive, hvorvidt en browser kan tillades at gengive en webside i en <frame>
eller <iframe>
.
Mulige værdier for denne overskrift:
- AFVIS – Den anbefalede værdi for X-Frame-Options, og det forhindrer ethvert domæne i at indramme indholdet.
- SAMEORIGIN – Dette tillader kun det aktuelle websted at indramme indholdet.
- TILLAD FRA URI – Dette gør det muligt for den angivne URI at ramme indholdet.
2. Content-Security-Policy –
På samme måde bruges X-Frame-Options af browseren til at gøre det muligt at gengive en side i en frame eller iframe på samme måde som Content-Security-Policy header bruges. Derfor understøtter nogle browsere X-Frame-Options og nogle Content-Security-Policy. Ikke desto mindre er der en nøglefunktion mellem disse to overskrifter (X-Frame-Options og Content-Security-Policy ) er det Content-Security-Policy
kan tillade liste over flere domæner at indlæse indholdet fra.
Mulige værdier for denne overskrift er:
- Indhold-sikkerhedspolitik:ramme-forfædre 'ingen' – Dette forhindrer ethvert domæne i at gengive indholdet.
- Indhold-sikkerhedspolitik:ramme-forfædres 'selv' – Dette tillader kun det aktuelle websted at indramme indholdet.
- Mulighed for Content-Security-Policy:frame-ancestors 'self', '*.betterjavacode.com', 'https://www.mytest.com' – Dette tillader det aktuelle websted, ethvert underdomæne af betterjavacode.com eller websiden på www.mytest.com at indlæse siden. Enkelte citater er vigtige her.
Forår-sikkerhed
På samme måde tilbyder Spring-security en funktion til at aktivere X-Frame-Options og Content-Security-Policy-direktivet.
http.headers().frameOptions().disable(); http.headers().frameOptions().sameOrigin();
Konklusion
Afslutningsvis viste jeg hvorfor og hvordan man bruger HTTP-sikkerhedsheadere X-Frame-Options og Content-Security-Policy. Derfor, hvis du kunne lide dette indlæg, så abonner på min blog her. Du kan finde flere detaljer om X-Frame-Options og Content-Security-Policy headers på denne side.
Referencer
- Clickjacking snydeark – Clickjacking
- Clickjacking – Clickjacking-2