Guia de segurança de integração
Garanta a conformidade com PCI e comunicações seguras entre clientes e servidores.
O PCI DSS é o padrão de segurança global para todas as entidades que armazenam, processam ou transmitem dados de autenticação sigilosos ou do titular do cartão. O PCI DSS define uma linha básica de proteção para os consumidores e ajuda a reduzir fraudes e violações de dados em todo o ecossistema de pagamentos. Todos os envolvidos no processamento, transmissão ou armazenamento de dados de cartões precisam cumprir o Payment Card Industry Data Security Standard (PCI DSS).
Valide sua conformidade com o PCI
A conformidade com PCI é uma responsabilidade compartilhada e se aplica à Stripe e à sua empresa:
- A Stripe é certificada anualmente por um Avaliador de Segurança Qualificado (QSA) pelo PCI como um Provedor de Serviços de Nível 1 do PCI que cumpre todos os requisitos PCI.
- Como uma empresa recebe pagamentos, você deve fazer isso em conformidade com o PCI e atestar anualmente essa conformidade.
Revise os requisitos de documentação da sua empresa no Dashboard e continue lendo este guia para saber como a Stripe pode ajudar você a ficar em conformidade com PCI.
Usar integrações de baixo risco
Alguns modelos de negócios exigem o recebimento de PANs não tokenizados em uma página de pagamento. Se sua empresa lida diretamente com dados sigilosos de cartão de crédito quando aceita pagamentos, pode ser necessário cumprir os mais de + 300 de controles de segurança no PCI DSS. Isso pode exigir que você compre, implemente e mantenha software e hardware de segurança exclusivos e contrate auditores externos para apoiar seus requisitos de avaliação anual.
Muitos modelos de negócios não precisam lidar com dados sigilosos de cartões. Em vez disso, você pode usar uma de nossas integrações de pagamento de baixo risco para coletar e transmitir com segurança dados de pagamento diretamente para a Stripe, sem que eles passem por seus servidores, reduzindo suas obrigações com PCI.
Dados de cartão fora do escopo que você pode armazenar com segurança
A Stripe retorna dados de cartão não sigilosos em resposta a uma solicitação de cobrança. Isso inclui o tipo, os quatro últimos dígitos e a data de validade do cartão. Como essas informações não estão sujeitas à conformidade com PCI, você pode armazená-las em seu banco de dados. Você também pode armazenar qualquer coisa retornada por nossa API.
Use TLS e HTTPS
TLS refere-se ao processo de transmitir dados com segurança entre o cliente (o aplicativo ou navegador que seu cliente está usando) e seu servidor. O protocolo Secure Sockets Layer (SSL) realizava isso originalmente, mas está desatualizado e não é mais seguro. O TLS substituiu o SSL, mas o termo SSL continua a ser usado coloquialmente em referência ao TLS e sua função para proteger os dados transmitidos.
As páginas de pagamento devem usar uma versão recente (TLS 1.2 ou superior), pois essa reduz significativamente o risco de ataques de man-in-the-middle para você e seus clientes. O TLS tenta realizar o seguinte:
- Criptografar e verificar a integridade do tráfego entre o cliente e o servidor.
- Verifique se o cliente está se comunicando com o servidor correto. Na prática, geralmente é preciso verificar que o proprietário do domínio e o proprietário do servidor são a mesma entidade. Isso ajuda a evitar ataques “man-in-the-middle”. Sem isso, não há garantia de que você esteja criptografando o tráfego para o destinatário correto.
O uso de TLS exige um certificado digital, um arquivo emitido por uma autoridade de certificação (CA). A instalação desse certificado garante ao cliente que está se comunicando com o servidor com o qual espera falar, e não com um impostor. Obtenha um certificado digital de um provedor de certificados confiável, como:
Você pode testar sua integração sem usar HTTPS se precisar e habilitá-la quando estiver pronto para aceitar cobranças em tempo real. No entanto, todas as interações entre seu servidor e a Stripe precisam usar HTTPS (ou seja, quando usar nossas bibliotecas).
Configurar TLS
Para configurar o TLS:
- Compre um certificado de um provedor adequado.
- Configure seu servidor para usar o certificado. Esta etapa é complexa, portanto, siga o guia de instalação do provedor que você usa.
Como o TLS é um conjunto complexo de ferramentas de criptografia, é fácil perder alguns detalhes. Recomendamos usar o Teste de servidor SSL da Qualys SSL Labs para garantir que você configure tudo com segurança.
Considerações de segurança
A inclusão de JavaScript de outros sites torna sua segurança dependente deles e representa um risco de segurança. Se eles forem comprometidos, um invasor poderá executar códigos arbitrários em sua página. Na prática, vários sites usam JavaScript para serviços como Google Analytics, mesmo em páginas seguras. Mesmo assim, recomendamos tentar minimizar esse problema.
Se estiver usando webhooks, use TLS para o endpoint para evitar interceptação de tráfego e alteração de notificações (eventos de webhook nunca contêm informações sigilosas).
Embora a conformidade com os Padrões de Segurança de Dados seja importante, suas preocupações com a segurança não devem parar por aí. Alguns bons recursos para aprender sobre segurança na web são:
Política de Segurança de Conteúdo
Se você implementou uma Política de segurança de conteúdo, o conjunto completo de diretivas exigidas pelo Checkout, pelos componentes integrados do Connect e pelo Stripe.js é:
Suporte a isolamento de origem cruzada
No momento, não aceitamos sites isolados de origem cruzada.
O isolamento de origem cruzada exige suporte de todas as dependências, e várias dependências importantes que habilitam nossos produtos de pagamento ainda não oferecem suporte a esse recurso.