Consideraciones de seguridad – WS

Posted on Actualizado enn

La siguiente lista ayuda a reducir los riesgos de seguridad en servicios web

Generales (securing web services):

  • Mensajes SOAP que son envidados deben ser entregados de forma confidencial y sin manipulación.
  • El servidor tiene que estar seguro de con quién está hablando.
  • Los clientes necesitan saber que están hablando con el servidor correcto, y no un sitio de phishing.
  • Los registros de mensajes del sistema deben contener información suficiente para reconstruir de forma fiable la cadena de eventos y seguimiento de los usuarios autenticados.

Seguridad en comunicación (communication security):

  • A diferencia de certificados, entidades certificadores raíz y certificados intermedios, cualquier comunicación con múltiples saltos requiere el establecimiento de canales separados entre cada nodo, la relación de confianza entre nodos {A,B} y {B,C} no implica confianza entre {A,C}.
  • SSL proporciona un mecanismo estándar para la protección de transporte, en la aplicación se debe utilizar mecanismos altamente propietarios para la transmisión de credenciales.

Envío de credenciales (passing credentials):

  • Enviar credenciales utilizando hash y/o otras firmas criptográficas.

Aseguramiento de mensajes reenviados (replay attack) (ensuring message freshness)

  • Utilizar identificadores únicos (nonces) y dar seguimiento a los procesados, usar una ventana de tiempo de validez corta.

Integridad en los mensajes (protecting message integrity)

  • ¿Confío en el cliente que hace la petición?
  • ¿Creo en el mensaje por su forma, contenido y por el cliente que lo envía?
  • El servidor debe validar que el mensaje recibido no está alterado (intencionalmente o no) y que fue enviado por un cliente en el que se confía.
  • Se recomienda HMAC (Hash-based message authentication code) o la combinación de digestiones de mensajes con firmas criptográficas o secret key-encryption (asumiendo que las llaves sólo las conoce el cliente y el server), cualquier cambio generaría un error criptográfico.

Confidencialidad en los mensajes (protecting message confidentiality)

  • Cifrado simétrico para datos a granel por la rapidez vs los asimétricos.
  • Cifrado asimétrico para proteger las claves de sesión simétrica, preferentemente válidos para una sola sesión y luego desechados.

Control de acceso (Access control)

  • Una vez que el mensaje ha sido recibido
  • ¿Se sabe quién está solicitando la operación? (identificación)
  • ¿Se confía en el cliente que hace la petición? (autenticación)
  • ¿Tiene permisos el cliente de realizar esa operación? (Autorizació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