¿Es suficiente el control de acceso del servidor o debo cifrar las cadenas de consulta?

0

Tengo un sistema ASP Classic que pasa los identificadores secuenciales correspondientes a las claves en la base de datos.

Obtuve un módulo de cifrado (chilkat, un control activex) que estaba usando para cifrar y descifrar cadenas de consulta completas.

Sin embargo, dado que valido el derecho de un usuario a acceder a un recurso en particular (señalado por una identificación en la cadena de consulta), ¿todavía necesito hacer el cifrado de URL? ¿Pasaría mi sitio una auditoría de seguridad en este caso?

(o, lo que es más importante, debo seguir haciendo ambas cosas o si el control de acceso es suficiente)

    
pregunta Caveatrob 30.07.2014 - 21:56
fuente

2 respuestas

1

Es mejor usar un identificador no secuencial (por ejemplo, puede registrar / monitorear intentos de acceso a archivos no existentes) sin embargo, de ninguna manera es esencial y es improbable que falle en una auditoría, siempre y cuando el esquema de funciones / autorización tenga En su lugar es robusto. Desea estar seguro de tener cobertura completa de los controles de autorización en el acceso a "cosas".

También debe asegurarse de que el ID de usuario no pueda ser modificado a un usuario diferente. Por lo general, es mejor enviar al usuario un token de sesión que sea aleatorio y vincularlo a una sesión de usuario y una identidad / autorización entre bastidores.

La prueba de su autorización debe ser parte de su ciclo de regresión antes de cada lanzamiento y puede ser automatizada fácilmente por HtmlUnit ( enlace ) o Selenium ( enlace ).

    
respondido por el Andy Boura 31.07.2014 - 15:00
fuente
0

El cifrado solo tiene sentido si:

  • El valor cifrado puede estar bajo la mirada de entidades / personas a las que se les debe negar el conocimiento del valor.
  • Los sistemas que deben procesar el valor pueden descifrarlo.

En su caso, si encripta el lado del cliente, esto debe ser para proteger a contra del propio servidor. Sin embargo, si el servidor debe ser capaz de comprender los datos, para aplicar filtros, el servidor debe poder descifrarlos. Por lo tanto, dicho cifrado no puede proteger los datos contra el servidor. La conclusión es que el cifrado que está describiendo no tiene sentido: no proporciona propiedades de seguridad útiles.

(Bueno, puede cifrar por otro motivo: para protegerse contra las escuchas ilegales en tránsito entre el cliente y el servidor. Pero eso se aplicaría solo si hace algo estúpido, es decir, no usa SSL. La solución para las cosas estúpidas es dejar de hacerlas .)

    
respondido por el Tom Leek 30.07.2014 - 22:09
fuente

Lea otras preguntas en las etiquetas