páginas de GitHub y el mismo origen

0

Estoy trabajando con el equipo de seguridad en mi trabajo para obtener un sitio web acreditado antes de poder publicarlo ... Es una página web muy simple alojada en páginas Github con solo un poco de javascript.

Llegué a un obstáculo en cuanto a crear el código para asegurar el sitio web lo suficiente. Como esta es una comunidad de expertos en seguridad, pensé que lo haría.

El problema es que de acuerdo a la seguridad:

  

el sitio todavía tiene una respuesta encuadrada, para prevenir efectivamente   ataques de encuadre, la aplicación debe devolver un encabezado de respuesta con   el nombre X-Frame-Options y el valor DENY para evitar el encuadre   en total, o el valor SAMEORIGIN para permitir el encuadre solo por páginas en   el mismo origen que la respuesta misma.

Por lo tanto, estoy tratando de agregar todo el código de seguridad que se me ocurre en términos de metaetiquetas y script (esto es github pages y no puedo hacer ningún archivo .htaccess)

Aquí están mis meta. (Sé que algunos de ellos no funcionan en Firefox o Chrome, pero agregué de todos modos)

<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">

Luego agregué un script justo después de la etiqueta de encabezado al inicio de la página

<script>
 if (self == top) {
     var theBody = document.getElementsByTagName('body')[0];
     theBody.style.display = "block";
     } 
  else {
    top.location = self.location;
     }
 </script>

Pruebo localmente, si una página intenta incrustar el sitio web, se redirige al sitio web real.

Tras el debate, todavía recibo la respuesta de que

  

Compruebe amablemente si se implementó la política de ORIGEN MISMO, esto puede resolver el problema para los navegadores web restantes.

Honestamente, estoy un poco perdido sobre qué más debo asegurar. Creo que el problema para el equipo de seguridad es que en los encabezados de respuesta todavía se ven

access-control-allow-origin: *

cualquier ayuda es realmente realmente apreciada ... ¿qué es lo que no entiendo? ¿Qué metaetiquetas o javascript me faltan? ¿hay una manera de cambiar access-control-allow-origin:* para las páginas de github? Me encanta el equipo de seguridad y crear un código seguro ... No quiero frustrarlos más a ellos mismos.

Cualquier ayuda es apreciada.

    
pregunta mireille raad 17.08.2017 - 14:14
fuente

1 respuesta

1

Puede evitar el clickjacking usando el encabezado de opciones de fotograma X como mencionó, pero un enfoque más moderno usa el encabezado CSP. Lo mejor es usar ambos: CSP vs X-frame-options

Access-control-allow-origin: * debe evitarse en páginas que cambian de estado o páginas privadas. Como usted menciona que está "alojado en github", no asumo que tenga una naturaleza dinámica y no aceptará solicitudes que modifiquen el estado o muestren información privada. Por lo tanto, el problema podría ser mudo. El encabezado permite a otro sitio web llamar a su sitio y hacer que el resultado sea accesible para el dominio en el que se aloja ese sitio.

Si puede explicar lo que hace su sitio, podría estar claro cuál es el impacto. No sé si y cómo puedes cambiar los encabezados de respuesta de github. Esta publicación puede ser útil

Específico para CORS en GitHub , parece que todas las páginas Ahora devuelve la fuente de comodín.

    
respondido por el Silver 17.08.2017 - 15:23
fuente

Lea otras preguntas en las etiquetas