Secara otomatis mengenkripsi volume Amazon EBS yang ada dan baru - AWS Prescriptive Guidance

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

Secara otomatis mengenkripsi volume Amazon EBS yang ada dan baru

Tony DeMarco dan Josh Joy, Amazon Web Services

Ringkasan

Enkripsi volume Amazon Elastic Block Store (Amazon EBS) penting untuk strategi perlindungan data organisasi. Ini adalah langkah penting dalam membangun lingkungan yang dirancang dengan baik. Meskipun tidak ada cara langsung untuk mengenkripsi volume atau snapshot EBS yang tidak terenkripsi yang ada, Anda dapat mengenkripsi mereka dengan membuat volume atau snapshot baru. Untuk informasi selengkapnya, lihat Mengenkripsi sumber daya EBS di dokumentasi Amazon EC2 . Pola ini menyediakan kontrol preventif dan detektif untuk mengenkripsi volume EBS Anda, baik yang baru maupun yang sudah ada. Dalam pola ini, Anda mengonfigurasi pengaturan akun, membuat proses remediasi otomatis, dan menerapkan kontrol akses.

Prasyarat dan batasan

Prasyarat

  • Akun Amazon Web Services (AWS) yang aktif

  • AWS Command Line Interface (AWS CLI), diinstal dan dikonfigurasi di macOS, Linux, atau Windows

  • jq, diinstal dan dikonfigurasi di macOS, Linux, atau Windows

  • Izin AWS Identity and Access Management (IAM) disediakan untuk memiliki akses baca dan tulis ke AWS, CloudFormation Amazon Elastic Compute Cloud ( EC2Amazon), AWS Systems Manager, AWS Config, dan AWS Key Management Service (AWS KMS)

  • AWS Organizations dikonfigurasi dengan semua fitur diaktifkan, persyaratan untuk kebijakan kontrol layanan

  • AWS Config diaktifkan di akun target

Batasan

  • Di akun AWS target Anda, tidak boleh ada aturan AWS Config bernama encrypted-volume. Solusi ini menerapkan aturan dengan nama ini. Aturan yang sudah ada sebelumnya dengan nama ini dapat menyebabkan penerapan gagal dan mengakibatkan biaya yang tidak perlu terkait dengan pemrosesan aturan yang sama lebih dari sekali.

  • Solusi ini mengenkripsi semua volume EBS dengan kunci AWS KMS yang sama.

  • Jika Anda mengaktifkan enkripsi volume EBS untuk akun, pengaturan ini khusus Wilayah. Jika Anda mengaktifkannya untuk Wilayah AWS, Anda tidak dapat menonaktifkannya untuk volume atau snapshot individual di Wilayah tersebut. Untuk informasi selengkapnya, lihat Enkripsi secara default di EC2 dokumentasi Amazon.

  • Saat Anda memulihkan volume EBS yang sudah ada dan tidak terenkripsi, pastikan EC2 instans tidak digunakan. Otomatisasi ini mematikan instance untuk melepaskan volume yang tidak terenkripsi dan melampirkan yang terenkripsi. Ada downtime saat remediasi sedang berlangsung. Jika ini adalah bagian penting dari infrastruktur untuk organisasi Anda, pastikan bahwa konfigurasi ketersediaan tinggi manual atau otomatis tersedia agar tidak memengaruhi ketersediaan aplikasi apa pun yang berjalan pada instance. Kami menyarankan Anda memulihkan sumber daya penting hanya selama jendela pemeliharaan standar.

Arsitektur

Alur kerja otomatisasi

Diagram arsitektur tingkat tinggi yang menunjukkan proses dan layanan otomatisasi
  1. AWS Config mendeteksi volume EBS yang tidak terenkripsi.

  2. Administrator menggunakan AWS Config untuk mengirim perintah remediasi ke Systems Manager.

  3. Otomatisasi Systems Manager mengambil snapshot dari volume EBS yang tidak terenkripsi.

  4. Otomatisasi Systems Manager menggunakan AWS KMS untuk membuat salinan snapshot terenkripsi.

  5. Otomatisasi Systems Manager melakukan hal berikut:

    1. Menghentikan EC2 instance yang terpengaruh jika sedang berjalan

    2. Melampirkan salinan volume yang baru dan terenkripsi ke instance EC2

    3. Mengembalikan EC2 instance ke keadaan semula

Alat

Layanan AWS

  • AWS CLI — AWS Command Line Interface (AWS CLI) Command Line Interface (AWS CLI) menyediakan akses langsung ke antarmuka pemrograman aplikasi publik APIs () layanan AWS. Anda dapat menjelajahi kemampuan layanan dengan AWS CLI dan mengembangkan skrip shell untuk mengelola sumber daya Anda. Selain perintah setara API tingkat rendah, beberapa layanan AWS menyediakan penyesuaian untuk AWS CLI. Kustomisasi dapat mencakup perintah tingkat tinggi yang menyederhanakan penggunaan layanan dengan API yang kompleks.

  • AWS CloudFormation — AWS CloudFormation adalah layanan yang membantu Anda memodelkan dan menyiapkan sumber daya AWS Anda. Anda membuat templat yang menjelaskan semua sumber daya AWS yang Anda inginkan (seperti EC2 instans Amazon), serta menyediakan serta CloudFormation mengonfigurasi sumber daya tersebut untuk Anda.

  • AWS Config — AWS Config memberikan tampilan terperinci tentang konfigurasi sumber daya AWS di akun AWS Anda. Ini mencakup bagaimana sumber daya terkait satu sama lain dan bagaimana sumber daya tersebut dikonfigurasi di masa lalu sehingga Anda dapat melihat bagaimana konfigurasi dan hubungan berubah dari waktu ke waktu.

  • Amazon EC2 — Amazon Elastic Compute Cloud (Amazon EC2) adalah layanan web yang menyediakan kapasitas komputasi yang dapat diubah ukurannya yang Anda gunakan untuk membangun dan meng-host sistem perangkat lunak Anda.

  • AWS KMS — AWS Key Management Service (AWS KMS) adalah layanan enkripsi dan manajemen kunci yang diskalakan untuk cloud. Kunci dan fungsionalitas AWS KMS digunakan oleh layanan AWS lainnya, dan Anda dapat menggunakannya untuk melindungi data di lingkungan AWS Anda.

  • AWS Organizations — AWS Organizations adalah layanan manajemen akun yang memungkinkan Anda mengkonsolidasikan beberapa akun AWS ke dalam organisasi yang Anda buat dan kelola secara terpusat.

  • AWS Systems Manager Automation — Systems Manager Automation menyederhanakan tugas pemeliharaan dan penerapan umum untuk EC2 instans Amazon dan sumber daya AWS lainnya.

Layanan lainnya

  • jq - jq adalah prosesor JSON command-line yang ringan dan fleksibel. Anda menggunakan alat ini untuk mengekstrak informasi kunci dari output AWS CLI.

Kode

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Unduh skrip dan CloudFormation templat.

Unduh skrip shell, file JSON, dan CloudFormation templat dari Volume EBS yang tidak terenkripsi GitHub secara otomatis menggunakan repositori kunci KMS pelanggan.

Administrator AWS, AWS Umum

Identifikasi administrator untuk kunci AWS KMS.

  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Identifikasi pengguna atau peran yang akan menjadi administrator kunci AWS KMS. Jika pengguna atau peran baru perlu dibuat untuk tujuan ini, buat sekarang. Untuk informasi selengkapnya, lihat Identitas IAM dalam dokumentasi IAM. Otomatisasi ini membuat kunci AWS KMS baru.

  3. Setelah diidentifikasi, salin Nama Sumber Daya Amazon (ARN) pengguna atau peran. Untuk informasi selengkapnya, lihat IAM ARNs dalam dokumentasi IAM. Anda menggunakan ARN ini di langkah berikutnya.

Administrator AWS, AWS Umum

Menyebarkan template Stack1 CloudFormation .

  1. Buka CloudFormation konsol AWS di https://console.aws.amazon.com/cloudformation/.

  2. Di CloudFormation, gunakan Stack1.yaml template. Perhatikan detail penerapan berikut:

    • Berikan tumpukan nama yang jelas dan deskriptif. Perhatikan nama tumpukan karena Anda memerlukan nilai ini di langkah berikutnya.

    • Tempelkan ARN administrator kunci ke satu-satunya bidang parameter di Stack1. Pengguna atau peran ini menjadi administrator untuk kunci AWS KMS yang dibuat oleh tumpukan.

Untuk informasi selengkapnya tentang penerapan CloudFormation templat, lihat Bekerja dengan CloudFormation templat AWS dalam CloudFormation dokumentasi.

Administrator AWS, AWS Umum

Menyebarkan template Stack2 CloudFormation .

Di CloudFormation, gunakan Stack2.yaml template. Perhatikan detail penerapan berikut:

  • Berikan tumpukan nama yang jelas dan deskriptif.

  • Untuk satu-satunya parameter Stack2, masukkan nama tumpukan yang Anda buat pada langkah sebelumnya. Ini memungkinkan Stack2 untuk mereferensikan kunci dan peran AWS KMS baru yang digunakan oleh tumpukan pada langkah sebelumnya.

Administrator AWS, AWS Umum

Buat volume yang tidak terenkripsi untuk pengujian.

Buat EC2 instance dengan volume EBS yang tidak terenkripsi. Untuk petunjuknya, lihat Membuat volume Amazon EBS di EC2 dokumentasi Amazon. Jenis instance tidak masalah, dan akses ke instance tidak diperlukan. Anda dapat membuat instance t2.micro untuk tetap berada di tingkat gratis, dan Anda tidak perlu membuat key pair.

Administrator AWS, AWS Umum

Uji aturan AWS Config.

  1. Buka konsol AWS Config di. https://console.aws.amazon.com/config/ Pada halaman Aturan, pilih aturan volume terenkripsi.

  2. Konfirmasikan bahwa instance pengujian baru yang tidak terenkripsi muncul di daftar sumber daya yang tidak sesuai. Jika volume tidak segera muncul, tunggu beberapa menit dan segarkan hasilnya. Aturan AWS Config mendeteksi perubahan sumber daya segera setelah instance dan volume dibuat.

  3. Pilih sumber daya, lalu pilih Remediate.

Anda dapat melihat kemajuan dan status remediasi di Systems Manager sebagai berikut:

  1. Buka konsol AWS Systems Manager di https://console.aws.amazon.com/systems-manager/.

  2. Pada panel navigasi, pilih Otomatisasi.

  3. Pilih tautan ID Eksekusi untuk melihat langkah-langkah dan statusnya. 

Administrator AWS, AWS Umum

Konfigurasikan akun tambahan atau Wilayah AWS.

Jika diperlukan untuk kasus penggunaan Anda, ulangi epik ini untuk akun tambahan atau Wilayah AWS.

Administrator AWS, AWS Umum
TugasDeskripsiKeterampilan yang dibutuhkan

Jalankan skrip aktifkan.

  1. Dalam bash shell, gunakan cd perintah untuk menavigasi ke repositori kloning.

  2. Masukkan perintah berikut untuk menjalankan enable-ebs-encryption-for-account skrip.

    ./Bash/enable-ebs-encryption-for-account.sh
Administrator AWS, AWS Umum, bash

Konfirmasikan pengaturan diperbarui.

  1. Buka EC2 konsol Amazon di https://console.aws.amazon.com/ec2/.

  2. Di sisi kanan layar, di bawah Pengaturan, pilih Perlindungan dan keamanan data.

  3. Di bawah bagian enkripsi EBS, konfirmasikan bahwa Selalu enkripsi volume EBS baru diaktifkan dan bahwa kunci enkripsi Default diatur ke ARN yang Anda tentukan sebelumnya.

    catatan

    Jika pengaturan Always encrypt new EBS volume dimatikan atau kunci masih disetel alias/aws/ebs, konfirmasikan bahwa Anda masuk ke akun yang sama dan Wilayah AWS tempat Anda menjalankan skrip shell, dan periksa shell Anda untuk pesan kesalahan.

Administrator AWS, AWS Umum

Konfigurasikan akun tambahan atau Wilayah AWS.

Jika diperlukan untuk kasus penggunaan Anda, ulangi epik ini untuk akun tambahan atau Wilayah AWS.

Administrator AWS, AWS Umum
TugasDeskripsiKeterampilan yang dibutuhkan

Buat kebijakan kontrol layanan.

  1. Buka konsol AWS Organizations di https://console.aws.amazon.com/organizations/v2/.

  2. Buat kebijakan kontrol layanan baru. Untuk informasi selengkapnya, lihat Membuat kebijakan kontrol layanan di dokumentasi AWS Organizations.

  3. Tambahkan konten DenyUnencryptedEC2.json ke kebijakan dan simpan. Anda mengunduh file JSON ini dari GitHub repositori di epik pertama.

  4. Lampirkan kebijakan ini ke akar organisasi atau unit organisasi yang diperlukan (OUs). Untuk informasi selengkapnya, lihat Melampirkan dan melepaskan kebijakan kontrol layanan dalam dokumentasi AWS Organizations.

Administrator AWS, AWS Umum

Sumber daya terkait

Dokumentasi layanan AWS

Sumber daya lainnya