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:
| Requisito | Título | Relevância para web |
|---|---|---|
| Req. 4 | Criptografia em trânsito | HTTPS, TLS 1.2+, certificados válidos |
| Req. 6 | Desenvolvimento seguro | Headers de segurança, SRI, CSP |
| Req. 11 | Testes de segurança | Varreduras 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;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 -A6.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:
| Requisito | Frequência | Como o SAFETAGGY ajuda |
|---|---|---|
| 11.3.1 — Varredura interna | Trimestral | Varredura padrão com relatório de conformidade |
| 11.3.2 — Varredura externa | Trimestral | Varredura padrão cobre verificações externas |
| 11.4 — Pentest | Anual | Deep 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
| Item | Requisito PCI-DSS | SAFETAGGY detecta |
|---|---|---|
| HTTPS em todas as páginas | Req. 4.2.1 | Sim |
| TLS 1.2+ | Req. 4.2.1 | Sim |
| HSTS configurado | Req. 4.2.1 | Sim |
| CSP configurado | Req. 6.4.1 | Sim |
| SRI em scripts externos | Req. 6.4.3 | Sim |
| Autocomplete off em campos de cartão | Req. 6.5 | Sim |
| Varredura trimestral | Req. 11.3 | Sim (agendamento) |
| Teste de penetração | Req. 11.4 | Sim (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