

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Daftar periksa keamanan untuk distribusi pasar
<a name="ecommerce-security-checklist"></a>

E-commerce dan aplikasi pasar menangani data sensitif — sesi pelanggan, aliran pembayaran, dan konten premium. Daftar periksa ini mencakup kontrol keamanan khusus untuk CloudFront distribusi dengan lapisan caching ElastiCache (Valkey). Terapkan kontrol ini selain praktik terbaik CloudFront keamanan umum yang dijelaskan dalam[Konfigurasikan akses aman dan batasi akses ke konten](SecurityAndPrivateContent.md).

Daftar periksa ini melengkapi panduan konfigurasi di[CloudFront untuk aplikasi e-commerce dan marketplace](ecommerce-marketplace-distribution.md).

## URL dan cookie yang ditandatangani untuk konten premium
<a name="ecommerce-sec-signed-urls"></a>

Gunakan URL yang ditandatangani atau cookie yang ditandatangani untuk membatasi akses ke konten yang memerlukan otorisasi — pratinjau produk premium, barang digital yang dibeli, konten promosi terbatas waktu, atau aset khusus penjual.


**URL yang ditandatangani dan perbandingan cookie yang ditandatangani**  

| Metode | Gunakan kapan | E-commerce contoh | 
| --- | --- | --- | 
| URL yang ditandatangani | Membatasi akses ke file individual. Berbagi tautan unduhan. Klien yang tidak mendukung cookie. | One-time tautan unduhan untuk produk digital yang dibeli. Time-limitedakses ke gambar produk resolusi tinggi untuk penjual terverifikasi. | 
| Cookie yang ditandatangani | Menyediakan akses ke beberapa file (misalnya, semua aset dalam tingkat premium). Menghindari perubahan URL untuk konten yang ada. | Akses keanggotaan premium ke seluruh katalog konten digital. Subscriber-only pratinjau produk di beberapa halaman. | 

Persyaratan konfigurasi:
+ Buat grup kunci dengan kunci publik RSA (minimum 2048-bit). Simpan kunci pribadi AWS Secrets Manager untuk aplikasi Anda untuk menghasilkan tanda tangan.
+ Setel perilaku cache Bat ** asi akses penampil ** ke ** Ya ** dan kaitkan grup kunci.
+ Tetapkan waktu kedaluwarsa yang sesuai dengan jenis konten: menit untuk tautan unduhan, jam untuk sesi penelusuran, hari untuk akses berlangganan.
+ Gunakan kebijakan kustom (bukan kebijakan yang sudah disiapkan) saat Anda perlu membatasi berdasarkan rentang IP atau mengizinkan jalur wildcard.

Untuk detail implementasi, lihat [Menyajikan konten pribadi dengan URL yang ditandatangani dan cookie yang ditandatangani](PrivateContent.md).

## Kontrol akses asal (OAC) untuk Amazon S3
<a name="ecommerce-sec-oac"></a>

Kontrol akses asal mencegah pengguna melewati akses CloudFront ke bucket Amazon S3 Anda secara langsung. Tanpa OAC, siapa pun yang menemukan URL bucket Anda dapat mengakses aset tanpa melalui URL/cookie penegakan yang ditandatangani, aturan WAF, atau pembatasan geografis. Untuk langkah konfigurasi lengkap, lihat[Membatasi akses ke AWS asal](private-content-restricting-access-to-origin.md).

**Aktifkan OAC untuk semua asal Amazon S3**  
Buat OAC dan kaitkan dengan setiap asal Amazon S3 di distribusi Anda. Perbarui kebijakan bucket untuk mengizinkan hanya CloudFront service principal (`cloudfront.amazonaws.com`) dengan kondisi yang cocok dengan ARN distribusi Anda.

**Hapus akses publik**  
Di konsol Amazon Simple Storage Service, aktifkan Amazon S3 Block Public Access di bucket. Ini adalah pengaturan Amazon S3, bukan CloudFront pengaturan. Kebijakan bucket hanya memberikan akses ke CloudFront — tidak diperlukan ACL atau kebijakan publik. Untuk informasi selengkapnya, lihat Mem [ blokir akses publik ke penyimpanan Amazon S3 Anda ](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html) di Panduan Pengguna Layanan Penyimpanan Sederhana * Amazon*.

**Gunakan titik akhir API REST Amazon S3**  
Konfigurasikan asal menggunakan titik akhir REST API bucket (`bucket-name.s3.amazonaws.com`), bukan titik akhir situs web Amazon S3. OAC hanya berfungsi dengan titik akhir REST API.

## Enkripsi saat bergerak
<a name="ecommerce-sec-encryption-transit"></a>

Enkripsi semua koneksi di jalur permintaan — penampil ke CloudFront, CloudFront ke asal, dan aplikasi ke ElastiCache cache.


**Enkripsi dalam konfigurasi transit**  

| Koneksi | Pengaturan | Konfigurasi | 
| --- | --- | --- | 
| Penampil → CloudFront | Kebijakan protokol penampil: HTTPS saja | Tetapkan kebijakan protokol penampil ke `redirect-to-https` atau `https-only` pada semua perilaku cache. Gunakan kebijakan keamanan minimum TLS 1.2 (`TLSv1.2_2021`). | 
| CloudFront → Asal S3 | Protokol asal: HTTPS | Titik akhir S3 REST API mendukung HTTPS secara default. CloudFront menggunakan HTTPS saat Anda mengonfigurasi asal dengan titik akhir REST API dan OAC. | 
| CloudFront → Asal ALB | Protokol asal: HTTPS saja | Tetapkan kebijakan protokol asal ke`https-only`. Instal sertifikat TLS yang valid pada ALB (gunakan AWS Certificate Manager). CloudFront memvalidasi sertifikat pada koneksi. | 
| Aplikasi → ElastiCache | In-transit enkripsi: Diaktifkan | Di ElastiCache konsol, aktifkan `TransitEncryptionEnabled` pada grup replikasi. Ini adalah ElastiCache pengaturan. Gunakan koneksi TLS dari kode aplikasi Anda. Valkey dan Redis OSS 6.0 dan yang lebih baru mendukung enkripsi in-transit secara native. | 

## Grup keamanan VPC untuk cluster cache
<a name="ecommerce-sec-vpc-cache"></a>

 ElastiCache Cluster berjalan di VPC dan hanya harus menerima koneksi dari server aplikasi Anda. Gunakan rantai grup keamanan untuk membatasi akses.


**Konfigurasi grup keamanan untuk ElastiCache**  

| Grup keamanan | Aturan ke dalam | Alasannya | 
| --- | --- | --- | 
| Cluster cache SG | TCP 6379 dari Aplikasi SG saja | Hanya server aplikasi yang dapat mencapai cache. Tidak ada akses internet, tidak ada akses dari layanan lain. Gunakan port 6379 ( Valkey/Redis port default) atau port yang dikonfigurasi. | 
| Aplikasi SG | TCP 443 dari ALB SG saja | Server aplikasi menerima lalu lintas hanya dari ALB. Dikombinasikan dengan cluster cache SG, ini menciptakan rantai: CloudFront → ALB → Aplikasi → Cache. | 

Pengerasan VPC tambahan:
+ Terapkan ElastiCache cluster di subnet pribadi tanpa rute gateway internet.
+ Gunakan grup subnet yang mencakup setidaknya 2 Zona Ketersediaan untuk ketersediaan tinggi.
+ Aktif ElastiCache kan token autentikasi (kata sandi) untuk lapisan otentikasi tambahan di luar grup keamanan.
+ Nonaktifkan akses publik ke ElastiCache cluster (default, tetapi verifikasi).

## Kontrol keamanan tambahan
<a name="ecommerce-sec-additional"></a>

**Batasi akses ALB CloudFront hanya**  
Tambahkan header asal kustom (`X-Origin-Verify`) yang CloudFront dikirim dengan setiap permintaan. Konfigurasikan ALB atau aplikasi untuk menolak permintaan yang tidak menyertakan header ini. Simpan nilai header AWS Secrets Manager dan putar secara berkala. Atau, gunakan daftar aw CloudFront alan terkelola untuk membatasi aturan masuk grup keamanan ALB ke rentang CloudFront IP.

**Akti AWS WAF fkan pada distribusi**  
Kaitkan ACL AWS WAF web dengan aturan pembatas tarif untuk melindungi dari penyalahgunaan keranjang, pengisian kredensia pada API login, dan pengikisan inventaris. Gunakan grup aturan terkelola untuk ancaman umum (injeksi SQL, XSS) dan aturan khusus untuk pola khusus aplikasi.

**Geo-restrictions untuk kepatuhan**  
Jika pasar Anda beroperasi di negara tertentu, aktifkan pembatasan geografis untuk memblokir permintaan dari wilayah di mana Anda tidak memiliki wewenang hukum untuk menjual atau mengirim. Terapkan di tingkat distribusi. Untuk pembatasan geografis per jalur, gunakan kondisi AWS WAF geo-match dalam aturan ACL web dengan kondisi jalur URL.

**Logging akses**  
Aktif CloudFront kan pencatatan standar atau pencatatan waktu nyata untuk mendeteksi pola akses yang tidak normal — lonjakan tiba-tiba dalam penggunaan tautan unduhan, akses dari wilayah yang tidak terduga, atau upaya autentikasi gagal berulang di titik akhir API.