SEC08-BP01 Mengimplementasikan manajemen kunci yang aman - Kerangka Kerja AWS Well-Architected

SEC08-BP01 Mengimplementasikan manajemen kunci yang aman

Manajemen kunci yang aman mencakup penyimpanan, rotasi, kontrol akses, dan pemantauan materi kunci yang diperlukan untuk mengamankan data diam untuk beban kerja Anda.

Hasil yang diinginkan: Mekanisme manajemen kunci yang dapat diskalakan, dapat diulang, dan dapat diotomatiskan. Mekanisme ini harus memberikan kemampuan untuk menerapkan hak akses paling rendah ke materi kunci dan memberikan keseimbangan yang tepat antara ketersediaan, kerahasiaan, dan integritas kunci. Akses ke kunci harus dipantau, dan materi kunci dirotasi melalui sebuah proses otomatis. Materi kunci tidak boleh diakses oleh identitas manusia.

Anti-pola umum:

  • Akses manusia ke materi kunci yang tidak dienkripsi.

  • Membuat algoritma kriptografi kustom.

  • Izin yang terlalu luas untuk mengakses materi kunci.

Manfaat menerapkan praktik terbaik ini: Dengan membuat mekanisme manajemen kunci yang aman untuk beban kerja Anda, Anda dapat membantu memberikan perlindungan untuk konten Anda dari akses yang tidak sah. Selain itu, Anda mungkin harus mematuhi persyaratan-persyaratan berdasarkan peraturan untuk mengenkripsi data Anda. Solusi manajemen kunci yang efektif dapat memberikan mekanisme-mekanisme teknis yang selaras dengan peraturan tersebut untuk melindungi materi kunci.

Tingkat risiko yang terjadi jika praktik terbaik ini tidak diterapkan: Tinggi

Panduan implementasi

Banyak persyaratan-persyaratan berdasarkan peraturan dan praktik terbaik yang menyertakan enkripsi data diam sebagai kontrol keamanan mendasar. Untuk mematuhi kontrol ini, beban kerja Anda memerlukan sebuah mekanisme untuk menyimpan dan mengelola materi kunci yang digunakan untuk mengenkripsi data diam Anda.

AWS menawarkan AWS Key Management Service (AWS KMS) untuk menyediakan penyimpanan yang tahan lama, aman, dan redundan untuk kunci AWS KMS. Banyak layanan AWS diintegrasikan dengan AWS KMS untuk mendukung enkripsi data Anda. AWS KMS menggunakan modul keamanan perangkat keras yang divalidasi FIPS 140-2 Level 3 untuk melindungi kunci Anda. Tidak ada mekanisme untuk mengekspor kunci AWS KMS ke dalam bentuk teks biasa.

Saat men-deploy beban kerja menggunakan strategi multi-akun, langkah ini dianggap sebagai praktik terbaik untuk menyimpan kunci AWS KMS di akun yang sama dengan beban kerja yang menggunakannya. Dalam model terdistribusi ini, tanggung jawab untuk mengelola kunci AWS KMS diemban oleh tim aplikasi. Dalam kasus penggunaan lainnya, organisasi dapat memilih untuk menyimpan kunci AWS KMS ke dalam sebuah akun tersentralisasi. Struktur tersentralisasi ini memerlukan kebijakan tambahan untuk mengaktifkan akses lintas akun yang diperlukan agar akun beban kerja dapat mengakses kunci yang disimpan di akun tersentralisasi tersebut, tetapi mungkin lebih ideal untuk kasus penggunaan di mana satu kunci digunakan bersama-sama di beberapa Akun AWS.

Terlepas dari lokasi penyimpanan materi kunci, akses ke kunci harus dikontrol dengan ketat melalui penggunaan kebijakan kunci dan kebijakan IAM. Kebijakan kunci adalah cara utama untuk mengontrol akses ke sebuah kunci AWS KMS. Selain itu, pemberian kunci AWS KMS dapat memberikan akses ke layanan AWS untuk mengenkripsi dan mendekripsi data atas nama Anda. Luangkan waktu untuk meninjau praktik terbaik untuk kontrol akses ke kunci AWS KMS Anda.

Salah satu praktik terbaik yang bisa diterapkan adalah memantau penggunaan kunci enkripsi untuk mendeteksi pola-pola akses yang tidak biasa. Operasi-operasi yang dijalankan menggunakan kunci terkelola AWS dan kunci terkola pelanggan yang disimpan AWS KMS dapat dicatat log-nya di AWS CloudTrail dan harus ditinjau secara berkala. Perhatian khusus harus diberikan pada pemantauan peristiwa-peristiwa penghancuran kunci. Untuk mengurangi penghancuran materi kunci yang tidak disengaja atau berbahaya, peristiwa penghancuran kunci tidak akan langsung menghapus materi kunci tersebut. Upaya untuk menghapus kunci yang ada di AWS KMS tunduk pada periode tunggu, yang secara default diatur 30 hari, sehingga memberikan waktu kepada administrator untuk meninjau tindakan ini dan membatalkan permintaan jika perlu.

Sebagian besar layanan AWS menggunakan AWS KMS secara transparan bagi Anda - satu-satunya persyaratan Anda adalah memutuskan apakah akan menggunakan kunci terkelola AWS atau yang dikelola pelanggan. Jika beban kerja Anda memerlukan penggunaan langsung AWS KMS untuk mengenkripsi atau mendekripsi data, praktik terbaiknya adalah menggunakan enkripsi amplop untuk memproteksi data Anda. SDK Enkripsi AWS dapat menyediakan primitif enkripsi di sisi klien untuk aplikasi Anda untuk mengimplementasikan enkripsi amplop dan mengintegrasikannya dengan AWS KMS.

Langkah-langkah implementasi

  1. Tentukan opsi manajemen kunci yang sesuai (dikelola AWS atau dikelola pelanggan) untuk kunci tersebut.

    • Untuk memudahkan penggunaan, AWS menawarkan kunci yang dimiliki AWS dan kunci terkelola AWS untuk sebagian besar layanan, yang menyediakan kemampuan enkripsi data diam tanpa perlu mengelola materi kunci atau kebijakan kunci.

    • Saat menggunakan kunci yang dikelola oleh pelanggan, pertimbangkan penyimpanan kunci default untuk memberikan keseimbangan terbaik antara ketangkasan, keamanan, kedaulatan data, dan ketersediaan. Kasus-kasus penggunaan lain mungkin memerlukan penggunaan penyimpanan kunci kustom dengan AWS CloudHSM atau penyimpanan kunci eksternal.

  2. Tinjau daftar layanan yang sedang Anda gunakan untuk beban kerja Anda untuk memahami bagaimana AWS KMS terintegrasi dengan layanan tersebut. Misalnya, instans EC2 dapat menggunakan volume EBS terenkripsi, yang memverifikasi bahwa snapshot Amazon EBS yang dibuat dari volume tersebut juga dienkripsi menggunakan kunci yang dikelola pelanggan dan mengurangi pengungkapan data snapshot yang tidak terenkripsi secara tidak disengaja.

    • Cara layanan AWS menggunakan AWS KMS

    • Untuk informasi mendetail tentang berbagai opsi enkripsi yang ditawarkan oleh layanan AWS, lihat topik Enkripsi Saat Diam dalam panduan pengguna atau panduan pengembang untuk layanan tersebut.

  3. Implementasikan AWS KMS: AWS KMS memudahkan Anda untuk membuat dan mengelola kunci serta mengontrol penggunaan enkripsi di berbagai layanan AWS dan di dalam aplikasi Anda.

  4. Pertimbangkan AWS Encryption SDK: Gunakan AWS Encryption SDK dengan integrasi AWS KMS ketika aplikasi Anda harus mengenkripsi data di sisi klien.

  5. Aktifkan IAM Access Analyzer agar secara otomatis meninjau dan memberi tahu jika ada kebijakan kunci AWS KMS yang terlalu luas.

  6. Aktifkan Security Hub agar menerima notifikasi jika ada kebijakan kunci yang salah konfigurasi, kunci yang dijadwalkan untuk dihapus, atau kunci tanpa pengaktifan rotasi otomatis.

  7. Tentukan tingkat pencatatan log yang sesuai untuk kunci AWS KMS Anda. Karena panggilan ke AWS KMS, termasuk peristiwa hanya-baca, dicatat ke log, jumlah log CloudTrail yang terkait dengan AWS KMS bisa jadi sangat banyak.

Sumber daya

Dokumen terkait:

Video terkait:

Contoh terkait: