Soluciones Cloud sobre Amazon Web Services: distribución de responsabilidades en el control y la seguridad

En artículos anteriores hemos visto como una de las asignaturas pendientes en muchas ofertas de servicios en régimen de Cloud Computing es la falta de transparencia en cuanto a cómo se verán cubiertos los requisitos de cumplimiento legal y seguridad de la información de las empresas cliente.

Iniciativas como las de la CSA y organismos como la propia AEPD son conscientes de esta situación y han editado guías y diversos materiales de ayuda para clarificar el papel que deben jugar tanto el proveedor como el consumidor de este tipo de servicios en términos de responsabilidades. Lo cierto es que si se hace una revisión por las webs de los principales proveedores de servicios en régimen de Cloud, veremos una gran diversidad en el modo en el que el proveedor aborda esta necesidad de sus clientes potenciales de recibir “transparencia como servicio”.

Algunos de los grandes proveedores tienen esto muy claro y van bastantes pasos por delante. Este es el caso de Amazon Web Services (AWS) cuya propuesta de valor en términos de cumplimiento, seguridad y control de riesgos es muy detallada, clara y fácilmente accesible.

Hoy vamos a analizar cómo se distribuyen las responsabilidades sobre seguridad y control de un servicio en la nube desplegado sobre la infraestructura que proporciona un gran proveedor de Cloud como es AWS. El artículo pretende ser una guía útil tanto para aquellos emprendedores interesados en montar sus negocios online sobre la plataforma de AWS, como para los clientes finales que tengan que evaluar el grado de control que pueden proporcionar potenciales proveedores de servicios online que usan de los servicios de Amazon para el despliegue de sus aplicaciones.

Los primeros encontrarán en este artículo una relación de los aspectos esenciales de la oferta de “transparencia y control” de los que deberán responsabilizarse ellos mismos y cuáles serán responsabilidad de AWS. Los segundos, los potenciales usuarios finales, las pautas para poder evaluar las propuestas de posibles proveedores de servicios “en la nube” y orientación sobre los elementos a incluir en el contrato.

Otros aspectos más técnicos sobre los procesos de seguridad de AWS podrán ser cubiertos en artículos posteriores.

Vaya por delante que no tenemos ninguna relación directa o indirecta con Amazon y que el artículo no está financiado en ningún modo por ellos (¡no necesitarían a alguien tan insignificante como nosotros!). Nuestra línea editorial es independiente y esperamos mantenernos escépticos y agnósticos con respecto a marcas concretas, resaltando aquellos aspectos que nos parecen buenos y no callando aquello que, según nuestro criterio profesional, sea relevante en sentido negativo. Lo cierto es que AWS es muy transparente y claro en estos aspectos frente a otros proveedores y ello nos ha animado a trabajar sobre su propuesta.

CUANDO LA SEGURIDAD ES SÓLO UN ARGUMENTO DE VENTAS

Frecuentemente hemos podido comprobar como algunos proveedores de aplicaciones en la nube, cuando tratan de vender sus servicios a grandes empresas, “se escudan” en la seguridad proporcionada por los proveedores de infraestructura Cloud en los que se apoyan. Es frecuente en estos casos que el proveedor asegure, sin entrar en muchos más detalles, que proporcionan un alto grado de seguridad, escudándose en siglas impresionantes como “tienen – o tenemos – un certificado ISO 27000” o en el prestigio de otros de sus clientes: “En el país, X hemos trabajado para el gobierno”… No negamos que esto puede tener un cierto valor desde el punto de vista de márketing y ventas; sin embargo, desde un punto de vista estrictamente técnico, conviene ser escéptico por defecto y profundizar para entender hasta qué punto la oferta que evaluamos cubre realmente las necesidades de nuestra empresa. Las preguntas en estos casos deben ser: ¿cubre “esa certificación ISO” de manera particular los servicios que se van a prestar a mi empresa?. ¿Estarían dispuestos a firmar un acuerdo específico, incluyendo el detalle y su compromiso sobre cómo esos procesos de seguridad se van a aplicar en mi caso?. En estos casos, muy frecuentemente, veremos que la seguridad que aporta el propietario del Cloud en el que se apoya nuestro potencial proveedor de servicios en la nube, no permite cubrir todas nuestras necesidades… Dejemos de lado los argumentos puramente promocionales y pasemos a la fase de evaluación técnica…

DISTRIBUCUIÓN DE RESPONSABILIDADES DE CONTROL EN EL MODELO CLOUD

Dependiendo de los distintos modelos de servicio del cloud, la responsabilidad sobre la seguridad y control de los distintos componentes tecnológicos involucrados recaerá de manera diferenciada sobre el proveedor o el cliente, y es muy importante que esta línea de demarcación de responsabilidades esté perfectamente clara para todas las partes desde el principio. Conceptualmente, los componentes de un modelo general en cloud son:

Stack_Cloud_01

Los dos componentes inferiores en el modelo (Instalaciones y Hardware) hacen referencia a los elementos físicos. La responsabilidad exclusiva sobre el control y la seguridad de estos elementos va siempre a recaer en el proveedor final del entorno Cloud (AWS en el caso que nos ocupa en nuestro análisis). Las instalaciones incluyen los sistemas de ventilación, aire acondicionado, instalaciones de suministro eléctrico y las propias instalaciones del centro de proceso de datos. En la capa de hardware se incluyen entre otros: ordenadores, servidores, hardware de red, dispositivos del almacenamiento.

Las siguientes capas constituyen los elementos software: La infraestructura virtualizada incluye generalmente elementos como los hipervisores (sistemas de gestión de las granjas de servidores virtualizados), los propios servidores virtualizados, así como las capacidades de almacenamiento y conectividad de red virtualizada. Por otro lado, la Plataforma de arquitectura incorpora software necesario para el desarrollo y funcionamiento de las aplicaciones que se ejecutan sobre los servidores virtuales; por ejemplo, compiladores, utilidades, servidores middleware, web, de base de datos, etc… En la cúspide del modelo se encuentra la capa de Aplicación. Es en esta capa de aplicación donde se ejecutan las aplicaciones que será usadas para el procesamiento de los datos por los clientes-usuarios y que son accesibles a través de la nube.

El siguiente diagrama, de acuerdo a los criterios establecidos por el NIST, muestra el alcance de las responsabilidades generales del proveedor y el consumidor en función del modelo de servicio del cloud de que se trate. Como puede apreciarse, a medida que el nivel de soporte del proveedor asciende hacia los elementos superiores, el cliente tendrá menos capacidad de control sobre el servicio:

Stack_Cloud_02

Así, en un modelo típico de Software como Servicio (SaaS), en el que el cliente se suscribe al uso de la aplicación a través de Internet, es el proveedor de la aplicación el que asume la mayor responsabilidad.

CUANDO NUESTRO PROVEEDOR ES CLIENTE DE OTRO PROVEEDOR

Sin embargo, la realidad es a veces es un poco más compleja, especialmente cuando el proveedor de una aplicación o servicio en la nube despliega su aplicación sobre la infraestructura Cloud de otro proveedor. En estos casos es necesario articular la distribución de responsabilidades “a tres bandas”: el cliente último, el proveedor del servicio online en la nube (que es a su vez cliente del proveedor de la infraestructura) y el proveedor final de la Cloud.

DEMARCACIÓN DE RESPONSABILIDADES GENERALES CON AMAZON WEB SERVICES

Vamos a ver como aplicará todo esto en el caso del modelo básico de prestación de servicios Cloud de AWS, de acuerdo con la versión de Enero de 2013 del Risk and Compliance de AWS:

En relación con los servicios desplegados en AWS, AWS controla los elementos físicos (las dos capas inferiores del modelo de 5 componentes que hemos revisado anteriormente), y los elementos software directamente relacionados con la infraestructura necesaria para la prestación de su servicio. Según esto, de modo general:

• AWS se responsabiliza del control de la infaestructura general: Los componentes físicos como instalaciones de proceso de datos y todo el hardware; el hipervisor y la infraestructura de servicios de red y de almacenamiento.

• Los clientes de AWS asumen el control sobre el resto elementos que se despliegan por encima de estos componentes, incluidos el sistema operativo de los servidores virtualizados, la configuración de red, la plataforma de arquitectura, los datos y las aplicaciones.

Es decir, AWS crea un modelo de responsabilidad compartida con sus clientes. AWS opera, gestiona y controla los componentes desde la capa de servicios de virtualización hacia abajo, incluyendo la seguridad física de las instalaciones.

EL ENTORNO DE CONTROL DE AMAZON Y GARANTÍA DEL CUMPLIMIENTO

El entorno bajo responsabilidad de AWS está controlado de acuerdo con estándares reconocidos por la industria como COBIT, ISO 27000, PCI DSS nivel1 y los controles de seguridad recomendados por el NIST 800-53 rev 3 y otros requisitos de la administración norteamericana (FISMA, DIACAP y FedRAMP).

Para poder dar garantía a sus clientes de que AWS cumple con los objetivos de control y requisitos de estos estándares, AWS cuenta con certificaciones en los mismos otorgadas por terceros independientes. Además, pone a disposición de sus clientes informes SOC 1, tipo 2 y SOC2 (Service Organziation Controls de acuerdo a las normas SSAE 16 / ISAE 3402). Este tipo de informes ofrecen una garantía por parte de auditores independientes, de que los objetivos de control orientados a preservar la seguridad de los datos de los clientes en AWS están bien diseñados y que los controles son operados de manera eficaz. Estos informes pueden ser puestos a disposición de los clientes de modo que puedan cumplir a su vez con sus requisitos de cumplimiento de una forma comúnmente aceptada por auditores y reguladores.

Según esto, es importante ser consciente de que la responsabilidad sobre el cumplimiento y la auditoría de los componentes del modelo fuera del ámbito responsabilidad de AWS, recaen sobre el cliente.

AWS pone a disposición de sus clientes una plataforma base gestionada de modo que los clientes puedan desplegar sobre ella aplicaciones o servicios online que cumplan con requisitos específicos de cumplimiento. Por tanto, en el caso de aplicaciones desplegadas sobre AWS, será tarea de sus responsables el establecer y mantener los controles necesarios para que los consumidores finales de estas aplicaciones puedan comprobar que se cubren sus requisitos de cumplimiento y auditoría; por ejemplo, en lo relativo a legislación de protección de datos, SOX, etc. Serán los responsables de las aplicaciones los que deban proporcionar esa “transparencia como servicio” a sus clientes.

GESTIÓN DE RIESGOS DEL CLOUD SOBRE AMAZON WEB SERVICES

En este apartado vamos a analizar de qué manera pueden quedar cubiertos los principales riesgos de las soluciones en Cloud Computing, cuando se trata de soluciones desplegadas sobre la plataforma de AWS. En la tabla, se muestra quién es el responsable sobre el control concreto (si AWS o su cliente). Es importante tener en cuenta esta información de cara al proceso de contratación de servicios a proveedores que han desplegado sus soluciones en la plataforma de Amazon:

Riesgo Comentario

Responsable

del Control

AWS

Proveedor aplicación /servicio

Usuario final

Problemas de disponibilidad de la aplicación impiden que se pueda trabajar de acuerdo al nivel de servicio requerido. Por lo que respecta a la plataforma de AWS, sus SLA establecen un compromiso con un nivel anual de disponibilidad superior al 99,95%. Además, en general, el mantenimiento de su infraestructura por parte de AWS no impacta a sus clientes. A nivel de datos, en caso de corrupción, estos son reemplazados por las copias redundantes de los mismos. AWS establece un compromiso de una disponibilidad de los datos del 99,99%  (no en vano Amazon en uno los jugadores principales a nivel global en el mundo de la venta online) Por otro lado, con respecto a la resistencia frente a ataques de denegación de servicio (ej: DDoS), los clientes de AWS se benefician de una infraestructura que tiene tecnología propietaria de mitigación de este tipo de ataques  Con  respecto a la aplicación o servicio desplegado sobre AWS, es responsabilidad del proveedor del mismo comprometerse con sus clientes en proporcionar un nivel de disponibilidad concreto. 

X

X

 

Errores frecuentes en los procesos de la aplicación impiden que se pueda trabajar de acuerdo al nivel de servicio requerido. Los procesos de aplicación entran totalmente en el ámbito de la responsabilidad del propietario de la misma.     

X

 
Pérdida de confidencialidad de datos de la aplicación.  Dentro de los controles responsabilidad de AWS y relevantes para mantener la confidencialidad de los datos de aplicación se encuentran:           Controles de acceso físico a los centros de procesos de datos          Control y monitorización de acceso lógico a los sistemas          Aislamiento lógico entre los sistemas y datos de los distintos clientes de AWS.          Además, AWS pone a disposición de sus clientes opciones de cifrado a nivel de servidor          Aunque AWS no tiene ningún derecho de acceso sobre las instancias virtuales de los clientes y no pueden acceder al sistema operativo de las máquinas virtualizadas, sí tiene una acceso limitado y controlado a los datos 

Dentro de las responsabilidades del propietario de la aplicación o servicio están:

 –          Controles y monitorización de acceso lógico a los sistemas y datos

          Implantación de prácticas de programación segura y controles de aplicación

          Mecanismos para el aislamiento lógico de los datos de los diferentes clientes. Posibilidad de proveer de servidores dedicados

          Proporcionar opciones para el eventual cifrado de los datos: AWS permite a sus clientes usar sus propios mecanismos de cifrado para casi todos sus servicios.

Dentro de las responsabilidades del usuario final:

 –          Seguridad en el proceso de gestión de usuarios.

          Uso responsable de la aplicación y los datos

X

X

X

Incumplimiento de la legislación de protección de datos al quedar los datos almacenados en países no compatibles con la legislación europea.  Los clientes de AWS pueden decidir en qué región física residirán sus datos y servidores. Esto es especialmente relevante en el caso de la regulación Europea de Protección de Datos, en donde se prima la ubicación en países compatibles con esta regulación. AWS da garantía de que nunca moverá los datos de los clientes fuera de las regiones físicas especificadas sin el consentimiento previo de los clientes, a menos que AWS tenga que cumplir con alguna ley o petición de organismos gubernamentales. 

X

X

 
Pérdida irreversible de la base de datos de la aplicación.  Amazon provee redundancia por defecto de los datos en distintos dispositivos de distintos centros dentro de la misma región. Amazon verifica regularmente la integridad de los datos y, si detecta corrupción, los datos se restauran a partir de copia redundante. El sistema está diseñado para que la probabilidad de pérdida de datos sea virtualmente cero. No obstante, los clientes de AWS pueden realizar sus propias copias de seguridad de las bases de datos, lo cual es una práctica recomendable, tanto por parte del proveedor de la aplicación como por parte del usuario final.

X

X

X

Quiebra del proveedor de servicios tiene como consecuencia el cese del servicio.  AWS proporciona a sus clientes herramientas para exportar los datos fuera de su plataforma. Por otro lado, a priori, Amazon tiene un buen potencial de sostenibilidad  a largo plazo de su negocio. Desde el punto de vista del propietario de la aplicación o servicio, es recomendable requerirle una cláusula de escrow, que garantize que se pueda acceder al código fuente de la aplicación en caso de quiebra. Por otro lado, el proveedor de la aplicación o servicio debería proporcionar herramientas a los usuarios para una fácil exportación de sus datos. 

X

X

 
Dificultades añadidas para poder recuperar los datos y migrar el servicio a otro proveedor si así lo deseamos. AWS proporciona a sus clientes herramientas para exportar los datos fuera de su plataforma. Desde el punto de vista del propietario de la aplicación o servicio debería proporcionar herramientas a los usuarios para una fácil exportación de sus datos

X

X

 

Pérdidas económicas como consecuencia de una incapacidad para acometer cambios requeridos en la aplicación en el plazo de tiempo necesario.  La capacidad de adaptación de la aplicación de acuerdo a las necesidades de los usuarios finales es responsabilidad total del proveedor de la aplicación.  

X

 
Peticiones de evidencias por parte de auditores, organismos públicos, investigadores forenses o autoridades judiciales no pueden ser atendidas como consecuencia de la no existencia de registros referentes a las actividades de usuarios en la aplicación, la base de datos o el sistema operativo.  Es responsabilidad de los clientes que almacenen o procesen datos usando la infraestructura de AWS, el identificar, recolectar, procesar y analizar estos datos ante  peticiones de información por parte de organismos públicos o judiciales.  Es por tanto el proveedor de la aplicación o servicio online quien debe proveer a sus usuarios de mecanismos que permitan almacenar y recuperar esta información de manera sencilla. 

 

X

 

Actividades no autorizadas en el sistema como consecuencia de controles débiles de gestión de acceso a la aplicación o la base de datos. Aspectos de la seguridad de la propia aplicación y gestión de la misma que quedan totalmente en el ámbito de responsabilidad del proveedor de la aplicación o servicio y fuera del ámbito de responsabilidad de AWS. Además de los controles de seguridad preventivos, es especialmente importante el establecimiento por parte del proveedor de un procedimiento de Gestión de Incidentes de Seguridad, capaz de detectar a tiempo, reaccionar y notificar al usuario final de cualquier eventual incidente afectando a la seguridad de sus datos.
 

X

 
Vulnerabilidades en la infraestructura técnica del proveedor propician que se desarrollen actividades de hacking, afectando a la confidencialidad, integridad o disponibilidad de la aplicación y de los datos.  AWS se responsabiliza del parcheo de los sistemas en los que se basa su servicio, tales como el hipervisor y los servicios de red. Esto se hace de acuerdo con los requisitos ISO27001, NIST y PCI.  AWS, además, realiza con la ayuda de terceras partes independientes, evaluaciones de la seguridad de los componentes bajo su responsabilidad; en especial el hipervisor y su parte de la infraestructura que es directamente accesible desde Internet. El hipervisor en uso por AWS está diseñado para mantener un apropiado aislamiento entre las máquinas virtuales hospedadas. Por otro lado, los clientes de AWS deberán responsabilizarse del parcheo del sistema operativo de los servidores virtuales contratados, así como de la base de datos, componentes de la plataforma y la aplicación. Además, los clientes tienen la responsabilidad de realizar escaneos de vulnerabilidades de los componentes bajo su responsabilidad. Es también responsabilidad de los clientes establecer la configuración de red y de datos, de modo que se garantize la segregación entre los usuarios finales. 

X

X

 

Desprotección de datos como consecuencia de procedimientos inexistentes o inadecuados de fin de la relación contractual  Según se refiere en su documentación, AWS tiene procedimientos que garantizan la confidencialidad de los datos en los casos en que debe deshacerse de soportes que han alcanzado el fin de su ciclo de vida. Las técnicas usadas por AWS son las requeridas en los estándares DoD 5220.22-M y NIST 800-88. Por otro lado, el acuerdo entre el usuario final y el proveedor, debe contemplar por su parte mecanismos análogos para el borrado seguro de la información en los casos de fin de la relación contractual. 

X

X

X

Acceso ilegal a contraseñas de acceso a la aplicación como consecuencia de interceptación de los datos transmitidos por la red.  El proveedor de la aplicación es responsable de establecer cifrado de la conexión a la aplicación  (ej: mediante SSL).  

X

 
Problemas derivados de la jurisdicción aplicable en caso de litigio.  En muchos contratos estándar propuestos por proveedores de servicios, se establece que la legislación aplicable es la del país del proveedor. Esto puede suponer problemas y costes añadidos para los clientes que deben someterse a jurisdicción extranjera en caso de necesidad de recurrir a los tribunales.   

X

X

RECOMENDACIONES DE AMAZON PARA DESPLEGAR APLICACIONES CON DATOS CONFIDENCIALES

Los procesos y servicios de AWS facilitan la tarea de desplegar sobre su infraestructura aplicaciones que estén dentro del alcance de legislaciones o normativas que hagan un especial énfasis en la protección de datos (ej: normativa Europea de Protección de Datos, la HIPPA o PCI/DSS). A continuación hacemos un breve resumen de las recomendaciones que AWS hace a sus clientes.

Cifrado en la transmisión y almacenamiento de datos

Aunque AWS pone a disposición de sus clientes servicios que hacen uso de la encriptación, AWS permite y recomienda a sus clientes que hagan uso de tecnologías de cifrado de terceros:

En relación con la protección de los datos sensibles tanto en su transmisión como en su almacenaje, se pueden usar los mismos mecanismos de cifrado que en los sistemas tradicionales. En concreto, AWS recomienda que aquellos ficheros con datos sensibles que requieran protección específica, sean encriptados con tecnologías tales como la encriptación AES a 256 bits antes de ser transmitidos hacia los servidores en AWS. Del mismo modo, AWS recomienda a sus clientes el cifrado de los datos a ser almacenados.

Es muy importante que los clientes de AWS que hagan uso del cifrado, hagan una gestión adecuada de las claves de cifrado, de modo que las mismas no queden desprotegidas y accesibles a usuarios no autorizados.

Acceso restringido por parte de los empleados de AWS

De acuerdo a la descripción que de su política de seguridad hace AWS, los empleados de esta compañía no miran los datos de los clientes, no tienen acceso a las instancias virtuales de los clientes ni pueden acceder al sistema operativo de los servidores virtuales de los clientes. Los controles de seguridad de AWS limitan este acceso.

Sin embargo, hay que tener en cuenta que en lo que a almacenamiento de datos se refiere, por el contrario, los empleados de AWS tienen un acceso restringido y limitado; por ello, la recomendación de AWS hacia sus clientes es que cifren los datos sensibles que se vayan a almacenar.

Accesos de Administradores de Sistemas

Los administradores de sistemas de las empresas clientes de AWS pueden usar mecanismos de autenticación fuerte para acceder a los sistemas virtuales creados sobre AWS. Los mecanismos de autenticación fuerte pueden ser el uso de token o de certificados digitales RSA a 2048 bits. Además, los administradores pueden usar SSH (Secure Shell).

Procesos de control de acceso de usuarios

A nivel de firewall, la solución por defecto de AWS, deniega por defecto todo el tráfico entrante, salvo el que los administradores de sistemas del cliente permitan explícitamente.

Por otro lado, los administradores de sistemas de las empresas cliente de AWS pueden establecer que las conexiones remotas a los servicios puedan ser realizadas mediante SSH o certificados digitales PKI. Además, los administradores pueden establecer permisos granulares a los usuarios sobre los datos almacenados de acuerdo a la necesidad de saber.

En términos de permisos, los clientes de AWS pueden beneficiarse del uso de herramientas que permiten una gestión eficiente de usuarios y permisos de acceso individualizados y la implantación de mecanismos de autenticación fuerte.

Auditoría, trazabilidad de accesos y actividades y Gestión de incidentes

Los clientes de AWS deberán implantar capacidades de auditoría en los sistemas que desplieguen sobre AWS, de modo que sus analistas de seguridad puedan consultar de manera detallada los logs de actividad de los sistemas y saber: quien ha accedido, cuando, desde que dirección IP, qué acciones ha realizado en los sistemas y a que datos ha accedido. Estos datos deberían ser procesados para por un lado poder organizar un sistema de monitorización de eventos de seguridad en tiempo real y a la vez para poder preservar estos datos y hacerlos disponibles en caso de un auditoría o requerimiento judicial.

Para facilitar esta tarea a sus clientes, AWS les permite obtener registros de log hasta el nivel de paquete de datos en sus servidores virtuales, o sea, del mismo modo que puede hacerse con el hardware tradicional. Además, AWS les permiten trazar cualquier tráfico IP que alcance los servidores virtuales.

Esta capacidad de monitorización de eventos de seuridad por parte del proveedor de la aplicación o servicio online, debe ser la base del procedimiento de gestión de incidentes de seguridad, de modo que se notifique a los usuarios finales de cualquier evento que comprometa la seguridad de sus datos, tal como se establece en distintas normativas relacionadas con la seguridad de la informacon.

EPÍLOGO

Esperamos haber cumplido con los objetivos de este artículo de ayudar a clarificar cómo se distribuyen las responsabilidades sobre seguridad y control de un servicio en la nube desplegado sobre la infraestructura que proporciona un gran proveedor de Cloud como es AWS. Es probable que en artículos sucesivos revisemos aspectos más detallados sobre la seguridad de este u otros proveedores. Sin más, reciban un fuerte abrazo y hasta pronto.

Deja un comentario