View a markdown version of this page

Header mTLS penampil untuk kebijakan cache dan diteruskan ke asal - Amazon CloudFront

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

Header mTLS penampil untuk kebijakan cache dan diteruskan ke asal

Saat menggunakan otentikasi TLS timbal balik, CloudFront dapat mengekstrak informasi dari sertifikat klien dan meneruskannya ke asal Anda sebagai header HTTP. Ini memungkinkan server asal Anda untuk mengakses detail sertifikat tanpa menerapkan logika validasi sertifikat.

Header berikut tersedia untuk membuat perilaku cache:

Nama header Deskripsi Nilai contoh Mode yang Didukung
CloudFront-Viewer-Cert-Serial-Number Representasi heksadesimal dari nomor seri sertifikat 4a: 3f: 5c: 92: d1: e 8:7 b: 6c Diperlukan, Opsional, Passthrough
CloudFront-Viewer-Cert-Issuer Representasi string RFC2253 dari nama terhormat penerbit (DN) cn = Rootcamtls.com, OU = Rootca, O = MTLS, L = Seattle, ST = Washington, C = AS Diperlukan, Opsional, Passthrough
CloudFront-Viewer-Cert-Subject Representasi string RFC2253 dari nama subjek yang dibedakan (DN) cn=client_.com, OU = klien-3, O = MTLS, ST = Washington, C = AS Diperlukan, Opsional, Passthrough
CloudFront-Viewer-Cert-Present Baik 1 (sekarang) atau 0 (tidak ada) yang menunjukkan apakah sertifikat tersebut ada. Nilai ini selalu 1 dalam mode Wajib. 1 Diperlukan, Opsional, Passthrough
CloudFront-Viewer-Cert-Sha256 Hash SHA256 dari sertifikat klien 01fbf94fef5569753420c349f49adbfd80af5275377816e3ab1fb371b29cb586 Diperlukan, Opsional, Passthrough

Untuk permintaan asal, dua header tambahan disediakan, selain header di atas yang tersedia untuk perilaku cache. Karena potensi ukuran header, CloudFront-Viewer-Cert-Pem header tidak terkena fungsi tepi (Lambda @Edge atau CloudFront Functions) dan hanya diteruskan ke asal.

Nama header Deskripsi Nilai contoh Mode yang Didukung
CloudFront-Viewer-Cert-Validity Format ISO8601 dari tanggal NotBefore dan NotAfter CloudFront-Viewer-Cert-Validity: NotBefore = 2023-09-21; = 2024-09-20 T01:50:17Z NotAfter T01:50:17Z Diperlukan, Opsional, Passthrough
CloudFront-Viewer-Cert-Pem URL-encoded Format PEM dari sertifikat daun CloudFront-Viewer-Cert-Pem: ----- MULAI% 20 SERTIFIKAT ----- %0AMIIG<... dikurangi... > NmrUlw %0A ----- AKHIR%20SERTIFIKAT ----- %0A Diperlukan, Opsional
Client-Cert Sertifikat daun Client-Cert:: MIIG<... berkurang... >NmrUlw: Passthrough
Client-Cert-Chain Non-leaf rantai sertifikat Client-Cert-Chain:: MIIG<... berkurang... >NmrUlw: Passthrough

Konfigurasikan penerusan header

Konsol

Dalam mode verifikasi, CloudFront secara otomatis menambahkan header CloudFront-Viewer-Cert -* ke semua permintaan penampil. Untuk meneruskan header ini ke asal Anda:

  1. Dari halaman distribusi daftar utama, pilih distribusi Anda dengan mTL penampil diaktifkan dan buka tab Perilaku

  2. Pilih perilaku cache dan pilih Edit

  3. Di bagian Kebijakan permintaan asal, pilih Buat kebijakan atau pilih kebijakan yang ada

  4. Pastikan header berikut disertakan dalam kebijakan permintaan asal:

    • CloudFront-Viewer-Cert-Serial-Number

    • CloudFront-Viewer-Cert-Issuer

    • CloudFront-Viewer-Cert-Subject

    • CloudFront-Viewer-Cert-Present

    • Cloudfront-Viewer-Cert-Sha256

    • CloudFront-Viewer-Cert-Validity

    • CloudFront-Viewer-Cert-Pem

  5. Pilih Buat (untuk kebijakan baru) atau Simpan perubahan (untuk kebijakan yang ada)

  6. Pilih kebijakan dalam perilaku cache Anda dan simpan perubahan

Penggunaan AWS CLI

Contoh berikut menunjukkan cara membuat kebijakan permintaan asal yang menyertakan header mTLS untuk mode verifikasi:

aws cloudfront create-origin-request-policy \ --origin-request-policy-config '{ "Name": "MTLSHeadersPolicy", "HeadersConfig": { "HeaderBehavior": "whitelist", "Headers": { "Quantity": 5, "Items": [ "CloudFront-Viewer-Cert-Serial-Number", "CloudFront-Viewer-Cert-Issuer", "CloudFront-Viewer-Cert-Subject", "CloudFront-Viewer-Cert-Validity", "CloudFront-Viewer-Cert-Pem" ] } }, "CookiesConfig": { "CookieBehavior": "none" }, "QueryStringsConfig": { "QueryStringBehavior": "none" } }'

Pertimbangan pemrosesan header

Saat bekerja dengan header sertifikat, pertimbangkan praktik terbaik ini:

  • Validasi header: Verifikasi nilai header sertifikat di asal Anda sebagai langkah keamanan tambahan

  • Batas ukuran header: Header sertifikat PEM bisa besar, pastikan server asal Anda dapat menanganinya

  • Pertimbangan cache: Menggunakan header sertifikat di kunci cache Anda meningkatkan fragmentasi cache

  • Cross-origin permintaan: Jika aplikasi Anda menggunakan CORS, maka Anda mungkin perlu mengonfigurasinya untuk mengizinkan header sertifikat

Langkah selanjutnya

Setelah mengonfigurasi penerusan header, Anda dapat menerapkan pemeriksaan pencabutan sertifikat menggunakan Fungsi Koneksi dan. CloudFront KeyValueStore Untuk detail tentang penerapan pemeriksaan pencabutan, lihat. Pencabutan sertifikat