Kontrol Keamanan: Keamanan DevOps

Keamanan DevOps mencakup kontrol yang terkait dengan rekayasa keamanan dan operasi dalam proses DevOps, termasuk penerapan pemeriksaan keamanan penting (seperti pengujian keamanan aplikasi statis, manajemen kerentanan) sebelum fase penerapan untuk memastikan keamanan selama proses DevOps; itu juga mencakup topik umum seperti pemodelan ancaman dan keamanan pasokan perangkat lunak.

DS-1: Menjalankan pemodelan ancaman

ID CIS Controls v8 NIST SP 800-53 r4 ID(s) ID PCI-DSS v3.2.1
16.10, 16.14 SA-15 6.5, 12.2

Prinsip keamanan: Lakukan pemodelan ancaman untuk mengidentifikasi potensi ancaman dan menghitung kontrol mitigasi. Pastikan pemodelan ancaman Anda melayani tujuan berikut:

  • Amankan aplikasi dan layanan Anda dalam tahap runtime produksi.
  • Amankan artefak, alur CI/CD yang mendasarinya, dan lingkungan alat lainnya yang digunakan untuk build, uji, dan penyebaran. Pemodelan ancaman setidaknya harus mencakup aspek berikut:
  • Tentukan persyaratan keamanan aplikasi. Pastikan persyaratan ini ditangani secara memadai dalam pemodelan ancaman.
  • Analisis komponen aplikasi dan koneksi serta hubungannya. Pastikan analisis ini juga mencakup koneksi upstram dan downstream di luar cakupan aplikasi Anda.
  • Cantumkan potensi ancaman dan vektor serangan tempat komponen aplikasi Anda, koneksi data, dan layanan upstram dan downstream mungkin terekspos.
  • Identifikasi kontrol keamanan yang berlaku yang dapat digunakan untuk mengurangi ancaman yang disebutkan dan mengidentifikasi celah kontrol (misalnya, kerentanan keamanan) yang mungkin memerlukan rencana perawatan tambahan.
  • Hitung dan rancang kontrol yang dapat mengurangi kerentanan yang diidentifikasi.

Panduan Azure: Gunakan alat pemodelan ancaman seperti alat pemodelan ancaman Microsoft dengan templat model ancaman Azure yang disematkan untuk mendorong proses pemodelan ancaman Anda. Gunakan model STRIDE untuk menghitung ancaman dari internal dan eksternal dan mengidentifikasi kontrol yang berlaku. Pastikan proses pemodelan ancaman mencakup skenario ancaman dalam proses DevOps, seperti injeksi kode berbahaya melalui repositori artefak yang tidak aman dengan kebijakan kontrol akses yang salah dikonfigurasi.

Jika menggunakan alat pemodelan ancaman tidak berlaku, Anda setidaknya harus menggunakan proses pemodelan ancaman berbasis kuesioner untuk mengidentifikasi ancaman.

Pastikan pemodelan ancaman atau hasil analisis dicatat dan diperbarui saat ada perubahan dampak keamanan utama dalam aplikasi Anda atau dalam lanskap ancaman.

Implementasi Azure dan konteks tambahan:


Panduan AWS: Gunakan alat pemodelan ancaman seperti alat pemodelan ancaman Microsoft dengan templat model ancaman Azure yang disematkan untuk mendorong proses pemodelan ancaman Anda. Gunakan model STRIDE untuk menghitung ancaman dari internal dan eksternal dan mengidentifikasi kontrol yang berlaku. Pastikan proses pemodelan ancaman mencakup skenario ancaman dalam proses DevOps, seperti injeksi kode berbahaya melalui repositori artefak yang tidak aman dengan kebijakan kontrol akses yang salah dikonfigurasi.

Jika menggunakan alat pemodelan ancaman tidak berlaku, Anda setidaknya harus menggunakan proses pemodelan ancaman berbasis kuesioner untuk mengidentifikasi ancaman.

Pastikan pemodelan ancaman atau hasil analisis dicatat dan diperbarui saat ada perubahan dampak keamanan utama dalam aplikasi Anda atau dalam lanskap ancaman.

Implementasi AWS dan konteks tambahan:


Panduan GCP: Gunakan alat pemodelan ancaman seperti alat pemodelan ancaman Microsoft dengan templat model ancaman Azure yang disematkan untuk mendorong proses pemodelan ancaman Anda. Gunakan model STRIDE untuk menghitung ancaman dari internal dan eksternal dan mengidentifikasi kontrol yang berlaku. Pastikan proses pemodelan ancaman mencakup skenario ancaman dalam proses DevOps, seperti injeksi kode berbahaya melalui repositori artefak yang tidak aman dengan kebijakan kontrol akses yang salah dikonfigurasi.

Jika menggunakan alat pemodelan ancaman tidak berlaku, Anda setidaknya harus menggunakan proses pemodelan ancaman berbasis kuesioner untuk mengidentifikasi ancaman.

Pastikan pemodelan ancaman atau hasil analisis dicatat dan diperbarui saat ada perubahan dampak keamanan utama dalam aplikasi Anda atau dalam lanskap ancaman.

Implementasi GCP dan konteks tambahan:


Pemangku kepentingan keamanan pelanggan (Pelajari selengkapnya):

DS-2: Memastikan keamanan rantai pasokan perangkat lunak

ID CIS Controls v8 NIST SP 800-53 r4 ID(s) ID PCI-DSS v3.2.1
16.4, 16.6, 16.11 SA-12, SA-15 6.3, 6.5

Prinsip keamanan: Pastikan SDLC (Siklus Hidup Pengembangan Perangkat Lunak) perusahaan Anda menyertakan serangkaian kontrol keamanan untuk mengatur komponen perangkat lunak internal dan pihak ketiga (termasuk perangkat lunak kepemilikan dan sumber terbuka) tempat aplikasi Anda memiliki dependensi. Tentukan kriteria pembatasan untuk mencegah komponen yang rentan atau berbahaya diintegrasikan dan digunakan ke lingkungan.

Kontrol keamanan rantai pasokan perangkat lunak setidaknya harus mencakup aspek-aspek berikut:

  • Kelola Tagihan Materi Perangkat Lunak (SBOM) dengan benar dengan mengidentifikasi dependensi hulu yang diperlukan untuk fase pengembangan layanan/sumber daya, build, integrasi, dan penyebaran.
  • Inventariskan dan lacak komponen perangkat lunak internal dan pihak ketiga untuk mengetahui kerentanan umum ketika ada perbaikan yang tersedia di upstram.
  • Nilai kerentanan dan malware dalam komponen perangkat lunak menggunakan pengujian aplikasi statis dan dinamis untuk kerentanan yang tidak diketahui.
  • Pastikan kerentanan dan malware dikurangi menggunakan pendekatan yang tepat. Ini mungkin termasuk kode sumber perbaikan lokal atau upstram, pengecualian fitur dan/atau menerapkan kontrol kompensasi jika mitigasi langsung tidak tersedia.

Jika komponen pihak ketiga sumber tertutup digunakan di lingkungan produksi Anda, Anda mungkin memiliki visibilitas terbatas pada postur keamanannya. Anda harus mempertimbangkan kontrol tambahan seperti kontrol akses, isolasi jaringan, dan keamanan titik akhir untuk meminimalkan dampak jika ada aktivitas berbahaya atau kerentanan yang terkait dengan komponen.


Panduan Azure: Untuk platform GitHub, pastikan keamanan rantai pasokan perangkat lunak melalui kemampuan atau alat berikut dari fitur asli GitHub Advanced Security atau GitHub:- Gunakan Grafik Dependensi untuk memindai, menginventaris, dan mengidentifikasi semua dependensi dan kerentanan terkait proyek Anda melalui Database Penasihat.

  • Gunakan Dependabot untuk memastikan bahwa dependensi yang rentan dilacak dan diperbaiki, dan pastikan repositori Anda secara otomatis mengikuti rilis terbaru dari paket dan aplikasi yang bergantung padanya.
  • Gunakan kemampuan pemindaian kode asli GitHub untuk memindai kode sumber saat sumber kode secara eksternal.
  • Gunakan Microsoft Defender untuk Cloud untuk mengintegrasikan penilaian kerentanan untuk gambar kontainer Anda di alur kerja CI/CD. Untuk Azure DevOps, Anda dapat menggunakan ekstensi pihak ketiga untuk menerapkan kontrol serupa untuk menginventarisasi, menganalisis, dan memulihkan komponen perangkat lunak pihak ketiga dan kerentanannya.

Implementasi Azure dan konteks tambahan:


Panduan AWS: Jika Anda menggunakan platform AWS CI/CD seperti CodeCommit atau CodePipeline, pastikan keamanan rantai pasokan perangkat lunak menggunakan CodeGuru Reviewer untuk memindai kode sumber (untuk Java dan Python) melalui alur kerja CI/CD. Platform seperti CodeCommit dan CodePipeline juga mendukung ekstensi pihak ketiga untuk menerapkan kontrol serupa pada inventaris, menganalisis, dan memulihkan komponen perangkat lunak pihak ketiga dan kerentanannya.

Jika Anda mengelola kode sumber melalui platform GitHub, pastikan keamanan rantai pasokan perangkat lunak melalui kemampuan atau alat berikut dari GitHub Advanced Security atau fitur asli GitHub:

  • Gunakan Grafik Dependensi untuk memindai, menginventarisasi, dan mengidentifikasi semua dependensi proyek Anda dan kerentanan terkait melalui Database Penasihat.
  • Gunakan Dependabot untuk memastikan bahwa dependensi yang rentan dilacak dan diperbaiki, dan pastikan repositori Anda secara otomatis mengikuti rilis terbaru dari paket dan aplikasi yang bergantung padanya.
  • Gunakan kemampuan pemindaian kode asli GitHub untuk memindai kode sumber saat sumber kode secara eksternal.
  • Jika berlaku, gunakan Microsoft Defender untuk Cloud guna mengintegrasikan penilaian kerentanan untuk gambar kontainer Anda di alur kerja CI/CD.

Implementasi AWS dan konteks tambahan:


Panduan GCP: Gunakan Software Delivery Shield untuk melakukan analisis keamanan rantai pasokan perangkat lunak end-to-end. Ini termasuk layanan Assured OSS (Perangkat Lunak Sumber Terbuka) untuk akses dan menggabungkan paket OSS yang telah diverifikasi dan diuji oleh Google, serta paket Java dan Python yang divalidasi yang dibangun menggunakan alur aman Google. Paket-paket ini dipindai, dianalisis, dan diuji secara teratur untuk kerentanan. Kemampuan tersebut dapat diintegrasikan ke dalam Google Cloud Build, Cloud Deploy, Artefak Registri, Analisis Artefak sebagai bagian dari alur kerja CI/CD.

Jika Anda mengelola kode sumber melalui platform GitHub, pastikan keamanan rantai pasokan perangkat lunak melalui kemampuan atau alat berikut dari GitHub Advanced Security atau fitur asli GitHub:

  • Gunakan Grafik Dependensi untuk memindai, menginventarisasi, dan mengidentifikasi semua dependensi proyek Anda dan kerentanan terkait melalui Database Penasihat.
  • Gunakan Dependabot untuk memastikan bahwa dependensi yang rentan dilacak dan diperbaiki, dan pastikan repositori Anda secara otomatis mengikuti rilis terbaru dari paket dan aplikasi yang bergantung padanya.
  • Gunakan kemampuan pemindaian kode asli GitHub untuk memindai kode sumber saat sumber kode secara eksternal.
  • Jika berlaku, gunakan Microsoft Defender untuk Cloud guna mengintegrasikan penilaian kerentanan untuk gambar kontainer Anda di alur kerja CI/CD.

Implementasi GCP dan konteks tambahan:


Pemangku kepentingan keamanan pelanggan (Pelajari selengkapnya):

DS-3: Infrastruktur DevOps yang Aman

ID CIS Controls v8 NIST SP 800-53 r4 ID(s) ID PCI-DSS v3.2.1
16.7 CM-2, CM-6, AC-2, AC-3, AC-6 2.2, 6.3, 7.1

Prinsip keamanan: Pastikan infrastruktur dan alur DevOps mengikuti praktik terbaik keamanan di seluruh lingkungan termasuk tahap build, pengujian, dan produksi Anda. Ini biasanya mencakup kontrol keamanan untuk cakupan berikut:

  • Repositori artefak yang menyimpan kode sumber, paket dan gambar yang dibuat, artefak proyek, dan data bisnis.
  • Server, layanan, dan alat yang menghosting alur CI/CD.
  • Konfigurasi alur CI/CD.

Panduan Azure: Sebagai bagian dari penerapan Tolok Ukur Keamanan Microsoft Cloud ke kontrol keamanan infrastruktur DevOps Anda, prioritaskan kontrol berikut:

  • Lindungi artefak dan lingkungan yang mendasarinya untuk memastikan alur CI/CD tidak menjadi jalan untuk memasukkan kode berbahaya. Misalnya, tinjau alur CI/CD Anda untuk mengidentifikasi kesalahan konfigurasi di area inti Azure DevOps seperti Organisasi, Proyek, Pengguna, Alur (Build & Release), Connections, dan Build Agent untuk mengidentifikasi kesalahan konfigurasi seperti akses terbuka, autentikasi lemah, penyiapan koneksi yang tidak aman, dan sebagainya. Untuk GitHub, gunakan kontrol serupa untuk mengamankan tingkat izin Organisasi.
  • Pastikan infrastruktur DevOps Anda disebarkan secara konsisten di seluruh proyek pengembangan. Lacak kepatuhan infrastruktur DevOps Anda dalam skala besar dengan menggunakan Microsoft Defender untuk Cloud (seperti Dasbor Kepatuhan, Azure Policy, Manajemen Postur Cloud) atau alat pemantauan kepatuhan Anda sendiri.
  • Konfigurasi izin identitas/peran, dan kebijakan hak di Azure AD, layanan native, dan alat CI/CD di alur Anda untuk memastikan perubahan pada alur diotorisasi.
  • Hindari menyediakan akses istimewa "berdiri" permanen ke akun manusia seperti pengembang atau penguji dengan menggunakan fitur seperti identifikasi terkelola Azure dan akses just-in-time.
  • Hapus kunci, kredensial, dan rahasia dari kode dan skrip yang digunakan dalam pekerjaan alur kerja CI/CD dan simpan di penyimpanan kunci atau Azure Key Vault.
  • Jika Anda menjalankan agen build/penyebaran yang dihost sendiri, ikuti kontrol Tolok Ukur Keamanan Microsoft Cloud termasuk keamanan jaringan, manajemen postur dan kerentanan, dan keamanan titik akhir untuk mengamankan lingkungan Anda.

Catatan: Lihat bagian Pengelogan dan Deteksi Ancaman, DS-7, dan Bagian Manajemen Postur dan Kerentanan untuk menggunakan layanan seperti Azure Monitor dan Microsoft Sentinel untuk memungkinkan tata kelola, kepatuhan, audit operasional, dan audit risiko untuk infrastruktur DevOps Anda.

Implementasi Azure dan konteks tambahan:


Panduan AWS: Sebagai bagian dari penerapan Microsoft Cloud Security Benchmark ke kontrol keamanan infrastruktur DevOps Anda, seperti GitHub, CodeCommit, CodeArtifact, CodePipeline, CodeBuild dan CodeDeploy, prioritaskan kontrol berikut:

  • Lihat panduan ini dan pilar keamanan AWS Well-architected Framework untuk mengamankan lingkungan DevOps Anda di AWS.
  • Lindungi artefak dan infrastruktur pendukung yang mendasarinya untuk memastikan alur CI/CD tidak menjadi jalan untuk menyisipkan kode berbahaya.
  • Pastikan infrastruktur DevOps Anda disebarkan dan dipertahankan secara konsisten di seluruh proyek pengembangan. Lacak kepatuhan infrastruktur DevOps Anda dalam skala besar dengan menggunakan AWS Config atau solusi pemeriksaan kepatuhan Anda sendiri.
  • Gunakan CodeArtifact untuk menyimpan dan berbagi paket perangkat lunak yang digunakan untuk pengembangan aplikasi dengan aman. Anda dapat menggunakan CodeArtifact dengan alat build dan manajer paket populer seperti Maven, Gradle, npm, yarn, pip, dan twine.
  • Konfigurasikan izin identitas/peran dan kebijakan izin di AWS IAM, layanan asli, dan alat CI/CD di alur Anda untuk memastikan perubahan pada alur diotorisasi.
  • Menghapus kunci, kredensial, dan rahasia dari kode dan skrip yang digunakan dalam pekerjaan alur kerja CI/CD dan menyimpannya di penyimpanan kunci atau AWS KMS
  • Jika Anda menjalankan agen build/penyebaran yang dihost sendiri, ikuti kontrol Tolok Ukur Keamanan Microsoft Cloud termasuk keamanan jaringan, manajemen postur dan kerentanan, dan keamanan titik akhir untuk mengamankan lingkungan Anda. Gunakan AWS Inspector untuk pemindaian kerentanan untuk kerentanan di EC2 atau lingkungan dalam kontainer sebagai lingkungan build.

Catatan: Lihat bagian Pengelogan dan Deteksi Ancaman, DS-7, dan dan bagian Manajemen Postur dan Kerentanan untuk menggunakan layanan seperti AWS CloudTrail, CloudWatch, dan Microsoft Sentinel untuk memungkinkan tata kelola, kepatuhan, audit operasional, dan audit risiko untuk infrastruktur DevOps Anda.

Implementasi AWS dan konteks tambahan:


Panduan GCP: Sebagai bagian dari penerapan Tolok Ukur Keamanan Microsoft Cloud ke kontrol keamanan infrastruktur DevOps Anda, prioritaskan kontrol berikut:

  • Lindungi artefak dan lingkungan yang mendasarinya untuk memastikan alur CI/CD tidak menjadi jalan untuk memasukkan kode berbahaya. Misalnya, tinjau alur CI/CD Anda untuk mengidentifikasi kesalahan konfigurasi dalam layanan seperti Google Cloud Build, Cloud Deploy, Artefak Registri, Connections, dan Build Agent untuk mengidentifikasi kesalahan konfigurasi seperti akses terbuka, autentikasi lemah, penyiapan koneksi yang tidak aman, dan sebagainya. Untuk GitHub, gunakan kontrol serupa untuk mengamankan tingkat izin Organisasi.
  • Pastikan infrastruktur DevOps Anda disebarkan secara konsisten di seluruh proyek pengembangan. Lacak kepatuhan infrastruktur DevOps Anda dalam skala besar dengan menggunakan Google Cloud Security Command Center (seperti Dasbor Kepatuhan, Kebijakan Organisasi, Catatan ancaman individual, dan Mengidentifikasi kesalahan konfigurasi) atau alat pemantauan kepatuhan Anda sendiri.
  • Konfigurasikan izin identitas/peran dan kebijakan pemberian hak di layanan asli Identitas Cloud/AD, dan alat CI/CD di alur Anda untuk memastikan perubahan pada alur diotorisasi.
  • Hindari memberikan akses istimewa "berdiri" permanen ke akun manusia seperti pengembang atau penguji dengan menggunakan fitur seperti identifikasi terkelola Google.
  • Hapus kunci, kredensial, dan rahasia dari kode dan skrip yang digunakan dalam pekerjaan alur kerja CI/CD dan simpan di penyimpanan kunci atau Google Secret Manager.
  • Jika Anda menjalankan agen build/penyebaran yang dihost sendiri, ikuti kontrol Tolok Ukur Keamanan Microsoft Cloud termasuk keamanan jaringan, manajemen postur dan kerentanan, dan keamanan titik akhir untuk mengamankan lingkungan Anda.

Catatan: Lihat bagian Pengelogan dan Deteksi Ancaman, DS-7, dan Bagian Manajemen Postur dan Kerentanan untuk menggunakan layanan seperti Azure Monitor dan Microsoft Azure Sentinel atau rangkaian operasi Google Cloud dan Chronicle SIEM dan SOAR untuk memungkinkan tata kelola, kepatuhan, audit operasional, dan audit risiko untuk infrastruktur DevOps Anda.

Implementasi GCP dan konteks tambahan:


Pemangku kepentingan keamanan pelanggan (Pelajari selengkapnya):

DS-4: Mengintegrasikan pengujian keamanan aplikasi statis ke dalam alur DevOps

ID CIS Controls v8 NIST SP 800-53 r4 ID(s) ID PCI-DSS v3.2.1
16.12 SA-11 6.3, 6.5

Prinsip keamanan: Memastikan pengujian fuzzy pengujian keamanan aplikasi statis (SAST), pengujian interaktif, pengujian aplikasi seluler, adalah bagian dari kontrol pembatasan dalam alur kerja CI/CD. Pembatasan dapat diatur berdasarkan hasil pengujian untuk mencegah paket rentan dari melakukan ke repositori, membangun ke dalam paket, atau menyebarkan ke dalam produksi.


Panduan Azure: Integrasikan SAST ke dalam alur Anda (misalnya, dalam infrastruktur Anda sebagai templat kode) sehingga kode sumber dapat dipindai secara otomatis di alur kerja CI/CD Anda. Alur Azure DevOps atau GitHub dapat mengintegrasikan alat di bawah ini dan alat SAST pihak ketiga ke dalam alur kerja.

  • GitHub CodeQL untuk analisis kode sumber.
  • Microsoft BinSkim Binary Analyzer untuk analisis biner Windows dan * nix.
  • Azure DevOps Credential Scanner (ekstensi Microsoft Security DevOps) dan pemindaian rahasia asli GitHub untuk pemindaian kredensial dalam kode sumber.

Implementasi Azure dan konteks tambahan:


Panduan AWS: Integrasikan SAST ke dalam alur Anda sehingga kode sumber dapat dipindai secara otomatis di alur kerja CI/CD Anda.

Jika menggunakan AWS CodeCommit, gunakan AWS CodeGuru Reviewer untuk analisis kode sumber Python dan Java. AWS Codepipeline juga dapat mendukung integrasi alat SAST bagian ketiga ke dalam alur penyebaran kode.

Jika menggunakan GitHub, alat di bawah ini dan alat SAST pihak ketiga dapat diintegrasikan ke dalam alur kerja.

  • GitHub CodeQL untuk analisis kode sumber.
  • Microsoft BinSkim Binary Analyzer untuk analisis biner Windows dan * nix.
  • Pemindaian rahasia asli GitHub untuk pemindaian kredensial dalam kode sumber.
  • Peninjau AWS CodeGuru untuk analisis kode sumber Python dan Java.

Implementasi AWS dan konteks tambahan:


Panduan GCP: Integrasikan SAST (seperti Perlindungan Pengiriman Perangkat Lunak, Analisis Artefak) ke dalam alur Anda (misalnya, dalam infrastruktur Anda sebagai templat kode) sehingga kode sumber dapat dipindai secara otomatis dalam alur kerja CI/CD Anda.

Layanan seperti Cloud Build, Cloud Deploy, Artifact Registry mendukung integrasi dengan Software Delivery Shield dan Analisis Artefak yang dapat memindai kode sumber dan artefak lainnya dalam alur kerja CI/CD.

Implementasi GCP dan konteks tambahan:


Pemangku kepentingan keamanan pelanggan (Pelajari selengkapnya):

DS-5: Mengintegrasikan pengujian keamanan aplikasi dinamis ke dalam alur DevOps

ID CIS Controls v8 NIST SP 800-53 r4 ID(s) ID PCI-DSS v3.2.1
16.12 SA-11 6.3, 6.5

Prinsip keamanan: Pastikan pengujian keamanan aplikasi dinamis (DAST) adalah bagian dari kontrol pembatasan dalam alur kerja CI/CD. Pembatasan dapat diatur berdasarkan hasil pengujian untuk mencegah kerentanan ke dalam paket atau menyebarkan ke dalam produksi.


Panduan Azure: Integrasikan DAST ke dalam alur Anda sehingga aplikasi runtime dapat diuji secara otomatis dalam alur kerja CI/CD Anda yang diatur di Azure DevOps atau GitHub. Uji penetrasi otomatis (dengan validasi bantuan manual) juga harus menjadi bagian dari DAST.

Alur Azure DevOps atau GitHub mendukung integrasi alat DAST pihak ketiga ke dalam alur kerja CI/CD.

Implementasi Azure dan konteks tambahan:


Panduan AWS: Integrasikan DAST ke dalam alur Anda sehingga aplikasi runtime dapat diuji secara otomatis dalam alur kerja CI/CD yang diatur di AWS CodePipeline atau GitHub. Uji penetrasi otomatis (dengan validasi bantuan manual) juga harus menjadi bagian dari DAST.

AWS CodePipeline atau GitHub mendukung integrasi alat DAST pihak ketiga ke dalam alur kerja CI/CD.

Implementasi AWS dan konteks tambahan:


Panduan GCP: Integrasikan DAST (Seperti Cloud Web Security Scanner) ke dalam alur Anda sehingga aplikasi runtime dapat diuji secara otomatis dalam alur kerja CI/CD yang ditetapkan di layanan seperti Google Cloud Build, Cloud Deploy, atau GitHub. Cloud Web Security Scanner dapat digunakan untuk mengidentifikasi kerentanan keamanan di aplikasi web beban kerja yang dihosting di App Engine, Google Kubernetes Engine (GKE), dan Compute Engine. Uji penetrasi otomatis (dengan validasi bantuan manual) juga harus menjadi bagian dari DAST.

Google Cloud Build, Google Cloud Deploy, Artifact Registry, dan GitHub juga mendukung integrasi alat DAST pihak ketiga ke dalam alur kerja CI/CD.

Implementasi GCP dan konteks tambahan:


Pemangku kepentingan keamanan pelanggan (Pelajari selengkapnya):

DS-6: Menegakkan keamanan beban kerja di seluruh siklus hidup DevOps

ID CIS Controls v8 NIST SP 800-53 r4 ID(s) ID PCI-DSS v3.2.1
7.5, 7.6, 7.7, 16.1, 16.7 CM-2, CM-6, AC-2, AC-3, AC-6 6.1, 6.2, 6.3

Prinsip keamanan: Pastikan beban kerja diamankan di seluruh siklus hidup dalam tahap pengembangan, pengujian, dan penyebaran. Gunakan Microsoft Cloud Security Benchmark untuk mengevaluasi kontrol (seperti keamanan jaringan, manajemen identitas, akses istimewa, dan sebagainya) yang dapat diatur sebagai pagar pembatas secara default atau bergeser ke kiri sebelum tahap penyebaran. Secara khusus, pastikan kontrol berikut tersedia dalam proses DevOps Anda:- Mengotomatiskan penyebaran dengan menggunakan Azure atau alat pihak ketiga dalam alur kerja CI/CD, manajemen infrastruktur (infrastruktur sebagai kode), dan pengujian untuk mengurangi kesalahan manusia dan permukaan serangan.

  • Pastikan VM, gambar kontainer, dan artefak lainnya aman dari manipulasi berbahaya.
  • Pindai artefak beban kerja (dengan kata lain, gambar kontainer, dependensi, pemindaian SAST, dan DAST) sebelum penyebaran dalam alur kerja CI/CD
  • Sebarkan penilaian kerentanan dan kemampuan deteksi ancaman ke lingkungan produksi dan terus gunakan kemampuan ini dalam waktu singkat.

Panduan Azure: Panduan untuk Azure VM:

  • Gunakan Azure Shared Image Gallery untuk berbagi dan mengontrol akses ke gambar Anda oleh pengguna, perwakilan layanan, atau grup AD yang berbeda dalam organisasi Anda. Gunakan kontrol akses berbasis peran Azure (Azure RBAC) untuk memastikan bahwa hanya pengguna yang berwenang yang dapat mengakses gambar kustom Anda.
  • Tentukan garis besar konfigurasi aman untuk VM untuk menghilangkan info masuk, izin, dan paket yang tidak perlu. Sebarkan dan terapkan garis besar konfigurasi melalui gambar kustom, templat Azure Resource Manager, dan/atau konfigurasi tamu Azure Policy.

Panduan untuk layanan kontainer Azure:

  • Gunakan Azure Container Registry (ACR) untuk membuat registri kontainer privat Anda di mana akses terperinci dapat dibatasi melalui Azure RBAC, sehingga hanya layanan dan akun resmi yang dapat mengakses kontainer di registri privat.
  • Gunakan Defender untuk Kontainer untuk penilaian kerentanan gambar di Azure Container Registry privat Anda. Selain itu, Anda dapat menggunakan Microsoft Defender untuk Cloud untuk mengintegrasikan pemindaian gambar kontainer sebagai bagian dari alur kerja CI/CD Anda.

Untuk layanan tanpa server Azure, adopsi kontrol serupa untuk memastikan kontrol keamanan "shift-left" ke tahap sebelum penyebaran.

Implementasi Azure dan konteks tambahan:


Panduan AWS: Gunakan Amazon Elastic Container Registry untuk berbagi dan mengontrol akses ke gambar Anda oleh pengguna dan peran yang berbeda dalam organisasi Anda. Dan Gunakan AWS IAM untuk memastikan bahwa hanya pengguna yang berwenang yang dapat mengakses gambar kustom Anda.

Tentukan garis besar konfigurasi aman untuk gambar EC2 AMI untuk menghilangkan kredensial, izin, dan paket yang tidak perlu. Terapkan dan terapkan garis besar konfigurasi melalui gambar AMI kustom, templat CloudFormation, dan/atau Aturan Konfigurasi AWS.

Gunakan AWS Inspector untuk pemindaian kerentanan lingkungan VM dan Kontainer, mengamankannya dari manipulasi berbahaya.

Untuk layanan tanpa server AWS, gunakan AWS CodePipeline bersama dengan AWS AppConfig untuk mengadopsi kontrol serupa untuk memastikan kontrol keamanan "geser ke kiri" ke tahap sebelum penyebaran.

Implementasi AWS dan konteks tambahan:


Panduan GCP: Google Cloud menyertakan kontrol untuk melindungi sumber daya komputasi dan sumber daya kontainer Google Kubernetes Engine (GKE). Google menyertakan Shielded VM, yang mengeraskan instans VM. Ini menyediakan keamanan boot, memantau integritas, dan menggunakan Modul Platform Tepercaya Virtual (vTPM).

Gunakan Analisis Artefak Google Cloud untuk memindai kerentanan dalam gambar kontainer atau OS, dan jenis artefak lainnya sesuai permintaan atau secara otomatis di alur Anda. Gunakan Deteksi Ancaman Kontainer untuk terus memantau yang dinyatakan Container-Optimized gambar simpul OS. Layanan ini mengevaluasi semua perubahan dan upaya akses jarak jauh untuk mendeteksi serangan runtime dalam waktu dekat secara real time.

Gunakan Artifact Registry, untuk menyiapkan penyimpanan artefak build privat yang aman untuk mempertahankan kontrol atas siapa yang dapat mengakses, melihat, atau mengunduh artefak dengan peran dan izin IAM asli registri, dan untuk mendapatkan waktu aktif yang konsisten pada infrastruktur Google yang aman dan andal.

Untuk layanan tanpa server GCP, adopsi kontrol serupa untuk memastikan kontrol keamanan "shift-left" ke tahap sebelum penyebaran.

Implementasi GCP dan konteks tambahan:


Pemangku kepentingan keamanan pelanggan (Pelajari selengkapnya):

DS-7: Mengaktifkan pengelogan dan pemantauan di DevOps

ID CIS Controls v8 NIST SP 800-53 r4 ID(s) ID PCI-DSS v3.2.1
8.2, 8.5, 8.9, 8.11 AU-3, AU-6, AU-12, SI-4 10.1, 10.2, 10.3, 10.6

Prinsip keamanan: Pastikan cakupan pengelogan dan pemantauan Anda mencakup lingkungan non-produksi dan elemen alur kerja CI/CD yang digunakan dalam DevOps (dan proses pengembangan lainnya). Kerentanan dan ancaman yang menargetkan lingkungan ini dapat menimbulkan risiko signifikan terhadap lingkungan produksi Anda jika tidak dipantau dengan benar. Peristiwa dari alur kerja build, uji, dan penyebaran CI/CD juga harus dipantau untuk mengidentifikasi penyimpangan dalam pekerjaan alur kerja CI/CD.


Panduan Azure: Mengaktifkan dan mengonfigurasi kemampuan pengelogan audit di lingkungan perkakas non-produksi dan CI/CD (seperti Azure DevOps dan GitHub) yang digunakan selama proses DevOps.

Peristiwa yang dihasilkan dari Azure DevOps dan alur kerja GITHub CI/CD, termasuk pekerjaan build, pengujian, dan penyebaran, juga harus dipantau untuk mengidentifikasi hasil anomali apa pun.

Serap log dan peristiwa di atas ke Microsoft Sentinel atau alat SIEM lainnya melalui aliran pengelogan atau API untuk memastikan insiden keamanan dipantau dan di-triase dengan benar untuk penanganan.

Implementasi Azure dan konteks tambahan:


Panduan AWS: Mengaktifkan dan mengonfigurasi AWS CloudTrail untuk kemampuan pengelogan audit di lingkungan perkakas non-produksi dan CI/CD (seperti AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy, AWS CodeStar) yang digunakan selama proses DevOps.

Peristiwa yang dihasilkan dari lingkungan AWS CI/CD (seperti AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy, AWS CodeStar) dan alur kerja GitHub CI/CD, termasuk pekerjaan build, pengujian, dan penyebaran, juga harus dipantau untuk mengidentifikasi hasil anomali.

Serap log dan peristiwa di atas ke AWS CloudWatch, Microsoft Sentinel, atau alat SIEM lainnya melalui aliran pengelogan atau API untuk memastikan insiden keamanan dipantau dan di-triase dengan benar untuk penanganan.

Implementasi AWS dan konteks tambahan:


Panduan GCP: Mengaktifkan dan mengonfigurasi kemampuan pengelogan audit di lingkungan perkakas non-produksi dan CI/CD untuk produk seperti Cloud Build, Google Cloud Deploy, Artifact Registry, dan GitHub, yang dapat digunakan selama proses DevOps.

Peristiwa yang dihasilkan dari lingkungan GCP CI/CD (seperti Cloud Build, Google Cloud Deploy, Artifact Registry) dan alur kerja GITHub CI/CD, termasuk pekerjaan build, pengujian, dan penyebaran, juga harus dipantau untuk mengidentifikasi hasil anomali apa pun.

Serap log dan peristiwa di atas ke Microsoft Sentinel, Google Cloud Security Command Center, Chronicle, atau alat SIEM lainnya melalui aliran pengelogan atau API untuk memastikan insiden keamanan dipantau dan triase dengan benar untuk penanganan.

Implementasi GCP dan konteks tambahan:


Pemangku kepentingan keamanan pelanggan (Pelajari selengkapnya):