PCI-DSS para aplicações web: checklist prático

O PCI-DSS (Payment Card Industry Data Security Standard) é obrigatório para qualquer aplicação que processe, armazene ou transmita dados de cartão de crédito. Este guia foca nos requisitos mais relevantes para desenvolvedores web.

Requisitos relevantes para web

O PCI-DSS v4.0 tem 12 requisitos principais. Para aplicações web, os mais impactantes são:

RequisitoTítuloRelevância para web
Req. 4Criptografia em trânsitoHTTPS, TLS 1.2+, certificados válidos
Req. 6Desenvolvimento seguroHeaders de segurança, SRI, CSP
Req. 11Testes de segurançaVarreduras periódicas, pentest

Requisito 4 — Criptografia em trânsito

Todos os dados de cartão devem ser transmitidos de forma criptografada. Na prática:

  • HTTPS obrigatório em todas as páginas (não apenas no checkout)
  • TLS 1.2 ou superior (TLS 1.0 e 1.1 são proibidos desde 2018)
  • Certificado SSL/TLS válido e não expirado
  • HSTS habilitado para forçar conexões seguras
# Configuração recomendada de HSTS
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

# Verificar versão do TLS com OpenSSL
openssl s_client -connect seusite.com.br:443 -tls1_2

# No nginx
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers on;
O SAFETAGGY verifica: presença de HTTPS, validade do certificado, versão do TLS e configuração do HSTS.

Requisito 6 — Desenvolvimento seguro

O Req. 6 exige práticas de desenvolvimento seguro, incluindo proteção contra vulnerabilidades conhecidas. Para aplicações web:

6.4.3 — Subresource Integrity (SRI)

Scripts e estilos carregados de CDNs devem usar o atributo integrity para garantir que não foram adulterados:

<!-- Com SRI -->
<script
  src="https://cdn.exemplo.com/lib.js"
  integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8w"
  crossorigin="anonymous"
></script>

<!-- Gerar hash SRI -->
openssl dgst -sha384 -binary lib.js | openssl base64 -A

6.4.1 — Content Security Policy (CSP)

O CSP restringe de onde scripts, estilos e outros recursos podem ser carregados:

# CSP recomendado para e-commerce
Content-Security-Policy: default-src 'self';
  script-src 'self' https://cdn.trusted.com;
  style-src 'self' 'unsafe-inline';
  img-src 'self' data: https:;
  frame-src https://checkout.payment.com;
  connect-src 'self' https://api.payment.com;

6.5.x — Autocomplete em campos sensíveis

Campos de cartão de crédito devem ter autocomplete desabilitado para evitar que o navegador armazene dados sensíveis:

<input type="text" name="cardnumber" autocomplete="off" />
<input type="text" name="cvv" autocomplete="off" />

Requisito 11 — Testes de segurança

O PCI-DSS exige varreduras de vulnerabilidade trimestrais e testes de penetração anuais. O SAFETAGGY ajuda em ambos:

RequisitoFrequênciaComo o SAFETAGGY ajuda
11.3.1 — Varredura internaTrimestralVarredura padrão com relatório de conformidade
11.3.2 — Varredura externaTrimestralVarredura padrão cobre verificações externas
11.4 — PentestAnualDeep Scan com agente IA simula pentest automatizado

Configure varreduras agendadas para manter a conformidade contínua. Use o Deep Scan para testes mais aprofundados com ferramentas como nmap, nuclei e sqlmap.

Checklist de verificação

ItemRequisito PCI-DSSSAFETAGGY detecta
HTTPS em todas as páginasReq. 4.2.1Sim
TLS 1.2+Req. 4.2.1Sim
HSTS configuradoReq. 4.2.1Sim
CSP configuradoReq. 6.4.1Sim
SRI em scripts externosReq. 6.4.3Sim
Autocomplete off em campos de cartãoReq. 6.5Sim
Varredura trimestralReq. 11.3Sim (agendamento)
Teste de penetraçãoReq. 11.4Sim (Deep Scan)

Boas práticas adicionais

  • Use provedores de pagamento certificados PCI (Stripe, Pagar.me, etc.) para evitar armazenar dados de cartão
  • Nunca registre números de cartão em logs ou analytics
  • Implemente rate limiting em endpoints de pagamento
  • Use iframes do provedor de pagamento em vez de campos próprios quando possível
  • Mantenha todas as dependências atualizadas (Req. 6.3)

Verifique sua conformidade PCI-DSS

Execute uma varredura e veja quais requisitos do PCI-DSS sua aplicação já atende.

Iniciar varredura