Panduan keamanan integrasi
Pastikan kepatuhan PCI dan komunikasi server pelanggan yang aman.
Standar Keamanan Data Industri Kartu Pembayaran (PCI DSS) adalah standar keamanan global untuk semua entitas yang menyimpan, memproses, atau mengirimkan data autentikasi pemegang kartu atau sensitif. PCI DSS menetapkan tingkat perlindungan dasar bagi konsumen dan membantu mengurangi penipuan dan pelanggaran data di seluruh ekosistem pembayaran. Siapa pun yang terlibat dengan pemrosesan, transmisi, atau penyimpanan data kartu harus mematuhi 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 memerlukan asupan PAN yang tidak ditokenisasi di halaman pembayaran. Jika bisnis Anda menangani data kartu kredit sensitif secara langsung saat menerima pembayaran, Anda mungkin diminta untuk memenuhi lebih dari 300 kontrol keamanan di PCI DSS. Ini mungkin mengharuskan Anda untuk membeli, menerapkan, dan memelihara perangkat lunak dan perangkat keras keamanan khusus, serta menyewa 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 menguji integrasi tanpa menggunakan HTTPS jika perlu, dan aktifkan saat Anda siap menerima tagihan aktif. Namun, semua interaksi antara server Anda dan Stripe harus menggunakan HTTPS (yaitu, saat menggunakan library 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 webhooks, gunakan TLS untuk endpoint untuk menghindari traffic dicegat dan notifikasi diubah (informasi sensitif tidak pernah disertakan dalam peristiwa webhook). Anda juga harus verifikasi tanda tangan webhook dan daftar yang diizinkan Alamat IP Stripe untuk memastikan bahwa setiap webhook Stripe yang Anda terima dikirim secara eksklusif oleh Stripe.
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.