Cumplimiento de PCI para los containers y la nube
El Estándar de Seguridad de Datos para la Industria de Tarjeta de Pago, también conocido por sus siglas en inglés como PCI DSS o simplemente PCI, se creó en 2004 mucho antes de que se oyera hablar de los containers y la nube.
Pero el hecho de que los controles de PCI sean anteriores a la tecnología moderna no significa que no se apliquen a ella. Por el contrario, asegurarse de que los containers y los servicios en la nube se implementan según lo estipulado por PCI es fundamental para cualquier empresa que esté sujeta a estas normas, es decir, toda empresa que trabaje de algún modo con datos de transacciones con tarjetas de crédito.
En este artículo explicamos todo lo que necesita saber para garantizar que sus workloads basadas en containers y en la nube cumplan con las normas PCI DSS. Aprenderá qué significa el cumplimiento de PCI, dónde se aplica y cómo diseñar workloads nativas de la nube de manera que se ajusten a los requisitos de PCI.
¿Qué es el cumplimiento de PCI?
El cumplimiento de PCI se refiere a un conjunto de normas establecidas por las principales compañías de tarjetas de crédito para regular los datos asociados a las transacciones de pago con tarjeta de crédito. Está supervisado por el Consejo de Normas de Seguridad de la Industria de Tarjetas de Pago, una organización independiente del sector que supervisa el marco de cumplimiento de PCI y lo actualiza periódicamente.
La versión actual de las normas PCI DSS, que se actualizaron por última vez en mayo de 2018, es la 3.2. Sin embargo, está previsto que en 2022 aparezca una nueva versión revisada conocida como PCI DSS 4.0. Los documentos oficiales de PCI DSS están disponibles en la biblioteca del PCI Security Standards Council.
¿Quién debe observar los requisitos de cumplimiento de PCI?
A diferencia de muchos otros requisitos de cumplimiento, PCI no se aplica solamente a las empresas de un determinado tamaño o a las que gestionan una determinada cantidad de datos relevantes. Tampoco se limita a ciertos tipos de tecnología o jurisdicciones políticas.
Por consiguiente, si su empresa gestiona transacciones con tarjetas de crédito o datos asociados a ellas de algún modo, deberá aplicar las normas de PCI. No importa dónde esté ubicada su empresa, el tamaño de la misma o el tipo de workloads que ejecute. Si las transacciones o los datos de las tarjetas de crédito tienen algún contacto con sus sistemas, deberá observar los requisitos de cumplimiento de PCI.
El incumplimiento de las normas de PCI puede acarrear sanciones y multas por parte de las distintas compañías de tarjetas de crédito. Estas varían de unas compañías a otras, pero pueden ser muy elevadas: en el caso de infracciones importantes las multas por incumplimiento pueden ascender hasta los 500000 dólares o más.
Es importante señalar que, dado que muchos de los requisitos de PCI se solapan con los de las normas de cumplimiento reglamentario (como el GDPR y la CPRA), el incumplimiento de los requisitos de PCI podría acarrear también problemas con las autoridades reguladoras gubernamentales. Por lo tanto, aunque el estándar PCI DSS está diseñado y administrado por un grupo de la industria y no por una agencia gubernamental, tiene importantes implicaciones para aquellas empresas que también estén sujetas a directivas de cumplimiento.
¿Cuáles son las normas de cumplimiento de PCI?
Aunque las distintas versiones de PCI DSS varían ligeramente en cuanto a sus requisitos, todas ellas se reducen a un conjunto básico de normas que las empresas deben seguir al diseñar, implementar y gestionar los sistemas que intervienen en el procesamiento de transacciones con tarjetas de crédito.
Estas son las principales normas de PCI:
- Seguridad de la red: Las empresas deben planificar y aplicar defensas para proteger la red.
- Seguridad de los datos: Los datos sensibles asociados a las transacciones con tarjeta de crédito, como los números de tarjetas de crédito o los nombres y las direcciones de los titulares, deben almacenarse de forma segura.
- Gestión de vulnerabilidades: Las empresas deben diseñar y seguir normas para detectar y solucionar los problemas de seguridad en todas las capas de sus entornos.
- Pruebas y auditorías: Deben realizarse pruebas y auditorías de seguridad con regularidad.
- Control de acceso: Deben existir controles de acceso en todos los recursos informáticos para mitigar el riesgo de acceso no autorizado a datos y sistemas sensibles. También deben existir controles de acceso para los sistemas físicos.
- Políticas de seguridad: Las empresas deben establecer políticas de seguridad que se apliquen a sus equipos internos, así como a cualquier contratista o proveedor con el que trabajen.
PCI DSS, containers y la nube
Los requisitos de PCI son generales y están diseñados para ser aplicables a cualquier tipo de tecnología o entorno informático. No mencionan los containers ni los entornos en la nube, ni tampoco hacen recomendaciones específicas sobre cómo deben configurarse los containers o los recursos en la nube para cumplir las normas de PCI.
Antes bien, la responsabilidad de interpretar las normas PCI en el contexto de los entornos basados en containers o en la nube recae en las empresas. Aunque las medidas exactas de cumplimiento de PCI dependerán de cómo sea su entorno de containers o de nube, a continuación enumeramos las mejores prácticas que debe tener en cuenta cuando gestione aplicaciones o infraestructuras que incluyan containers o la nube.
Cumplimiento de PCI para containers
En algunos aspectos, los containers simplifican el cumplimiento de PCI, porque aíslan las workloads de trabajo entre sí y ayudan de este modo a cumplir con algunas de las normas de cumplimiento de PCI asociadas con la seguridad de la red y el control de acceso.
No obstante, esto no significa que el simple hecho de desplegar workloads en containers garantice el cumplimiento de PCI. Por el contrario, es necesario que tome una serie de medidas adicionales para evitar problemas de cumplimiento relacionados con PCI al ejecutar containers:
- Aislamiento de la red: Aísle cada container para que no pueda acceder a los recursos de la red, a menos que lo necesite expresamente. Puede aplicar el aislamiento de la red utilizando las políticas de red de Kubernetes (si trabaja con Kubernetes) o mediante iptables u otro marco de firewall a nivel de OS.
- Control de acceso a los containers: Los containers solo deben poder acceder a los procesos externos, al almacenamiento y a otros recursos que necesiten estrictamente. Evite que los containers se ejecuten en modo privilegiado y aproveche al máximo marcos como RBAC de Kubernetes y los contextos de seguridad para bloquear sus containers.
- Control de acceso al host: Asegúrese también de aplicar fuertes controles de acceso en los sistemas operativos de los servidores en los que se alojen sus containers. El modo de hacerlo dependerá del OS que utilice y de cómo estén diseñados sus servidores. Pero en general, es conveniente deshabilitar las cuentas de usuario que no se utilicen, bloquear el acceso SSH desde la Internet pública y cerrar los puertos abiertos que no sean necesarios.
- Actualizaciones de seguridad de los containers: Para cumplir con las normas de gestión de vulnerabilidades de PCI, asegúrese de que el orquestador de containers, el tiempo de ejecución y los sistemas operativos del host estén actualizados.
- Escaneo de imágenes de containers: Escanee las imágenes de sus containers antes de su despliegue para detectar malware o componentes inseguros.
- Monitorización de la seguridad de los containers: Monitorice su entorno de aplicaciones en containers para identificar brechas en tiempo real.
- Auditoría del entorno de containers: Realice auditorías de forma regular (por ejemplo, cada trimestre, o mejor aún, de forma continua) para detectar y corregir las configuraciones inseguras. Para esta tarea, le serán de ayuda recursos como el marco de auditoría de Kubernetes o estrategias como auditar las plantillas de IaC que utiliza para aprovisionar sus clústeres.
- Establecer reglas de gobernanza para containers: Cree reglas de seguridad y gobernanza que definan cómo pueden utilizar sus equipos los entornos de containers. Por ejemplo, determine qué workloads pueden compartir un namespace y qué procedimientos deben seguirse al publicar imágenes de containers en un registro.
Cumplimiento de PCI para la nube
El cumplimiento de PCI en la nube es un poco complicado debido al modelo de responsabilidad compartida con el que operan los proveedores de nubes públicas. La responsabilidad compartida implica que los proveedores de nube son responsables de cumplir algunas normas de cumplimiento de la PCI, como garantizar la seguridad física de sus centros de datos y auditar su infraestructura de backend para detectar problemas de seguridad.
De todos modos, más allá de asegurarse de que su proveedor de nube cumple las normas básicas de cumplimiento de PCI (algo que hacen todos los principales proveedores de nube), la mayor parte de la responsabilidad del cumplimiento de PCI en la nube recae en las empresas que la utilizan. En este sentido, es recomendable que siga estas prácticas:
- Utilice IAM en la nube: Aplique un control de acceso granular utilizando el marco de Identity and Access Control (IAM) de sus proveedores de nube. Las políticas de IAM deben aplicar el principio de mínimo privilegio, según el cual cada usuario y recurso puede acceder solo a los recursos específicos que necesita.
- Auditoría de IAM: Escanee automáticamente sus plantillas de IAM para detectar errores de configuración que puedan generar problemas de seguridad.
- Aislamiento de la red en la nube: Utilizando herramientas como las VPC en la nube, aísle las workloads en su entorno de nube a nivel de red.
- Control de acceso al almacenamiento en la nube: Utilice las políticas de IAM para evitar el acceso no autorizado a los datos almacenados en la nube.
- Descubrimiento de datos en la nube: Considere el uso de herramientas de prevención de pérdida de datos para ayudarle a descubrir datos sensibles en sus cubos de almacenamiento, bases de datos y sistemas de archivos en la nube. Estas herramientas pueden detectar datos, como números de tarjetas de crédito, en ubicaciones en las que quizá no sepa que están almacenados.
- Auditoría de la nube: Realice auditorías periódicas o continuas de su entorno de nube para identificar los errores de configuración que puedan ocasionar brechas de seguridad. Algunos proveedores de nube ofrecen servicios de auditoría nativos para este propósito, pero puede que le resulte más conveniente utilizar una solución de terceros que pueda auditar entornos multicloud (o entornos de y locales) a la vez.
- Gobernanza de la nube: Establezca políticas de gobernanza para controlar cómo su empresa aprovisiona las workloads en la nube. Aborde cuestiones como: ¿Qué empleados pueden crear qué tipos de recursos en la nube? ¿Cuándo pueden los empleados o equipos compartir una cuenta en la nube y cuándo deben ejecutarse workloads en cuentas separadas? ¿Qué políticas de etiquetas deben seguir los usuarios al crear workloads para minimizar el riesgo de que se inicien recursos en la nube se inicien y luego se olviden (lo que no solo supone una pérdida de dinero, sino que además aumenta los riesgos de seguridad, ya que los recursos en la nube no supervisados son más propensos a sufrir ataques)?
Conclusión
PCI DSS es un tema complejo, y no existe una única regla para garantizar el cumplimiento de PCI para los containers y workloads basadas en la nube. Cada empresa tiene su propio enfoque respecto al cumplimiento de PCI.
Pero, en general, el cumplimiento de PCI para los containers y la nube se reduce a dos conceptos simples. En primer lugar, debe utilizar las herramientas que estén a su disposición, como el RBAC de Kubernetes y los marcos de IAM en la nube, para garantizar que sus workloads sean desde un principio lo más seguras posibles. A continuación, deberá desplegar herramientas de supervisión y auditoría de seguridad para detectar los problemas de seguridad que surjan en sus entornos a pesar de su cuidadosa planificación.
Si adopta medidas para crear entornos que sean seguros por defecto y, al mismo tiempo, supervisa continuamente las vulnerabilidades, aumentará las posibilidades de cumplir con las distintas normas de PCI relativas a la seguridad de la red y los datos, la gestión de vulnerabilidades, los controles de acceso y la auditoría.