Panduan keamanan integrasi
Pastikan kepatuhan PCI dan komunikasi server pelanggan yang aman.
PCI DSS adalah standar keamanan global untuk semua entitas yang menyimpan, memproses, atau mentransmisikan data autentikasi sensitif atau pemegang kartu. PCI DSS menetapkan level patokan perlindungan bagi konsumen serta membantu mengurangi penipuan dan pelanggaran data di seluruh ekosistem pembayaran. Siapa saja yang terlibat dalam pemrosesan, transmisi, atau penyimpanan data kartu harus mematuhi Standar Keamanan Data Industri Kartu Pembayaran (PCI DSS).
Validasikan kepatuhan PCI Anda
Kepatuhan PCI adalah tanggung jawab bersama yang berlaku untuk Stripe dan bisnis Anda:
- Stripe disertifikasi setiap tahun oleh Penilai Keamanan yang Kompeten (QSA) PCI independen sebagai Penyedia Layanan PCI Level 1 yang memenuhi semua persyaratan PCI.
- Sebagai bisnis yang menerima pembayaran, Anda harus melakukannya dengan cara yang mematuhi PCI, dan setiap tahunnya membuktikan kepatuhan ini.
Tinjau persyaratan dokumentasi untuk bisnis Anda di Dashboard dan lanjutkan membaca panduan ini untuk mempelajari cara Stripe dapat membantu Anda menjadi patuh PCI.
Gunakan integrasi berisiko rendah
Beberapa model bisnis mengharuskan penerimaan PAN yang tidak dijadikan token pada halaman pembayaran. Jika bisnis Anda menangani data kartu kredit sensitif secara langsung ketika menerima pembayaran, Anda mungkin diharuskan untuk memenuhi lebih dari 300+ kontrol keamanan di PCI DSS. Ini mungkin mengharuskan Anda untuk membeli, mengimplementasikan, serta memelihara perangkat lunak dan perangkat keras keamanan khusus, serta mempekerjakan auditor eksternal untuk mendukung persyaratan penilaian tahunan Anda.
Banyak model bisnis tidak perlu menangani data kartu sensitif. Sebagai gantinya, Anda dapat menggunakan salah satu integrasi pembayaran berisiko rendah kami agar aman mengumpulkan dan mentransmisikan informasi pembayaran secara langsung ke Stripe tanpa meneruskannya melalui server Anda, sehingga mengurangi kewajiban PCI.
Data kartu di luar lingkup yang dapat Anda simpan dengan aman
Stripe mengembalikan informasi kartu yang tidak sensitif sebagai respons permintaan charge. Ini termasuk tipe kartu, empat angka terakhir kartu, dan tanggal kedaluwarsa. Informasi ini tidak termasuk dalam kepatuhan PCI, sehingga Anda dapat menyimpan properti ini di database. Selain itu, Anda dapat menyimpan apa pun yang dikembalikan oleh API kami.
Gunakan TLS dan HTTPS
TLS mengacu pada proses pengiriman data secara aman antara client—aplikasi atau browser yang digunakan pelanggan Anda—dan server Anda. Protokol Secure Sockets Layer (SSL) pada awalnya melakukan hal ini, tetapi sudah usang dan tidak lagi aman. TLS menggantikan SSL, tetapi istilah SSL terus digunakan dalam bahasa sehari-hari saat merujuk TLS dan fungsinya untuk melindungi data yang ditransmisikan.
Halaman pembayaran harus menggunakan versi terbaru (TLS 1.2 atau yang lebih tinggi) karena secara signifikan mengurangi risiko serangan man-in-the-middle bagi Anda maupun pelanggan Anda. TLS berusaha untuk mencapai hal-hal berikut ini:
- Enkripsikan dan verifikasikan integritas lalu lintas antara client dan server Anda.
- Memverifikasi apakah client berkomunikasi dengan server yang benar. Dalam praktiknya, hal ini biasanya berarti memverifikasi apakah pemilik domain dan pemilik server adalah entitas yang sama. Hal ini membantu mencegah serangan man-in-the-middle. Tanpanya, tidak ada jaminan bahwa Anda mengenkripsi lalu lintas ke penerima yang benar.
Penggunaan TLS memerlukan sertifikat digital—file yang diterbitkan oleh otoritas sertifikasi (CA). Penginstalan sertifikat ini menjamin client benar-benar berkomunikasi dengan server yang dimaksud, dan bukan dengan penipu. Dapatkan sertifikat digital dari penyedia sertifikat terkemuka, seperti:
Anda dapat mencoba integrasi tanpa menggunakan HTTPS jika perlu, dan aktifkan bila Anda siap menerima charge live. Namun, semua interaksi antara server Anda dan Stripe harus menggunakan HTTPS (yaitu, saat menggunakan pustaka kami).
Siapkan TLS
Untuk menyiapkan TLS:
- Beli sertifikat dari penyedia yang sesuai.
- Konfigurasikan server Anda untuk menggunakan sertifikat. Langkah ini kompleks, jadi ikuti panduan instalasi dari penyedia yang Anda gunakan.
Karena TLS adalah rangkaian alat kriptografi yang kompleks, beberapa detailnya mungkin saja terlewatkan. Kami merekomendasikan penggunaan SSL Server Test dari Qualys SSL Labs untuk memastikan Anda menyiapkan semuanya dengan cara yang aman.
Pertimbangan keamanan
Menyertakan JavaScript dari situs lain membuat keamanan Anda menjadi bergantung pada situs mereka dan menimbulkan risiko keamanan. Jika situs mereka sampai dibobol, penyerang dapat mengeksekusi kode arbitrer di halaman Anda. Dalam praktiknya, banyak situs menggunakan JavaScript untuk layanan seperti Google Analytics, bahkan di halaman aman. Meskipun demikian, kami merekomendasikan untuk meminimalkannya.
Jika Anda menggunakan Webhook, gunakan TLS untuk endpoint agar lalu lintas tidak disadap dan notifikasi diubah (informasi sensitif tidak pernah disertakan dalam kejadian webhook).
Meskipun mematuhi Data Security Standards itu penting, Anda tidak boleh berhenti memikirkan keamanan. Beberapa sumber daya yang bagus untuk mempelajari keamanan web adalah:
Kebijakan Keamanan Konten
Jika Anda telah menerapkan Kebijakan Keamanan Konten, rangkaian lengkap arahan yang diperlukan oleh Checkout, komponen Connect tersemat, dan Stripe.js adalah:
Dukungan isolasi lintas asal
Saat ini, kami tidak mendukung Situs terisolasi lintas asal.
Isolasi lintas asal memerlukan dukungan dari semua dependensi, dan beberapa dependensi kunci yang memungkinkan penawaran pembayaran kami belum memberikan dukungan untuk fitur ini.