Mendeteksi kerentanan kluster yang diatur AKS untuk PCI-DSS 3.2.1 (Bagian 5 dari 9)

Azure Kubernetes Service (AKS)
Azure Application Gateway
Microsoft Defender for Cloud

Artikel ini menjelaskan pertimbangan untuk kluster Azure Kubernetes Service (AKS) yang dikonfigurasi sesuai dengan Standar Keamanan Data Industri Kartu Pembayaran (PCI-DSS 3.2.1).

Artikel ini adalah bagian dari beberapa seri. Baca pengantar.

Seperti solusi cloud lainnya, beban kerja PCI tunduk pada ancaman jaringan, identitas, dan data. Contoh umum sumber yang memanfaatkan beban kerja dan kerentanan sistem adalah virus atau pembaruan perangkat lunak yang menghasilkan hasil yang tidak diinginkan. Mendeteksi ancaman lebih awal dan merespons dengan mitigasi pada waktu yang tepat. Membuat peringatan penting untuk aktivitas beban kerja dan perluas peringatan tersebut ke proses sistem inti. Antivirus atau alat pemantau integritas file (FIM) harus selalu berjalan. Memiliki rencana respons yang akuntabel dan tim yang menyelidiki peringatan dan mengambil tindakan.

Penting

Panduan dan penerapan yang menyertainya dibangun di atas arsitektur dasar AKS. Arsitektur tersebut didasarkan pada topologi hub dan spoke. Jaringan virtual hub berisi firewall untuk mengontrol lalu lintas egress, lalu lintas gateway dari jaringan lokal, dan jaringan ketiga untuk pemeliharaan. Jaringan virtual spoke berisi kluster AKS yang menyediakan lingkungan data pemegang kartu (CDE) dan menghosting beban kerja PCI DSS.

GitHub logoGitHub: Kluster Dasar Azure Kubernetes Service (AKS) untuk Beban Kerja yang Diatur menunjukkan infrastruktur yang diatur. Penerapannya menggambarkan penyiapan alat keamanan di berbagai fase siklus hidup arsitektur dan pengembangan. Ini termasuk contoh agen keamanan dalam kluster bring-your-own in dan alat keamanan yang disediakan Azure, misalnya Microsoft Defender untuk Cloud.

Mempertahankan Program Manajemen Kerentanan

Persyaratan 5—Lindungi semua sistem dari malware dan perbarui perangkat lunak atau program anti-virus secara teratur

Dukungan fitur AKS

AKS tidak berulah seperti host aplikasi tradisional. VM node dalam kluster AKS memiliki paparan terbatas dan dirancang untuk tidak diakses secara langsung. Karena VM node tidak sama dengan VM tradisional, Anda tidak dapat menggunakan alat VM umum. Jadi, rekomendasi di bagian ini diterapkan melalui konstruksi Kubernetes asli. Menerapkan persyaratan ini secara langsung di tingkat VM dapat menyebabkan kluster Anda tidak didukung.

Anda harus menyebarkan perangkat lunak antimalware pilihan Anda di DaemonSets yang akan berjalan dalam pod di setiap node.

Tanggung jawab

Pastikan perangkat lunak khusus dalam Kubernetes dan kontainer. Ada beberapa opsi perangkat lunak pihak ketiga. Pilihan populer termasuk Prisma Cloud dan Aquasec. Ada juga opsi sumber terbuka seperti Falco. Anda bertanggung jawab untuk memastikan bahwa ada proses untuk memastikan perangkat lunak pihak ketiga adalah yang terbaru. Selain itu, memantau dan memperingatkan solusi adalah tanggung jawab Anda.

Persyaratan Tanggung Jawab
Persyaratan 5.1 Sebarkan perangkat lunak antivirus di semua sistem yang umumnya terpengaruh oleh perangkat lunak berbahaya (khususnya komputer dan server pribadi).
Persyaratan 5.2 Pastikan bahwa semua mekanisme anti-virus dipertahankan sebagai berikut:
Persyaratan 5.3 Pastikan bahwa mekanisme anti-virus berjalan secara aktif, dan tidak dapat dinonaktifkan atau diubah oleh pengguna, kecuali diotorisasi secara khusus oleh manajemen berdasarkan kasus demi kasus untuk periode waktu terbatas.
Persyaratan 5.4 Pastikan bahwa kebijakan keamanan dan prosedur operasional untuk melindungi sistem dari malware didokumentasikan, digunakan, dan diketahui oleh semua pihak yang terpengaruh.

Persyaratan 6—Mengembangkan dan memelihara sistem dan aplikasi yang aman

Dukungan fitur AKS

Sama seperti layanan Azure lainnya, AKS mengikuti proses Microsoft SDL (Security Development Lifecycle) untuk keamanan selama fase proses pengembangan. Berbagai komponen dipindai mulai dari tahap awal pengembangan dan celah keamanan ditutup sedini mungkin.

Gambar AKS mengikuti pendekatan FedRAMP SLA, yang membutuhkan kerentanan dalam gambar untuk di-patch dalam waktu 30 hari. Untuk menegakkan persyaratan ini, semua gambar disanitasi melalui alur DevSecOps.

Setiap minggu, AKS menyediakan gambar baru untuk kumpulan node. Anda bertanggung jawab untuk menerapkannya untuk memastikan patching dan pembaruan simpul pekerja Virtual Machine Scale Sets. Untuk informasi selengkapnya, lihat peningkatan gambar node Azure Kubernetes Service (AKS).

Untuk bidang kontrol AKS, AKS menginstal atau meningkatkan penambal keamanan. Mereka diperbarui setiap 24 jam.

Sarana kontrol AKS dan node pekerja dikeraskan terhadap Center for Internet Security (CIS). Khususnya AKS CIS, Ubuntu CIS, dan Windows CIS.

AKS terintegrasi dengan Azure Container Registry (ACR). Gunakan ACR dengan fitur pemindaian berkelanjutan di Microsoft Defender untuk Cloud untuk mengidentifikasi gambar dan aplikasi yang rentan di berbagai tingkat risiko. Untuk informasi tentang pemindaian gambar dan kontrol risiko, lihat Pertahanan Microsoft untuk Kontainer.

Tanggung jawab

Persyaratan Tanggung Jawab
Persyaratan 6.1 Tetapkan proses untuk mengidentifikasi kerentanan keamanan, menggunakan sumber luar terkemuka untuk informasi kerentanan keamanan, dan tetapkan peringkat risiko (misalnya, sebagai "tinggi", "sedang", atau "rendah") untuk kerentanan keamanan yang baru ditemukan.
Persyaratan 6.2 Pastikan bahwa semua komponen sistem dan perangkat lunak dilindungi dari kerentanan yang diketahui dengan menginstal penambal keamanan yang disediakan vendor yang berlaku. Instal penambal keamanan penting dalam waktu satu bulan setelah rilis.
Persyaratan 6.3 Kembangkan aplikasi perangkat lunak internal dan eksternal (termasuk akses administratif berbasis web ke aplikasi) dengan aman.
Persyaratan 6.4 Ikuti proses dan prosedur kontrol perubahan untuk semua perubahan pada komponen sistem.
Persyaratan 6.5 Atasi kerentanan pengodean umum dalam proses pengembangan perangkat lunak.
Persyaratan 6.6 Untuk aplikasi web yang menghadap publik, atasi ancaman dan kerentanan baru secara berkelanjutan dan pastikan aplikasi ini dilindungi dari serangan yang diketahui.
Persyaratan 6.7 Pastikan bahwa kebijakan keamanan dan prosedur operasional untuk mengembangkan dan memelihara sistem dan aplikasi yang aman didokumentasikan, digunakan, dan diketahui oleh semua pihak yang terpengaruh.

Persyaratan 5.1

Sebarkan perangkat lunak anti-virus pada semua sistem yang umumnya dipengaruhi oleh perangkat lunak berbahaya, khususnya komputer dan server pribadi.

Tanggung jawab

Anda bertanggung jawab untuk melindungi beban kerja, infrastruktur, dan jaringan alur penyebaran dengan memilih perangkat lunak antimalware yang sesuai.

Karena akses ke VM node AKS dibatasi, lindungi sistem di lapisan yang dapat menyuntikkan malware ke VM node. Sertakan deteksi dan pencegahan pada node kluster, gambar kontainer, dan interaksi runtime dengan server API Kubernetes. Selain kluster, lindungi komponen berikut yang berinteraksi dengan kluster dan dapat menginstal perangkat lunak antivirus dengan cara tradisional:

  • Jump box
  • Membangun agen

Selaraskan aktivitas pemindaian Anda dengan Siklus Hidup Pengembangan Keamanan (SDL). Mengikuti SDL memastikan pemindaian berbagai komponen arsitektur dimulai pada tahap awal pengembangan dan kesenjangan keamanan dicakup sedini mungkin.

Persyaratan 5.1.1

Jadikan program anti-virus mampu mendeteksi, menghapus, dan melindungi dari semua jenis perangkat lunak berbahaya yang diketahui.

Tanggung jawab

Mempelajari tentang kumpulan fitur dari setiap penawaran perangkat lunak dan kedalaman pemindaian yang dapat dilakukan. Perangkat lunak harus memblokir ancaman umum dan memantau ancaman baru. Memastikan perangkat lunak diperbarui, diuji, dan diganti secara berkala jika ditemukan tidak sesuai. Mempertimbangkan perangkat lunak yang dikembangkan oleh vendor terkemuka.

  • Alat pemantauan yang mendeteksi kerentanan kluster.

    Di AKS, Anda tidak dapat menjalankan solusi VM berbasis agen tradisional langsung pada VM simpul. Anda harus menyebarkan perangkat lunak antimalware di DaemonSets yang akan berjalan dalam pod pada setiap node.

    Memilih perangkat lunak yang khusus dalam Kubernetes dan kontainer. Ada beberapa opsi perangkat lunak pihak ketiga. Pilihan populer termasuk Prisma Cloud dan Aquasec. Ada juga opsi sumber terbuka seperti Falco.

    Saat disebarkan, perangkat lunak berjalan sebagai agen di kluster yang memindai semua kumpulan node sistem dan pengguna. Meskipun AKS menggunakan kumpulan node sistem untuk binari sistem runtime-nya, komputasi yang mendasarinya tetap menjadi tanggung jawab Anda.

    Tujuan menjalankan agen adalah untuk mendeteksi aktivitas kluster yang tidak biasa. Misalnya, apakah aplikasi mencoba memanggil server API? Beberapa solusi menghasilkan log panggilan API antar pod, menghasilkan laporan, dan menghasilkan peringatan. Pastikan Anda meninjau log tersebut dan mengambil tindakan yang diperlukan.

    Instal agen keamanan segera setelah bootstrapping kluster untuk meminimalkan kesenjangan yang tidak dimonitor antara kluster dan penyebaran sumber daya AKS.

    Agen keamanan berjalan dengan hak istimewa tinggi, dan mereka memindai semua yang berjalan pada kluster dan bukan hanya beban kerja. Agen keamanan tidak boleh menjadi sumber penyelundupan data. Selain itu, serangan rantai pasokan umum terjadi untuk kontainer. Gunakan strategi pertahanan mendalam dan pastikan perangkat lunak dan semua dependensi dipercaya.

    Jalankan juga perangkat lunak antivirus pada aset eksternal yang berpartisipasi dalam operasi kluster. Beberapa contoh termasuk jump box, agen build, dan kontainer gambar yang berinteraksi dengan kluster.

    Ketika agen memindai, agen tidak boleh memblokir atau mengganggu operasi penting kluster, seperti dengan mengunci file. Kesalahan konfigurasi dapat menyebabkan masalah stabilitas dan dapat membuat kluster Anda tidak didukung.

    Penting

    Penerapan referensi menyediakan penyebaran DaemonSet tempat penampung untuk menjalankan agen antimalware. Agen akan berjalan pada setiap node VM di kluster. Tempatkan perangkat lunak antimalware pilihan Anda dalam penyebaran ini.

  • Menjaga keamanan kontainer. Jalankan alat pemindaian kontainer di alur untuk mendeteksi ancaman yang mungkin datang melalui gambar kontainer, seperti pemindaian kerentanan CI/CD di Pertahanan Microsoft untuk Kontainer. Pilihan pihak ketiga termasuk Trivy dan Clair. Saat Anda sedang membangun gambar, selalu berusaha untuk gambar distroless. Gambar-gambar ini hanya berisi binari penting dalam gambar dasar Linux dan mengurangi area permukaan untuk serangan. Gunakan solusi pemindaian berkelanjutan seperti penilaian kerentanan di Pertahanan Microsoft untuk Kontainer untuk pemindaian gambar yang sedang berlangsung yang sudah tidak aktif di repositori Anda.

Persyaratan 5.1.2

Untuk sistem yang tidak umumnya ditargetkan atau dipengaruhi oleh perangkat lunak berbahaya, lakukan evaluasi berkala untuk mengidentifikasi dan mengevaluasi ancaman malware yang berkembang untuk mengonfirmasi apakah mereka terus tidak memerlukan perangkat lunak anti-virus.

Tanggung jawab

Kerentanan umum dapat memengaruhi komponen di luar kluster. Lacak kerentanan keamanan dengan melihat CVE dan peringatan keamanan lainnya dari platform Azure. Periksa pembaruan Azure untuk fitur baru yang dapat mendeteksi kerentanan dan menjalankan solusi antivirus pada layanan yang dihosting Azure.

Misalnya, penyimpanan blob harus memiliki penyaringan reputasi malware untuk mendeteksi unggahan yang mencurigakan. Fitur baru, Pertahanan Microsoft untuk Penyimpanan, menyertakan penyaringan reputasi malware. Selain itu, pertimbangkan apakah solusi antivirus diperlukan untuk layanan semacam itu.

Persyaratan 5.2

Pastikan bahwa semua mekanisme anti-virus dipertahankan sebagai berikut:

  • Tetap terkini,
  • Melakukan pemindaian berkala
  • Hasilkan log audit, yang dipertahankan per PERSYARATAN PCI DSS 10.7.

Tanggung jawab

  • Pastikan kluster dilindungi dari serangan baru menggunakan versi terbaru dari perangkat lunak antivirus. Ada dua jenis pembaruan yang perlu dipertimbangkan:
    • Perangkat lunak antivirus harus mengikuti pembaruan fitur terbaru. Salah satu caranya adalah dengan menjadwalkan pembaruan sebagai bagian dari pembaruan platform Anda.
    • Pembaruan inteligensi keamanan harus diterapkan segera setelah tersedia untuk mendeteksi dan mengidentifikasi ancaman terbaru. Pilih pembaruan otomatis.
  • Validasi bahwa pemindaian kerentanan berjalan, sesuai jadwal.
  • Pertahankan log yang dihasilkan sebagai hasil pemindaian yang menunjukkan komponen yang sehat dan tidak sehat. Periode retensi yang direkomendasikan diberikan dalam Persyaratan 10.7, yaitu satu tahun.
  • Memiliki proses di tempat yang melakukan triase dan memulihkan masalah yang terdeteksi.

Untuk informasi tentang bagaimana pembaruan antivirus Microsoft Defender diterapkan, lihat Mengelola pembaruan antivirus Microsoft Defender dan menerapkan garis besar.

Persyaratan 5.3

Fitur anti-virus harus berjalan secara aktif dan tidak dapat dinonaktifkan atau diubah oleh pengguna. Kecuali jika diotorisasi oleh manajemen berdasarkan kasus per kasus untuk jangka waktu terbatas.

Tanggung jawab

Anda bertanggung jawab untuk menyiapkan pemantauan dan peringatan agen keamanan. Buat peringatan penting tidak hanya untuk beban kerja tetapi juga proses sistem inti. Agen harus selalu berjalan. Menanggapi peringatan yang diajukan oleh perangkat lunak antimalware.

  • Simpan jejak log aktivitas pemindaian. Pastikan bahwa proses pemindaian tidak mencatat data pemegang kartu apa pun yang diekstraksi dari disk atau memori.
  • Tetapkan peringatan untuk aktivitas yang mungkin menyebabkan ketidakpatuhan yang tidak terduga. Peringatan tidak boleh dimatikan secara tidak sengaja.
  • Batasi izin untuk mengubah penyebaran agen (dan alat keamanan penting lainnya). Pisahkan izin tersebut dari izin penyebaran beban kerja.
  • Jangan menyebarkan beban kerja jika agen keamanan tidak berjalan seperti yang diharapkan.

Persyaratan 5.4

Verifikasi bahwa kebijakan keamanan dan prosedur operasional untuk melindungi sistem terhadap malware didokumenkan, digunakan, dan dikomunikasikan kepada semua pihak yang terpengaruh.

Tanggung jawab

Sangat penting bagi Anda untuk memelihara dokumentasi menyeluruh tentang proses dan kebijakan, terutama detail tentang solusi antivirus yang digunakan untuk melindungi sistem. Sertakan informasi seperti di mana dalam siklus produk pembaruan kecerdasan keamanan dipertahankan, frekuensi pemindaian, dan informasi tentang kemampuan pemindaian real time.

Memiliki kebijakan retensi untuk menyimpan log. Anda mungkin ingin memiliki penyimpanan jangka panjang untuk tujuan kepatuhan.

Pertahankan dokumentasi tentang prosedur operasi standar untuk menilai dan memulihkan masalah. Orang yang mengoperasikan lingkungan yang diatur harus diedukasi, diinformasikan, dan diberi insentif untuk mendukung jaminan keamanan. Ini penting bagi orang-orang yang merupakan bagian dari proses persetujuan dari perspektif kebijakan.

Persyaratan 6.1

Tetapkan proses untuk mengidentifikasi kerentanan keamanan, menggunakan sumber luar terkemuka untuk informasi kerentanan keamanan, dan tetapkan peringkat risiko (misalnya, tinggi, sedang, atau rendah) ke kerentanan keamanan yang baru ditemukan.

Tanggung jawab

Memiliki proses yang memeriksa kerentanan yang terdeteksi dan diberi peringkat dengan tepat. Microsoft Defender untuk Cloud menampilkan rekomendasi dan peringatan, berdasarkan jenis sumber daya dan tingkat keparahannya, lingkungan. Sebagian besar pemberitahuan memiliki taktik MITRE ATT&CK® yang dapat membantu Anda memahami niat rantai pembunuhan. Pastikan Anda memiliki rencana remediasi untuk menyelidiki dan mengurangi masalah.

Di AKS, Anda dapat menggunakan Azure Container Registry dalam kombinasi dengan pemindaian berkelanjutan untuk mengidentifikasi gambar dan aplikasi yang rentan di berbagai tingkat risiko. Anda dapat melihat hasilnya di Microsoft Defender untuk Cloud.

Untuk informasi selengkapnya, lihat Container Registry.

Persyaratan 6.2

Pastikan bahwa semua komponen sistem dan perangkat lunak dilindungi dari kerentanan yang diketahui dengan menginstal penambal keamanan yang disediakan vendor yang berlaku. Instal penambal keamanan penting dalam waktu satu bulan setelah rilis.

Tanggung jawab

  • Untuk mencegah serangan rantai pasokan dari vendor pihak ketiga, pastikan semua dependensi tepercaya. Penting bagi Anda untuk memilih vendor yang memiliki reputasi dan tepercaya.

  • Setiap minggu, AKS menyediakan gambar baru untuk kumpulan node. Gambar tersebut tidak diterapkan secara otomatis. Terapkan gambar segera setelah tersedia. Anda dapat memperbarui secara manual atau otomatis melalui Pembaruan Gambar Node. Untuk informasi selengkapnya, lihat Peningkatan gambar node Azure Kubernetes Service (AKS)

    Untuk bidang kontrol AKS, AKS menginstal atau meningkatkan penambal keamanan.

  • Setiap 24 jam, node AKS secara otomatis mengunduh dan menginstal sistem operasi dan penambal keamanan, satu per satu. Firewall Anda tidak boleh memblokir lalu lintas ini jika Anda ingin menerima pembaruan tersebut.

    Pertimbangkan untuk mengaktifkan kemampuan pelaporan pada agen keamanan untuk mendapatkan informasi tentang pembaruan yang diterapkan. Beberapa pembaruan keamanan memerlukan penghidupan ulang. Pastikan untuk meninjau peringatan dan mengambil tindakan untuk memastikan waktu henti aplikasi minimum atau nol dengan penghidupan ulang tersebut. Opsi sumber terbuka untuk melakukan penghidupan ulang secara terkontrol adalah Kured (Kubernetes reboot daemon).

  • Perluas proses penambalan ke sumber daya di luar kluster yang Anda sediakan, seperti jump box dan agen build.

  • Tetap terkini dengan versi AKS yang didukung. Jika desain Anda menggunakan versi yang telah mencapai akhir masa pakai, tingkatkan ke versi saat ini. Untuk informasi selengkapnya, lihat Versi AKS yang didukung.

Persyaratan 6.3

Mengembangkan aplikasi perangkat lunak internal dan eksternal (termasuk akses administratif berbasis web ke aplikasi) secara aman, sebagai berikut:

  • Sesuai dengan PCI DSS (misalnya, autentikasi dan pengelogan yang aman)
  • Berdasarkan standar industri dan/atau praktik terbaik.
  • Menggabungkan keamanan informasi di seluruh siklus hidup pengembangan perangkat lunak yang berlaku untuk semua perangkat lunak yang dikembangkan secara internal, termasuk perangkat lunak khusus atau pesanan yang dikembangkan oleh pihak ketiga.

Tanggung jawab

Mengintegrasikan dan memprioritaskan pilihan keamanan sebagai bagian dari siklus hidup beban kerja dan operasi.

Beberapa kerangka kerja industri dipetakan ke siklus hidup, seperti kerangka kerja NIST. Fungsi NIST—Identifikasi, Lindungi, Deteksi, Respons, dan Pulihkan—menyediakan strategi untuk kontrol pencegahan di setiap fase.

Microsoft SDL (Security Development Lifecycle) menyediakan praktik terbaik, alat, dan proses untuk keamanan selama fase proses pengembangan. Praktik Microsoft SDL diikuti untuk semua layanan Azure, termasuk AKS. Kami juga mengikuti kerangka Operational Security Assurance (OSA) untuk mengoperasikan layanan cloud. Memastikan Anda memiliki proses serupa. Praktik-praktik ini diterbitkan untuk membantu Anda mengamankan aplikasi Anda.

Persyaratan 6.3.1

Hapus pengembangan, pengujian dan/atau akun aplikasi kustom, ID pengguna, dan kata sandi sebelum aplikasi menjadi aktif atau dirilis ke pelanggan.

Tanggung jawab

Sebagai bagian dari pembuatan kluster, beberapa pengguna Kubernetes lokal dibuat secara default. Pengguna tersebut tidak dapat diaudit karena mereka tidak mewakili identitas unik. Beberapa dari mereka memiliki hak istimewa yang tinggi. Menonaktifkan pengguna tersebut menggunakan fitur Nonaktifkan akun lokal AKS.

Untuk pertimbangan lain, lihat panduan dalam standar resmi PCI-DSS 3.2.1.

Persyaratan 6.3.2

Tinjau kode kustom sebelum rilis ke produksi atau pelanggan untuk mengidentifikasi potensi kerentanan pengkodean (menggunakan proses manual atau otomatis) untuk menyertakan hal berikut:

  • Perubahan kode ditinjau oleh individu selain pembuat kode asal, dan oleh individu yang memiliki pengetahuan tentang teknik tinjauan kode dan praktik pengodean yang aman.
  • Ulasan kode memastikan kode dikembangkan sesuai dengan pedoman pengodean yang aman
  • Koreksi yang tepat diterapkan sebelum rilis.
  • Hasil tinjauan kode ditinjau dan disetujui oleh manajemen sebelum dirilis.
Tanggung jawab

Semua perangkat lunak yang diinstal di kluster bersumber dari registri kontainer Anda. Mirip dengan kode aplikasi, minta proses dan orang-orang memeriksa Azure dan gambar pihak ketiga (DockerFile dan OCI). Juga:

  • Mulai memindai gambar kontainer dari tahap awal saat kluster dibuat. Jadikan proses pemindaian sebagai bagian dari integrasi berkelanjutan/alur penyebaran berkelanjutan Anda.

    Pastikan alur penyebaran Anda terjaga keamanannya sedemikian rupa sehingga kedua gambar bootstrap kluster dan beban kerja Anda telah melewati gerbang peninjauan dan/atau karantina. Pertahankan riwayat tentang bagaimana dan proses apa yang digunakan sebelum ditarik ke kluster.

  • Kurangi ukuran gambar. Biasanya, gambar berisi lebih banyak binari daripada yang diperlukan. Mengurangi ukuran gambar tidak hanya memiliki keuntungan performa tetapi juga membatasi permukaan serangan. Misalnya, menggunakan distroless akan meminimalkan gambar Linux dasar.

  • Gunakan alat analisis statis yang memverifikasi integritas Dockerfile dan manifes. Opsi pihak ketiga termasuk Dockle dan Trivy.

  • Hanya gunakan gambar yang ditandatangani.

  • Pahami (dan terima) gambar dasar yang disediakan oleh Azure dan bagaimana hal itu sesuai dengan Tolok Ukur CIS. Untuk informasi selengkapnya, lihat Tolok Ukur Center for Internet Security (CIS).

Azure Container Registry dengan pemindaian berkelanjutan di Microsoft Defender untuk Cloud akan membantu mengidentifikasi gambar yang rentan dan berbagai risiko yang dapat ditimbulkannya terhadap beban kerja. Untuk informasi selengkapnya tentang pemindaian gambar dan kontrol risiko, lihat Keamanan kontainer.

Persyaratan 6.4

Ikuti proses dan prosedur kontrol perubahan untuk semua perubahan pada komponen sistem.

Tanggung jawab

Memastikan Anda mendokumentasikan proses kontrol perubahan dan merancang alur penyebaran sesuai dengan proses tersebut. Sertakan proses lain untuk mendeteksi situasi di mana proses dan alur aktual tidak selaras.

Persyaratan 6.4.1, 6.4.2

  • Pisahkan lingkungan pengembangan/pengujian dari lingkungan produksi, dan terapkan pemisahan dengan kontrol akses.
  • Pemisahan tugas antara lingkungan produksi dan pengembangan/pengujian.
Tanggung jawab

Mempertahankan lingkungan produksi dan pra-produksi yang terpisah dan peran yang beroperasi di lingkungan tersebut.

  • Jangan gunakan kluster produksi Anda untuk tujuan pengembangan/pengujian. Misalnya, jangan instal bridge ke Kubernetes di kluster produksi Anda. Menggunakan kluster khusus untuk beban kerja non-produksi.

  • Memastikan lingkungan produksi Anda tidak mengizinkan akses jaringan ke lingkungan pra-produksi, dan sebaliknya.

  • Jangan menggunakan kembali identitas sistem di lingkungan pra-produksi dan produksi.

    Gunakan grup Microsoft Entra untuk grup seperti administrator kluster atau prinsipal alur. Jangan menggunakan grup umum atau umum sebagai kontrol akses. Jangan menggunakan kembali grup tersebut antara pra-produksi dan kluster produksi. Salah satu caranya adalah dengan menggunakan nama kluster (atau pengidentifikasi buram lainnya) dalam nama grup, agar eksplisit tentang keanggotaan.

    Menggunakan peran kontrol akses berbasis peran Azure (RBAC) dengan tepat di antara lingkungan. Biasanya, lebih banyak peran dan hak diberikan pada lingkungan pra-produksi.

    Identitas dalam pra-produksi saja (diberikan kepada alur atau tim teknik perangkat lunak) tidak boleh diberikan akses dalam produksi. Sebaliknya, identitas khusus produksi apa pun (seperti alur) tidak boleh diberikan akses dalam kluster pra-produksi.

    Jangan menggunakan identitas yang dikelola pengguna yang sama untuk sumber daya apa pun dalam pra-produksi dan produksi. Rekomendasi ini berlaku untuk semua sumber daya yang mendukung identitas yang dikelola pengguna, bukan hanya sumber daya yang digunakan di kluster Anda. Sebagai aturan, sumber daya Azure yang memerlukan identitas harus memiliki identitas mereka sendiri yang berbeda daripada membagikannya dengan sumber daya lain.

  • Menggunakan akses just-in-time (JIT) untuk akses hak istimewa tinggi, termasuk pada kluster pra-produksi jika memungkinkan. Menggunakan kebijakan akses bersyarat pada kluster pra-produksi dan produksi.

Persyaratan 6.4.3

Data produksi (WAN langsung) tidak digunakan untuk pengujian atau pengembangan.

Tanggung jawab

Memastikan data CHD tidak mengalir ke lingkungan pengembangan/pengujian. Memiliki dokumentasi yang jelas yang menyediakan prosedur untuk memindahkan data dari produksi ke pengembangan/pengujian. Penghapusan data nyata harus disertakan dalam prosedur tersebut dan disetujui oleh pihak yang bertanggung jawab.

Persyaratan 6.4.4

Penghapusan data uji dan akun dari komponen sistem sebelum sistem menjadi aktif/masuk ke produksi.

Tanggung jawab

Menghapus data konfigurasi default, data sampel, dan data pengujian terkenal di sistem sebelum disebarkan ke produksi. Jangan menggunakan data pemegang kartu untuk tujuan pengujian.

Persyaratan 6.4.5

Prosedur kontrol perubahan untuk penerapan penambal keamanan dan modifikasi perangkat lunak harus mencakup hal-hal berikut:

  • 6.4.5.1 Dokumentasi dampak.
  • 6.4.5.2 Persetujuan perubahan terdokumentasi oleh pihak yang berwenang.
  • 6.4.5.3 Pengujian fungsionalitas untuk memverifikasi bahwa perubahan tersebut tidak berdampak buruk pada keamanan sistem.
  • 6.4.5.4 Prosedur back-out.
Tanggung jawab

Poin-poin panduan ini memetakan persyaratan sebelumnya:

  • Dokumentasikan perubahan infrastruktur yang diharapkan sebagai hasil dari penambal keamanan dan modifikasi perangkat lunak. Proses itu lebih mudah dengan pendekatan infrastruktur sebagai kode (IaC). Misalnya, dengan templat Azure Resource Manager (templat ARM) untuk penyebaran, Anda dapat melihat pratinjau perubahan dengan operasi bagaimana-jika. Untuk informasi selengkapnya, lihat Operasi bagaimana-jika penyebaran templat ARM untuk perubahan infrastruktur Anda.

  • Terapkan gerbang di pipeline penerapan Anda yang memvalidasi persetujuan perubahan untuk penerapan reguler. Dokumentasikan pembenaran untuk penyebaran darurat di mana gerbang mungkin telah dilewati.

    Tentukan tingkat dan kedalaman perubahan. Pastikan tim menyetujui definisi perubahan signifikan, bukan perubahan kecil. Jika praktis, otomatiskan penemuan beberapa perubahan tersebut. Peninjau untuk beban kerja, infrastruktur, dan alur harus memiliki pemahaman yang jelas tentang level dan memvalidasi kriteria tersebut.

  • Uji keterjangkauan keamanan. Pastikan transaksi sintetis menguji masalah keamanan (baik izinkan dan tolak). Pastikan juga bahwa pengujian sintetis tersebut berjalan di lingkungan pra-produksi.

  • Lakukan proses back-out jika perbaikan keamanan memiliki hasil yang tidak diharapkan. Strategi umum adalah menyebarkan status sebelumnya menggunakan penyebaran biru-hijau. Untuk beban kerja, termasuk database, lakukan strategi yang sesuai untuk topologi spesifik Anda dan dicakup untuk unit penyebaran Anda.

Persyaratan 6.5

Mengatasi kerentanan pengodean umum dalam proses pengembangan perangkat lunak sebagai berikut:

  • Melatih pengembang setidaknya setiap tahun dalam teknik pengodean aman terkini, termasuk cara menghindari kerentanan pengodean umum.
  • Mengembangkan aplikasi berdasarkan pedoman pengodean yang aman.

Tanggung jawab

Sangat penting bahwa tim aplikasi dan tim operasi diedukasi, diinformasikan, dan diberi insentif untuk mendukung aktivitas pemindaian beban kerja dan infrastruktur. Berikut adalah beberapa sumber daya:

Persyaratan 6.6

Untuk aplikasi web yang menghadap publik, atasi ancaman dan kerentanan baru secara berkelanjutan. Pastikan aplikasi ini dilindungi dari serangan yang diketahui dengan salah satu metode berikut:

  • Tinjau aplikasi web yang menghadap publik menggunakan alat atau metode penilaian keamanan kerentanan aplikasi manual atau otomatis. Lakukan penilaian kerentanan setidaknya setiap tahun dan setelah perubahan apa pun.

    Catatan

    Penilaian ini tidak sama dengan pemindaian kerentanan yang dilakukan sebagai bagian dari Persyaratan 11.2.

  • Instal solusi otomatis yang mendeteksi dan mencegah serangan berbasis web. Misalnya, firewall aplikasi web. Sebarkan di depan aplikasi web yang menghadap publik dan secara aktif mengevaluasi semua lalu lintas.

Tanggung jawab

Memiliki pemeriksaan untuk mendeteksi lalu lintas yang datang dari internet publik menggunakan firewall aplikasi web (WAF). Dalam arsitektur ini, Azure Application Gateway memeriksa semua lalu lintas masuk dengan menggunakan WAF terintegrasi. WAF didasarkan pada Core Rule Set (CRS) dari Open Web Application Security Project (OWASP). Jika kontrol teknis tidak ada, memiliki kontrol kompensasi. Salah satu caranya adalah melalui pemeriksaan kode manual.

Pastikan Anda menggunakan versi terbaru dari seperangkat aturan, dan terapkan aturan yang relevan dengan beban kerja Anda. Aturan harus berjalan dalam mode Pencegahan. Anda dapat menerapkan persyaratan tersebut dengan menambahkan contoh Azure Policy yang memeriksa apakah WAF diaktifkan dan beroperasi dalam mode tersebut.

Simpan log yang dihasilkan oleh Application Gateway WAF untuk mendapatkan detail tentang ancaman yang terdeteksi. Sesuaikan aturan sesuai kebutuhan.

Lakukan pengujian penetrasi yang berfokus pada kode aplikasi. Dengan begitu, praktisi yang bukan bagian dari tim aplikasi akan menemukan celah keamanan (seperti injeksi SQL dan traversal direktori) dengan mengumpulkan informasi, menganalisis kerentanan, dan melaporkan. Dalam latihan ini, praktisi mungkin memerlukan akses ke data sensitif. Untuk memastikan niat tidak disalahgunakan, ikuti panduan yang disediakan dalam Aturan Keterlibatan Pengujian Penetrasi.

Persyaratan 6.7

Pastikan bahwa kebijakan keamanan dan prosedur operasional untuk mengembangkan dan memelihara sistem dan aplikasi yang aman didokumenkan, digunakan, dan diketahui oleh semua pihak yang terpengaruh.

Tanggung jawab

Sangat penting bagi Anda untuk memiliki dokumentasi menyeluruh tentang proses dan kebijakan. Tim Anda harus dilatih untuk memprioritaskan pilihan keamanan sebagai bagian dari siklus hidup beban kerja dan operasi.

Microsoft SDL menyediakan praktik, alat, dan proses terbaik untuk keamanan di seluruh fase proses pengembangan. Praktik Microsoft SDL diikuti secara ketat secara internal dalam cara kami membuat perangkat lunak di Microsoft. Kami juga mengikuti kerangka Operational Security Assurance (OSA) untuk mengoperasikan layanan cloud. Praktik-praktik ini diterbitkan untuk membantu Anda mengamankan aplikasi Anda.

Simpan dokumentasi menyeluruh untuk pengujian penetrasi yang menjelaskan cakupan pengujian, proses triase, dan strategi perbaikan untuk masalah yang terdeteksi. Jika insiden terjadi, gabungkan evaluasi Persyaratan 6 sebagai bagian dari analisis akar penyebab. Jika celah terdeteksi (misalnya, pelanggaran aturan OWASP terdeteksi), tutup celah tersebut.

Dalam dokumentasi, memiliki pedoman yang jelas tentang status perlindungan WAF yang diharapkan.

Orang-orang yang mengoperasikan lingkungan yang diatur harus dididik, diinformasikan, dan diberi insentif untuk mendukung jaminan keamanan. Penting bagi orang-orang yang merupakan bagian dari proses persetujuan dari perspektif kebijakan.

Langkah berikutnya

Batasi akses ke data pemegang kartu berdasarkan kebutuhan pengetahuan bisnis. Identifikasi dan autentikasi akses ke komponen sistem. Batasi akses fisik ke data pemegang kartu.