15 febrero 2013

Cómo cumplir con PCI DSS si utilizo cloud computing

(Esta entrada se publicó originalmente en n+1 tiende a infinito)


En esta entrada vamos a analizar el recién suplemento informativo publicado por el PCI Security Standards Council relativo a la computación en la nube (PDF).

En primer lugar, destacar que es un documento bastante exhaustivo (52 páginas) que incluso, en nuestra opinión, va un poco más allá de lo que se esperaría de un suplemento informativo del PCI SSC, puesto que dedica todo un apartado (el sexto) a "otras consideraciones" sobre la computación en la nube que, como su propio nombre indica, no afectan a la cuestión a cubrir: Servir como punto inicial de discusión para proveedores de servicios en la nube y clientes (especialmente centrado en los casos de nubes públicas).

Desde nuestro punto de vista, el documento gira entorno a tres ideas principales que gobiernan todo el contenido:
  1. Los servicios en la nube suponen una pérdida de control, por lo que es necesario delimitar claramente las responsabilidades de las partes antes de utilizarlos y llevar a cabo un proceso de due diligence previo que permita verificar el cumplimiento del proveedor con los requisitos de PCI DSS.
  2. Es necesario establecer un adecuado aislamiento de los datos en los entornos en la nube mediante mecanismos de segmentación que permitan limitar el alcance de las evaluaciones de cumplimiento.
  3. El proveedor y el cliente deben contar con mecanismos para asegurar que el cumplimiento se mantiene de manera continuada.
Respecto a la primera idea nos gustaría destacar que:
  • Se proporciona una guía muy útil (no prescriptiva) de cómo se pueden distribuir las responsabilidades entre cliente y proveedor (Anexos A y C) para cada una de las modalidades de servicios en la nube (SaaS, PaaS e IaaS) puesto que se considera indispensable que conste por escrito (a ser posible en los SLAs del servicio) quien se responsabiliza de la implantación y ejecución de cada control, cómo se va a informar sobre su estado y su gestión y que el cliente entienda qué responsabilidad acepta el proveedor para cada control.
  • Se refuerza la idea de que una pérdida de control sobre los controles no supone una pérdida de responsabilidad del cliente de que dichos contrales deben ser efectivos y, por tanto, debe asegurarse un nivel de visibilidad y de monitorización de los mismos adecuado.
  • Por dicho motivo, se recomienda a los clientes que trabajen con proveedores que cumplan PCI DSS pero que, antes de contratar un servicio, se informen de:
    • Desde cuándo cumple el proveedor con PCI DSS y cuándo fue su última evaluación.
    • Qué servicios y requerimientos fueron incluidos en dicha evaluación.
    • Qué sistemas e instalaciones fueron evaluados.
    • Si algún componente del sistema necesario para la prestación del servicio no fue incluido en la evaluación.
    • Cómo evita el proveedor que los clientes no introducen componentes que no cumplan con PCI DSS o eviten los controles existentes.
  • Con independencia de utilizar servicios en la nube, el cliente tiene que seguir demostrando su cumplimiento con los requisitos de PCI DSS.
Respecto al segundo concepto sobre la necesidad de aislamiento mediante segmentación, lo más destacable, a nuestro juicio es que pone realmente difícil utilizar servicios de nube pública que no hayan sido pensados para cumplir con PCI DSS. Decimos esto porque obliga (en línea con lo establecido en el estándar para proveedores de servicio) a una total segmentación entre entornos de distintos clientes y con el propio proveedor sin ninguna conectividad entre ellos; es decir, no se puede compartir ningún elemento del sistema, ni aplicación, ni bases de datos, ni comunicaciones... en definitiva, realmente complejo pensar en una aplicación SaaS que pueda ser eficiente si tenemos que aplicar todas estas medidas de segmentación. Como mucho, podremos ver servicios de plataforma o infraestructura. En cualquier caso, en relación a este concepto nos gustaría destacar las siguientes ideas recogidas en el suplemento:
  • La segmentación debe proporcionar un aislamiento equiparable al que obtendríamos con una separación física de redes.
  • Sin una adecuada segmentación, todos los clientes de la infraestructura compartida, así como el propio proveedor, tendrán que cumplir con PCI DSS para que cualquiera de sus clientes pueda ser considerado como que cumple con el estándar. Es decir, todos ellos estarán considerados en el alcance de la evaluación de cumplimiento de cualquiera de ellos, haciendo prácticamente imposible alcanzar el cumplimiento.
  • El proveedor debe asumir la responsabilidad de establecer los mecanismos de segmentación adecuados entre clientes y con el propio proveedor, evitando que incluso el hypervisor o cualquier otra sistema subyacente puedan suponer una vía de comunicación entre ellos.
  • Los mecanismos de segmentación a utilizar serían los mismos que los utilizados en un entorno no virtualizado: cortafuegos y segmentación de red a nivel de infraestructura, cortafuegos, IPS, DLP a nivel de hypervisor y máquina virtual, uso de VLANes, aislamiento de procesos y recursos, almacenes de datos segmentados, autenticación fuerte de doble factor, segregación de tareas...
  • La segmentación implementada debe ser validada, como siempre, por el QSA.
  • Es importante entender las relaciones del proveedor con terceros, puesto que añaden complejidad a la delimitación del alcance y al objetivo de cumplir con el estándar.
  • Las recomendaciones para reducir el alcance serían:
    • No utilizar servicios en la nube (¡¡¿?!!)
    • Utilizar una infraestructura dedicada (¡¡¿?!!) solo para el entorno incluido en el alcance
    • Minimizar la dependencia en el proveedor para cumplir con los requerimientos (es decir, utilizar servicios en los que el cliente mantenga más el control: IaaS o, como mucho, PaaS).
    • Tratar de evitar que los datos estén en claro en la nube [Esta es la única recomendación como tal]
  • En relación a la propia evaluación, si el cliente no ha sido evaluado, debe ser incluido en la evaluación de cumplimiento del cliente y, entonces, deben establecerse SLAs que claramente identifiquen el permiso del proveedor a ser auditado y la parte de las tareas que van a ser realizadas por cada uno de ellos.
Finalmente, en relación a la tercera idea de mantenimiento a lo largo del tiempo, obviamente el documento recoge la necesidad de que el cumplimiento se mantenga durante la prestación del servicio y el proveedor debe demostrar cómo se mantiene dicho cumplimiento en el tiempo.

Como último punto de nuestro análisis, destacar también que el documento incluye un apartado final (el séptimo) con la guía que sugiere a los clientes antes de adoptar un servicio en la nube (ENTENDER, COMPARAR, EVALUAR, CONOCER...), así como un apéndice (el D) con preguntas a realizar al proveedor como orientación para todo este proceso de due diligence.

En definitiva y como resumen, una guía que desalienta bastante la utilización de servicios en la nube  (especialmente los de SaaS públicos) para aquellos que se lo estuvieran pensando...

... ¿todavía no me sigues en twitter.com/antonio_ramosga?

No hay comentarios: