Guía de seguridad de la integración
Garantiza el cumplimiento de la normativa PCI y protege las comunicaciones entre el cliente y el servidor.
PCI DSS es el estándar de seguridad global para todas las entidades que almacenan, procesan o transmiten datos confidenciales de autenticación o de titulares de tarjetas. PCI DSS establece un nivel básico de protección para los consumidores y ayuda a reducir el fraude y las filtraciones de datos en todo el ecosistema de pagos. Cualquier persona que esté involucrada en el procesamiento, la transmisión o el almacenamiento de datos de tarjetas debe cumplir con el Estándar de Seguridad de Datos del Sector de Tarjetas de Pago (PCI DSS).
Cómo validar el cumplimiento de la normativa PCI
El cumplimiento de la normativa PCI es una responsabilidad compartida y se aplica tanto a Stripe como a tu empresa:
- Stripe está certificado anualmente por un evaluador independiente de seguridad certificado conforme a la normativa PCI como proveedor de servicios de nivel 1 de PCI que cumple con todos los requisitos de PCI.
- Como empresa que acepta pagos, debes hacerlo de conformidad con la normativa PCI y certificar anualmente este cumplimiento.
Revisa los requisitos de la documentación para tu empresa en tu Dashboard y sigue leyendo esta guía para saber cómo Stripe puede ayudarte a cumplir con la normativa PCI.
Utiliza integraciones de bajo riesgo
Algunos modelos de negocio exigen la introducción de números PAN no tokenizados en una página de pago. Si tu empresa gestiona datos confidenciales de tarjetas de crédito directamente cuando acepta pagos, es posible que se te exija cumplir con los + de 300 controles de seguridad establecidos en la normativa PCI DSS. Esto puede requerir que compres, implementes y mantengas software y hardware de seguridad especializados y que contrates auditores externos para respaldar tus requisitos de evaluación anual.
Muchos modelos de negocio no necesitan manejar datos confidenciales de tarjetas. En su lugar, puedes usar una de nuestras integraciones de pagos de bajo riesgo para recopilar y transmitir de forma segura la información de pago directamente a Stripe sin que pase por tus servidores, lo que reduce tus obligaciones de PCI.
Datos de tarjetas fuera del ámbito de aplicación que puedes almacenar de forma segura
Stripe devuelve datos de tarjeta no confidenciales en la respuesta a una solicitud de cargo. Esto incluye el tipo de tarjeta, los últimos cuatro dígitos de la tarjeta y la fecha de caducidad. Esta información no está sujeta al cumplimiento de la normativa PCI, de manera que puedes almacenar cualquiera de estas propiedades en tu base de datos. Además, puedes almacenar todo lo que recibas de nuestra API.
Cómo usar TLS y HTTPS
TLS es el proceso de transmisión segura de datos entre el cliente (la aplicación o el navegador que usa tu cliente) y tu servidor. Al principio, de esto se ocupaba el protocolo Secure Sockets Layer (SSL), pero está obsoleto y ya no es seguro. TLS reemplazó a SSL, pero el término SSL sigue utilizándose coloquialmente cuando se refiere a TLS y su función para proteger los datos transmitidos.
Las páginas de pagos deben usar una versión reciente (TLS 1.2 o superior) porque reduce significativamente el riesgo de ataques de intermediarios tanto para ti como para tus clientes. TLS intenta lograr lo siguiente:
- Cifrar y verificar la integridad del tráfico entre el cliente y tu servidor.
- Comprueba que el cliente se comunique con el servidor correcto. En la práctica, esto implica verificar que el propietario del dominio y el propietario del servidor son la misma persona. De esta manera, se evitan los ataques de intermediario. Sin esta verificación, no hay garantía de que estés cifrando el tráfico al destinatario correcto.
El uso de TLS requiere un certificado digital, un archivo emitido por una autoridad de certificación (AC). La instalación de este certificado asegura al cliente que realmente se está comunicando con el servidor con el que espera estar hablando, y no con un impostor. Obtén un certificado digital de un proveedor de certificados de buena reputación, como:
Puedes probar tu integración sin usar HTTPS si es necesario y habilitarlo cuando todo esté listo para aceptar cargos reales. No obstante, todas las interacciones entre tu servidor y Stripe deben usar HTTPS (es decir, al usar nuestras bibliotecas).
Configurar TLS
Para configurar TLS:
- Compra un certificado de un proveedor adecuado.
- Configure el servidor para usar el certificado. Este paso es complejo, así que sigue la guía de instalación del proveedor que utilices.
Como se trata de un conjunto complejo de herramientas de cifrado, es fácil pasar por alto algunos detalles. Te recomendamos usar la prueba de servidor SSL de Qualys SSL Labs para asegurarte de haber configurado todo de manera segura.
Consideraciones de seguridad
Incluir JavaScript desde otros sitios web hace que tu seguridad dependa de la de estos sitios y supone un riesgo de seguridad. Si son víctimas de un ataque alguna vez, un atacante podría ejecutar código arbitrario en tu página. En la práctica, muchos sitios utilizan JavaScript para servicios como Google Analytics, incluso en páginas seguras. Sin embargo, recomendamos intentar minimizarlo.
Si usas webhooks, utiliza TLS en el punto de conexión para evitar que se intercepte el tráfico y se modifiquen las notificaciones (nunca se incluye información confidencial en un evento de webhook).
Aunque es importante cumplir con las normas de seguridad de los datos, las cuestiones sobre seguridad no terminan ahí. A continuación encontrarás recursos interesantes para saber más sobre seguridad en la web:
Política de seguridad de contenidos
Si implementaste una Política de seguridad de contenido, este es el conjunto completo de directivas requerido por Checkout, componentes integrados de Connect y Stripe.js:
Aceptación de aislamiento de origen cruzado
Actualmente, no aceptamos sitios web aislados de origen cruzado.
El aislamiento de origen cruzado requiere el soporte de todas las dependencias, y varias dependencias clave que habilitan nuestras ofertas de pago todavía no proporcionan soporte para esta función.