← Back to Baseline

Why it Matters

Payment gateways (PayPal, Stripe, Adyen, Authorize.net, etc.) handle highly sensitive data. If your Magento store connects to them using weak TLS protocols (like TLS 1.0/1.1) or outdated ciphers (e.g., RC4, 3DES), attackers can intercept or downgrade the connection to steal payment details. PCI DSS explicitly requires strong cryptography for payment transmissions.

Enforcing strong TLS ciphers ensures that cardholder data and payment tokens are transmitted securely, protecting customers and keeping the store PCI compliant.

Verification Steps

Server test

# Test TLS handshake with payment gateway
openssl s_client -connect api.stripe.com:443 -tls1
# Expected: handshake failure (TLS 1.0 not allowed)

openssl s_client -connect api.stripe.com:443 -tls1_2
# Expected: success with strong cipher (AES-GCM, CHACHA20)

Magento config check

# Ensure payment gateway modules do not allow insecure options
# Example: no "use weak SSL" toggles in admin panel

Remediation / Fix Guidance

  1. Force all outbound payment traffic to use TLS 1.2+ or TLS 1.3 only.
  2. Disable legacy protocols in PHP and cURL:
    # php.ini
    openssl.cafile=/etc/ssl/certs/ca-bundle.crt
    curl.cainfo=/etc/ssl/certs/ca-bundle.crt
    
    # Ensure cURL and OpenSSL compiled with TLS 1.2/1.3 support
  3. Update payment extensions to the latest version — vendors regularly remove weak cipher support.
  4. Harden system-wide SSL configuration:
    • Disable SSLv2, SSLv3, TLS 1.0, TLS 1.1
    • Disable weak ciphers: RC4, 3DES, MD5
    • Prefer AES-GCM and CHACHA20-POLY1305
  5. Test PCI DSS compliance quarterly using an approved scanning vendor.

Examples

Fail Example
$ openssl s_client -connect api.payment.com:443 -tls1
CONNECTED(00000003)
SSL-Handshake completed using TLSv1 / AES128-SHA
# FAIL: Gateway allows weak TLS 1.0
Pass Example
$ openssl s_client -connect api.payment.com:443 -tls1_3
CONNECTED(00000003)
SSL-Handshake completed using TLSv1.3 / TLS_AES_256_GCM_SHA384
# PASS: Strong cipher and protocol enforced

References