SEC01-BP06 Mengotomatiskan penerapan kontrol keamanan standar - AWS Kerangka Well-Architected

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

SEC01-BP06 Mengotomatiskan penerapan kontrol keamanan standar

Terapkan DevOps praktik modern saat Anda mengembangkan dan menerapkan kontrol keamanan yang standar di seluruh AWS lingkungan Anda.  Tentukan kontrol dan konfigurasi keamanan standar menggunakan templat Infrastructure as Code (IAc), tangkap perubahan dalam sistem kontrol versi, uji perubahan sebagai bagian dari pipeline CI/CD, dan otomatiskan penerapan perubahan ke lingkungan Anda. AWS

Hasil yang diinginkan: Template IAC menangkap kontrol keamanan standar dan memasukkannya ke sistem kontrol versi.  Pipeline CI/CD berada di tempat yang mendeteksi perubahan dan mengotomatiskan pengujian dan penerapan lingkungan Anda. AWS  Pagar pembatas diterapkan untuk mendeteksi dan memperingatkan kesalahan konfigurasi dalam templat sebelum melanjutkan ke deployment.  Beban kerja di-deploy ke lingkungan yang menerapkan kontrol standar.  Tim memiliki akses untuk melakukan deployment konfigurasi layanan yang disetujui melalui mekanisme mandiri.  Strategi pencadangan dan pemulihan yang aman diterapkan untuk konfigurasi kontrol, skrip, dan data terkait.

Anti-pola umum:

  • Membuat perubahan pada kontrol keamanan standar Anda secara manual, melalui konsol web atau antarmuka baris perintah.

  • Mengandalkan tim beban kerja individual untuk secara manual mengimplementasikan kontrol yang ditentukan oleh tim pusat.

  • Mengandalkan tim keamanan pusat untuk melakukan deployment kontrol tingkat beban kerja atas permintaan tim beban kerja.

  • Mengizinkan individu atau tim yang sama untuk mengembangkan, menguji, dan melakukan deployment skrip otomatisasi kontrol keamanan tanpa pemisahan tugas atau pemeriksaan dan keseimbangan yang tepat. 

Manfaat menerapkan praktik terbaik ini: Menggunakan templat untuk menentukan kontrol keamanan standar Anda akan memungkinkan Anda untuk melacak dan membandingkan perubahan dari waktu ke waktu dengan menggunakan sistem kontrol versi.  Penggunaan otomatisasi untuk menguji dan melakukan deployment perubahan akan menghasilkan standardisasi dan prediktabilitas, sehingga meningkatkan peluang deployment yang berhasil dan mengurangi tugas manual yang berulang.  Penyediaan mekanisme mandiri bagi tim beban kerja untuk melakukan deployment layanan dan konfigurasi yang disetujui akan mengurangi risiko kesalahan konfigurasi dan kesalahan penggunaan. Hal ini juga membantu mereka memasukkan kontrol lebih awal dalam proses pengembangan.

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

Panduan implementasi

Saat mengikuti praktik yang dijelaskan dalam SEC01-BP01 Beban kerja terpisah menggunakan akun, Anda akan mendapatkan beberapa Akun AWS untuk lingkungan berbeda yang Anda kelola gunakan. AWS Organizations Meskipun masing-masing lingkungan dan beban kerja ini mungkin memerlukan kontrol keamanan yang berbeda, Anda dapat menstandardisasi beberapa kontrol keamanan di seluruh organisasi Anda.  Contohnya termasuk mengintegrasikan penyedia identitas tersentralisasi, menentukan jaringan dan firewall, serta mengonfigurasi lokasi standar untuk menyimpan dan menganalisis log.  Dengan cara yang sama Anda dapat menggunakan infrastruktur sebagai kode (IAc) untuk menerapkan ketelitian pengembangan kode aplikasi yang sama untuk penyediaan infrastruktur, Anda dapat menggunakan IAc untuk menentukan dan menerapkan kontrol keamanan standar Anda juga.

Jika memungkinkan, tentukan kontrol keamanan Anda dengan cara deklaratif, seperti di AWS CloudFormation, dan simpan dalam sistem kontrol sumber.  Gunakan DevOps praktik untuk mengotomatiskan penerapan kontrol Anda untuk rilis yang lebih dapat diprediksi, pengujian otomatis menggunakan alat seperti AWS CloudFormation Guard, dan mendeteksi penyimpangan antara kontrol yang diterapkan dan konfigurasi yang Anda inginkan.  Anda dapat menggunakan layanan seperti AWS CodePipeline, AWS CodeBuild, dan AWS CodeDeploy untuk membangun konsep pipeline CI/CD. Pertimbangkan panduan dalam Mengatur AWS Lingkungan Anda Menggunakan Beberapa Akun untuk mengonfigurasi layanan ini di akun mereka sendiri yang terpisah dari pipeline penerapan lainnya.

Anda juga dapat menentukan template untuk menstandarisasi pendefinisian dan penerapan Akun AWS, layanan, dan konfigurasi.  Teknik ini memungkinkan tim keamanan pusat mengelola penentuan ini dan menyediakannya kepada tim beban kerja melalui pendekatan mandiri.  Salah satu cara untuk mencapai hal ini adalah dengan menggunakan Katalog Layanan, di mana Anda dapat memublikasikan templat sebagai produk yang dapat digabungkan oleh tim beban kerja ke dalam deployment pipeline mereka sendiri.  Jika Anda menggunakan AWS Control Tower, beberapa templat dan kontrol tersedia sebagai titik awal.  Control Tower juga menyediakan kemampuan Account Factory, yang memungkinkan tim beban kerja untuk membuat Akun AWS yang baru menggunakan standar yang Anda tentukan.  Kemampuan ini membantu meniadakan dependensi pada tim pusat untuk menyetujui dan membuat akun baru ketika akun tersebut diperlukan oleh tim beban kerja Anda.  Anda mungkin memerlukan akun ini untuk mengisolasi komponen beban kerja yang berbeda-beda berdasarkan berbagai alasan, seperti fungsi yang diberikan, sensitivitas data yang diproses, atau perilakunya.

Langkah-langkah implementasi

  1. Tentukan cara Anda akan menyimpan dan memelihara templat Anda dalam sebuah sistem kontrol versi.

  2. Buat pipeline CI/CD untuk menguji dan menerapkan templat Anda.  Tentukan pengujian untuk memeriksa adanya kesalahan konfigurasi dan apakah templat tersebut mematuhi standar perusahaan Anda, atau tidak.

  3. Buat katalog templat standar untuk tim beban kerja untuk diterapkan Akun AWS dan layanan sesuai dengan kebutuhan Anda.

  4. Implementasikan strategi pencadangan dan pemulihan yang aman untuk konfigurasi kontrol, skrip, dan data terkait Anda.

Sumber daya

Praktik-praktik terbaik terkait:

Dokumen terkait:

Contoh terkait:

Alat terkait: