Consideraciones de seguridad – App Web.

Posted on Actualizado enn

Autenticación:

  • Asegúrese de que todas las conexiones internas y externas (usuario y entidad) pasar por una forma apropiada y adecuada de autenticación. Estén seguros de que este control no se puede omitir.
  • Asegúrese que todas las páginas cumplan el requisito de autenticación.
  • Asegúrese de que cada vez que se pasa las credenciales de autenticación o cualquier otra información confidencial, acepta solamente la información a través del método HTTP “POST” y no aceptará que a través del método HTTP “GET”.
  • Cualquier página considerada por la empresa o el equipo de desarrollo como fuera del ámbito de autenticación debe ser revisados ​​a fin de evaluar la posibilidad de violación de la seguridad.
  • Asegurar que las credenciales de autenticación no viajen en forma de texto claro.
  • Asegurar que puertas traseras, datos no correctos inyectados en desarrollo, pruebas o debug no están presentes en el código liberado a producción.

Autorización:

  • Asegúrese de que hay mecanismos de autorización.
  • Definición clara de los tipos de usuario y los derechos de dicho usuario.
  • Programación definida por el menor privilegio.
  • Mecanismos de autorización funcionan correctamente, si fallan que sea de forma segura, y no pueden ser eludidas.
  • Asegúrese de que la autorización se comprueba en cada petición.
  • Asegurar que puertas traseras, datos no correctos inyectados en desarrollo, pruebas o debug no están presentes en el código liberado a producción.

Gestión de Cookies:

  • Asegúrese de que la información sensible no se compromete.
  • Asegurar que las actividades no autorizadas no puedan tener lugar a través de la manipulación de la Cookie.
  • Asegúrese de que el cifrado adecuado está en uso.
  • Asegúrese de que la sesión de datos está siendo validado.
  • Asegúrese que las cookies contienen tan poca información privada como sea posible.
  • Asegúrese de toda cookie sea cifrada si hay datos sensibles en ella.
  • Documentar todas las cookies que sea utilizadas por la aplicación, su nombre, y por qué se necesitan.

Validación de Datos / Entrada:

  • Asegúrese de que un mecanismo de validación de datos está presente.
  • Asegurar todas las entradas que pueden (y van a) ser modificadas por un usuario malintencionado, como los encabezados HTTP, campos de entrada, campos ocultos, listas desplegables, y otros componentes web están debidamente validados.
  • Asegúrese de que existen los controles adecuados en toda la longitud de los campos de entrada.
  • Asegúrese de que todos los campos, cookies, cabeceras http, y campos de formulario se validan.
  • Asegúrese de que los datos están bien formados y contienen sólo conoce buenos caracteres si es posible.
  • Asegúrese de que la validación de los datos se produce en el lado del servidor (no excluye una validación previa en el lado del cliente).
  • Examinar donde se produce la validación de datos y si se utiliza un modelo centralizado o descentralizado.
  • Asegúrese de que no hay puertas traseras en el modelo de validación de datos.
  • Regla de Oro: Todo entrada externa, no importa lo que es, es examinada y validada.
  • Verifique que los datos de salida es correctos.

Tratamiento de errores / Fuga de información:

  • Asegúrese de que todas las llamadas métodos y funciones que devuelven un valor tienen el control de errores apropiado y comprobación valor de retorno.
  • Asegúrese de que las excepciones y las condiciones de error son manejados adecuadamente.
  • Asegúrese de que no se muestran al usuario errores en del sistema o errores no controlados.
  • Asegúrese de que la aplicación falla de una manera segura.
  • Asegurar que los recursos se liberan si se produce un error.

Registro / Auditoría:

  • Asegúrese de que ninguna información sensible se registra en el caso de un error.
  • Asegúrese de que el registro de log que se está guardando es de una longitud máxima definida y que el mecanismo de registro cumple con esa longitud.
  • Asegurar que no hay datos sensibles pueden ser registrados; por ejemplo, cookies, HTTP método “GET”, las credenciales de autenticación, etc.
  • Examine si la aplicación auditará las acciones emprendidas por solicitudes en nombre del cliente, (en particular la manipulación y lectura de datos / Crear, actualizar, eliminar y leer cierta información, las operaciones CRUD).
  • Asegurar que la autenticación exitosa y de fracaso se registra.
  • Asegurar que los errores de aplicación se registran.

Criptografía:

  • Asegúrese de ningún dato sensible se transmite en texto plano, interna o externamente.
  • Asegúrese de que la aplicación está implementando buenos métodos criptográficos conocidos.

Ambiente seguro de código:

  • Examinar la estructura de archivos. ¿Hay algún archivo alcanzable por los usuarios que no debería?
  • Examine todas las asignaciones de memoria y cancelaciones de asignación.
  • Examinar la aplicación para SQL dinámico y determinar si es vulnerable a inyección.
  • Validar y bloquear peticiones equivocadas de forma masiva.
  • Búsqueda de código como comentario, comentario en el código de prueba, que puede contener información sensible.
  • Asegúrese de que todas las decisiones lógicas tienen una opción default.
  • Asegúrese de ningún kit de entorno de desarrollo está contenido en los directorios publicados.
  • Buscar cualquiera de las llamadas al sistema operativo y examinar las posibilidades de error.

Administración de sesiones:

  • Examinar cómo y cuándo se crea una sesión para un usuario, no autenticado y autenticado.
  • Examinar cómo se almacenan sesiones: por ejemplo, en una base de datos, en la memoria, etc.
  • Examinar cómo la aplicación rastrea sesiones.
  • Determinar las acciones que la aplicación toma si se produce un ID de sesión no válido.
  • Examinar cómo se invalida una sesión.
  • Determinar cómo se gestiona una sesión multihilo y/o multiusuario
  • Determinar el timeout de una sesión HTTP.
  • Determinar cómo se realiza la funcional del cierre de una sesión
Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s