Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Periksa CloudFront distribusi Amazon untuk log akses, HTTPS, dan versi TLS
SaiJeevan Devireddy dan Bijesh Bal, Amazon Web Services
Ringkasan
Pola ini memeriksa CloudFront distribusi Amazon untuk memastikan bahwa ia menggunakan HTTPS, menggunakan Transport Layer Security (TLS) versi 1.2 atau yang lebih baru, dan memiliki akses logging diaktifkan. CloudFront adalah layanan yang disediakan oleh Amazon Web Services (AWS) yang mempercepat distribusi konten web statis dan dinamis Anda, seperti.html, .css, .js, dan file gambar, kepada pengguna Anda. CloudFront mengirimkan konten Anda melalui jaringan pusat data di seluruh dunia yang disebut lokasi tepi. Saat pengguna meminta konten yang Anda sajikan CloudFront, permintaan akan diarahkan ke lokasi tepi yang memberikan latensi terendah (penundaan waktu), sehingga konten dikirimkan dengan performa terbaik.
Pola ini menyediakan fungsi AWS Lambda yang dimulai saat Amazon CloudWatch Events mendeteksi panggilan CloudFront CreateDistributionAPI,, atau. CreateDistributionWithTagsUpdateDistribution Logika kustom dalam fungsi Lambda mengevaluasi semua CloudFront distribusi yang dibuat atau diperbarui di akun AWS. Ini mengirimkan pemberitahuan pelanggaran dengan menggunakan Amazon Simple Notification Service (Amazon SNS) jika mendeteksi pelanggaran berikut:
Pemeriksaan global:
Sertifikat khusus tidak menggunakan TLS versi 1.2
Logging dinonaktifkan untuk distribusi
Cek asal:
Origin tidak dikonfigurasi dengan TLS versi 1.2
Komunikasi dengan asal diperbolehkan pada protokol selain HTTPS
Pemeriksaan perilaku:
Komunikasi perilaku default diperbolehkan pada protokol selain HTTPS
Komunikasi perilaku khusus diizinkan pada protokol selain HTTPS
Prasyarat dan batasan
Prasyarat
Akun AWS yang aktif
Alamat email tempat Anda ingin menerima pemberitahuan pelanggaran
Batasan
Kontrol keamanan ini tidak memeriksa distribusi Cloudfront yang ada kecuali pembaruan telah dilakukan untuk distribusi.
CloudFront dianggap sebagai layanan global dan tidak terikat dengan Wilayah AWS tertentu. Namun, Amazon CloudWatch Logs dan AWS Cloudtrail API logging untuk layanan global terjadi di Wilayah AS Timur (Virginia N.).
us-east-1Oleh karena itu, kontrol keamanan untuk ini CloudFront harus digunakan dan dipelihara dius-east-1. Penerapan tunggal ini memantau semua distribusi untuk. CloudFront Jangan menerapkan kontrol keamanan di Wilayah AWS lainnya. (Penerapan di Wilayah lain akan mengakibatkan kegagalan untuk memulai CloudWatch Acara dan fungsi Lambda, dan tidak ada pemberitahuan SNS.)Solusi ini telah melalui pengujian ekstensif dengan distribusi konten CloudFront web. Ini tidak mencakup distribusi streaming real-time messaging protocol (RTMP).
Arsitektur
Tumpukan teknologi target
Fungsi Lambda
Topik SNS
EventBridge Aturan Amazon
Arsitektur target

Otomatisasi dan skala
Jika Anda menggunakan AWS Organizations, Anda dapat menggunakan AWS Cloudformation StackSets untuk menerapkan template terlampir di beberapa akun yang ingin Anda pantau.
Alat
Layanan AWS
AWS CloudFormation — CloudFormation adalah layanan yang membantu Anda memodelkan dan menyiapkan sumber daya AWS dengan menggunakan infrastruktur sebagai kode.
Amazon EventBridge — EventBridge menghadirkan aliran data real-time dari aplikasi Anda sendiri, aplikasi perangkat lunak sebagai layanan (SaaS), dan layanan AWS, merutekan data tersebut ke target seperti fungsi Lambda.
AWS Lambda — Lambda mendukung menjalankan kode tanpa menyediakan atau mengelola server.
Amazon S3 - Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek yang sangat skalabel yang dapat digunakan untuk berbagai solusi penyimpanan, termasuk situs web, aplikasi seluler, cadangan, dan danau data.
Amazon SNS — Amazon SNS mengkoordinasikan dan mengelola pengiriman atau pengiriman pesan antara penerbit dan klien, termasuk server web dan alamat email. Pelanggan menerima semua pesan yang dipublikasikan ke topik tempat mereka berlangganan, dan semua pelanggan topik menerima pesan yang sama.
Kode
Kode terlampir meliputi:
File zip yang berisi kode Lambda (index.py)
CloudFormation Template (file.yl) yang Anda jalankan untuk menyebarkan kode Lambda
Epik
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
| Buat bucket S3 untuk kode Lambda. | Di konsol Amazon S3, buat bucket S3 dengan nama unik yang tidak mengandung garis miring di depan. Nama bucket S3 unik secara global, dan namespace dibagikan oleh semua akun AWS. Bucket S3 Anda harus berada di Wilayah tempat Anda berencana untuk menerapkan kode Lambda. | Arsitek awan |
| Unggah kode Lambda ke bucket S3. | Unggah kode Lambda (file cloudfront_ssl_log_lambda.zip) yang disediakan di bagian Lampiran ke bucket S3 yang Anda buat di langkah sebelumnya. | Arsitek awan |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
| Menyebarkan CloudFormation template. | Di CloudFormation konsol AWS, di Wilayah AWS yang sama dengan bucket S3, terapkan CloudFormation template (cloudfront-ssl-logging.yl) yang disediakan di bagian Lampiran. | Arsitek awan |
| Tentukan nama bucket S3. | Untuk parameter S3 Bucket, tentukan nama bucket S3 yang Anda buat di epik pertama. | Arsitek awan |
| Tentukan nama kunci Amazon S3 untuk file Lambda. | Untuk parameter Kunci S3, tentukan lokasi Amazon S3 dari file kode Lambda .zip di bucket S3 Anda. Jangan sertakan garis miring utama (misalnya, Anda dapat memasukkan lambda.zip atau controls/lambda.zip). | Arsitek awan |
| Berikan alamat email notifikasi. | Untuk parameter email Pemberitahuan, berikan alamat email tempat Anda ingin menerima pemberitahuan pelanggaran. | Arsitek awan |
| Tentukan tingkat logging. | Untuk parameter level Lambda Logging, tentukan level logging untuk fungsi Lambda Anda. Pilih salah satu nilai berikut:
| Arsitek awan |
| Tugas | Deskripsi | Keterampilan yang dibutuhkan |
|---|---|---|
| Konfirmasi langganan. | Ketika CloudFormation template telah berhasil digunakan, topik SNS baru dibuat dan pesan berlangganan dikirim ke alamat email yang Anda berikan. Anda harus mengonfirmasi langganan email ini untuk menerima pemberitahuan pelanggaran. | Arsitek awan |
Sumber daya terkait
Membuat tumpukan di CloudFormation konsol AWS (CloudFormation dokumentasi)
CloudFront pencatatan (CloudFront dokumentasi)
Lampiran
Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip