Foros del Web » Programando para Internet » Javascript »

Metodo de chequeo integridad script cargados en cliente

Estas en el tema de Metodo de chequeo integridad script cargados en cliente en el foro de Javascript en Foros del Web. Hola, ¿Que tipo de chequeo recomendáis para comprobar si los scripts que recibe el cliente no han sido modificados o que se ha añadido algo ...
  #1 (permalink)  
Antiguo 09/07/2016, 08:44
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años
Puntos: 10
Metodo de chequeo integridad script cargados en cliente

Hola,

¿Que tipo de chequeo recomendáis para comprobar si los scripts que recibe el cliente no han sido modificados o que se ha añadido algo mas de lo que se le ha enviado?

He visto algo sobre Subresource integrity en https://w3c.github.io/webappsec-subresource-integrity/ pero no es compatible con todos los navegadores, asi que me gustaria si alguien me puede dar alguna pista

Saludos y gracias
  #2 (permalink)  
Antiguo 09/07/2016, 16:11
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Información Respuesta: Metodo de chequeo integridad script cargados en cliente

Hola Matake,

como bien dices la tecnologia Subresource Integrity no es compatible con todos los navegadores por tratarse de una tecnologia experimental aún.

Asi que para que puedas hacer lo que quieres tendras que buscarte un metodo artesanal.

Mi primera recomendacion es que protegas las conexiones entre los usuarios y tu servidor usando SSL, de esta forma garantizaras que todo el trafico entre tu servidor y tus usuarios viaja cifrado, es un buen comienzo para aumentar la seguridad.

Mi segunda recomendacion es que ofusques y minimices tus ficheros javascripts, de esta forma los usuarios lo tendran mucho mas complicado para saber como funcionan tus scripts y donde deben tocar para alterar tu codigo.

Mucha suerte y un saludo!
__________________
El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes.

Winston Churchill
  #3 (permalink)  
Antiguo 09/07/2016, 17:16
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años
Puntos: 10
Respuesta: Metodo de chequeo integridad script cargados en cliente

Gracias por responder ... las dos recomendaciones ya las tengo hechas https y minificacion

Estoy empleando Uglify-js2 en local con node js) en principio no era para ofuscar sino para minimizar el codigo.

Lo que me preocupa no es que si los usuarios entiendan mi codigo ... porque por mucho que lo ofusques aunque sera mas dificil tarde o temprano el que quiere lo va a entender sino algun botnet troyano que no añade alguna funcion para que robe informacion del usuario.

Saludos
  #4 (permalink)  
Antiguo 09/07/2016, 17:31
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 20 años
Puntos: 834
Respuesta: Metodo de chequeo integridad script cargados en cliente

Hola, matake. La seguridad no podés encararla con javascript. Debés tratarla del lado del servidor. En Apache, por ejemplo, hay varias configuraciones para minimizar ataques:
Código:
<IfModule mod_headers.c>
    Header unset ETag
    Header set X-Frame-Options: deny
    Header set X-XSS-Protection: "1; mode=block"
    Header set X-Content-Type-Options: nosniff
    Header set X-WebKit-CSP: "default-src 'self'"
    Header set X-Permitted-Cross-Domain-Policies: "master-only"
</IfModule>
Y luego tendrás que prevenir, en el lenguaje de servidor que uses, los ataques más típicos, como inyección html, inyeción sql, xss, crlf, csrf, etc. En la mayoría de los casos todo se resuelve controlando y escapando todas las variables de entrada.
  #5 (permalink)  
Antiguo 09/07/2016, 17:55
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años
Puntos: 10
Respuesta: Metodo de chequeo integridad script cargados en cliente

Ok gracias queda entendido.

Lo de cequear todas las entradas ya lo tengo con POST Y GET cequeado dos veces
1. lista de nombres variables permitidas y caracteres permitidos como nobre
2. caracteres permitidos en los valores (incluso longitud en algunas)
3. luego pasar por PDO los que han pasado el primer filtro

Lo del apache no lo sabia
Código Apache:
Ver original
  1. <IfModule mod_headers.c>
  2.     Header unset ETag
  3.     Header set X-Frame-Options: deny
  4.     Header set X-XSS-Protection: "1; mode=block"
  5.     Header set X-Content-Type-Options: nosniff
  6.     Header set X-WebKit-CSP: "default-src 'self'"
  7.     Header set X-Permitted-Cross-Domain-Policies: "master-only"
  8. </IfModule>

supongo que podre usar un .htaccess para esto ... voy a ver en mi hosting

si tendras algun otra configuracion para apache te lo agradezco

Por el momento lo unico qu he echo es:
activar la compresion gzip con AddOutputFilterByType DEFLATE
redirigido todo el trafico a https con RewriteEngine on y compania

Todavia no esta terminado pero pienso en algun script para que me ponga en una lista negra por algun tiempo algunos ip ( via .htacess )

he creado un script que (no esta en la carpeta publica) y controla ( via chron cada 5 minutos ) si algun fichero ha cambiado en el servidor

Tampoco se si puedo seguir preguntar de esto aqui ya que son preguntas para otro foro

De todos modos si puedes algun consejo mas para apache te lo agradezco

Muchas gracias
  #6 (permalink)  
Antiguo 09/07/2016, 18:24
Avatar de Synkronice  
Fecha de Ingreso: octubre-2007
Ubicación: Madrid
Mensajes: 831
Antigüedad: 16 años, 6 meses
Puntos: 48
Busqueda Respuesta: Metodo de chequeo integridad script cargados en cliente

Hola Matake,

a lo mejor no hace falta que lo mencione pero por si acaso. En cuanto a modificar las cabeceras de Apache documentate bien para que sirve cada una ya que activarlas podrian alterar en algunos casos el comportamiento de tu sitio.

Encontré estos enlaces que me parecieron interesantes acerca del tema de las cabeceras de Apache que quizas puedan arrojar mas informacion.

Explica algunas de las cabeceras que se pueden modificar en Apache y otros servidores web para incrementar la seguridad.

https://scotthelme.co.uk/hardening-y...ponse-headers/

Pagina para testear las cabeceras que manda tu servidor web (recuerda elegir ocultar los resultados para no hacerlos publicos)

https://securityheaders.io

Saludos.
__________________
El problema de nuestra época consiste en que sus hombres no quieren ser útiles sino importantes.

Winston Churchill
  #7 (permalink)  
Antiguo 09/07/2016, 19:35
 
Fecha de Ingreso: mayo-2013
Mensajes: 191
Antigüedad: 11 años
Puntos: 10
Respuesta: Metodo de chequeo integridad script cargados en cliente

Uauuu ... pues muchas gracias a todos ... y a leeer :) ... porque a raiz de vuestras sugerencias se me ocurio poner en google "seguridad cabeceras apache" y (aparte de lo que me habeis aconsejado) tendré para un buen rato a estudiar.

No se si ponerlo como solucionado ( estoy consciente que esto no resuelve todos los asuntos de seguridad pero por lo menos un poquito mas)

Si a alguien se le ocurre otra sugerencia (aparte lo que ya se ha dicho ) pues bienvenida sea.

ruego a los moderadores que me disculpen porque lo que comenzó con una pregunta de javascript se ha transformado en apache

Saludos y gracias

Última edición por matake; 09/07/2016 a las 19:48

Etiquetas: cliente, integridad, metodo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:36.