Sto lavorando con il team di sicurezza al mio lavoro per ottenere un sito web accreditato prima di poterlo pubblicare ... È una pagina web molto semplice ospitata su pagine Github con solo qualche javascript.
Ho raggiunto un ostacolo in termini di creazione del codice per proteggere abbastanza il sito web. Poiché questa è una comunità di esperti di sicurezza, ho pensato di chiederlo.
Il problema è che secondo la sicurezza:
the site is still has frameable response, to effectively prevent framing attacks, the application should return a response header with the name X-Frame-Options and the value DENY to prevent framing altogether, or the value SAMEORIGIN to allow framing only by pages on the same origin as the response itself.
Quindi, sto cercando di aggiungere tutto il codice di sicurezza che posso pensare in termini di meta tag e script (si tratta di pagine github e non posso fare alcun .htaccess)
Ecco la mia meta. (So che alcuni di loro non funzionano su Firefox o Chrome, ma ho aggiunto comunque)
<meta http-equiv="Content-Security-Policy" content="
default-src 'self';
font-src 'self' https://fonts.gstatic.com;
frame-src 'self' https://a.tiles.mapbox.com https://docs.google.com/ https://www.mapbox.com;
img-src 'self';
script-src 'self' https://ajax.googleapis.com 'unsafe-inline' ;
style-src 'self' https://fonts.googleapis.com/ 'unsafe-inline' ;
">
<meta http-equiv="Access-Control-Allow-Origin" content="Origin">
<meta http-equiv="X-XSS-Protection" content="1;mode=block" always>
<meta http-equiv="X-Content-Type-Options" content="'nosniff' always">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<meta name="referrer" content="no-referrer" />
<meta http-equiv="X-Frame-Options" content="deny">
Poi ho aggiunto uno script subito dopo il tag head all'inizio della pagina
<script>
if (self == top) {
var theBody = document.getElementsByTagName('body')[0];
theBody.style.display = "block";
}
else {
top.location = self.location;
}
</script>
Eseguo il test localmente, se una pagina tenta di incorporare il sito Web, viene reindirizzato al sito Web effettivo.
Durante la discussione, ricevo ancora il feedback che
Kindly check if SAME ORIGIN policy in place , this will may resolve the issue for remaining web browsers.
Sono onestamente un po 'perso su cos'altro dovrei proteggere. Penso che il problema per il team di sicurezza sia che nelle intestazioni di risposta continuano a vedere
access-control-consentono origine: *
qualsiasi aiuto è davvero molto apprezzato ... cosa non sto capendo? quali meta tag o javascript mi mancano? c'è un modo per cambiare access-control-allow-origin:*
per le pagine github?
Adoro il team di sicurezza e creare codice sicuro ... Non voglio frustrare me stesso e me stesso di più.
Qualsiasi aiuto è apprezzato.