pagine GitHub e stessa origine

0

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.

    
posta mireille raad 17.08.2017 - 14:14
fonte

1 risposta

1

Puoi prevenire il clickjacking usando l'intestazione X-frame-options come hai detto, ma un approccio più moderno usa l'intestazione CSP. È meglio utilizzare entrambi: CSP vs X-frame-options

Access-control-allow-origin: * dovrebbe essere evitato sullo stato che cambia pagine o pagine private. Poiché tu dici che è "ospitato su github", non presumo che abbia una natura dinamica e non accetterà richieste che modificano lo stato o mostrano informazioni private. Quindi il problema potrebbe essere muto. L'intestazione consente a un altro sito Web di chiamare il tuo sito e rendere il risultato accessibile al dominio su cui è ospitato quel sito.

Se puoi spiegare che cosa fa il tuo sito, potrebbe essere chiaro quale sia l'impatto. Non so se e come è possibile modificare le intestazioni di risposta Github. Questo post potrebbe essere utile

Specifiche per CORS su GitHub , sembra che tutte le pagine ora restituisci il carattere jolly.

    
risposta data 17.08.2017 - 15:23
fonte

Leggi altre domande sui tag