Sematkan keamanan Zero Trust ke alur kerja pengembang Anda

Sebagai pengembang, Anda harus merasa percaya diri dan aman untuk bergerak dengan cepat. Kebutuhan akan keamanan dimulai segera setelah Anda mengkloning kode Anda. Dalam artikel ini, Anda mempelajari cara mengembangkan menggunakan prinsip Zero Trust sehingga Anda dapat berinovasi dengan cepat dan aman. Strategi dan pendekatan keamanan Zero Trust untuk merancang dan menerapkan aplikasi terdiri dari prinsip-prinsip berikut:

  • Memverifikasi secara eksplisit. Selalu autentikasi dan otorisasi berdasarkan semua titik data yang tersedia.
  • Gunakan akses hak istimewa paling sedikit. Batasi akses pengguna dengan Just-In-Time dan Just-Enough-Access (JIT/JEA), kebijakan adaptif berbasis risiko, dan perlindungan data.
  • Anggap ada pelanggaran. Minimalkan radius ledakan dan akses segmen. Verifikasi enkripsi menyeluruh dan gunakan analitik untuk mendapatkan visibilitas, mendorong deteksi ancaman, dan meningkatkan pertahanan.

Menyematkan keamanan ke dalam alur kerja Anda membantu Anda untuk:

  • Menentukan kerentanan keamanan lebih cepat.
  • Menyediakan alat pengembang yang lebih aman.
  • Buat koneksi untuk meningkatkan kolaborasi antara tim keamanan dan pengembangan.

Berinovasi dan amankan alur kerja Anda saat Membuat kode

Solusi terpadu Microsoft, yang diilustrasikan dalam diagram berikut, menjembatani seluruh tim DevOps dan SecOps untuk membantu Anda mempercepat dan mengamankan pengembangan kode ke cloud.

Diagram menunjukkan teknologi yang terdiri dari solusi pengembangan kode-ke-cloud terpadu.

Solusi kami untuk melindungi DevOps bergantung pada dua komponen utama: menyediakan alat kepada pengembang untuk mendukung inovasi dan mengamankan alur kerja pengembang saat pengembang membuat kode. Tonton sesi Percepat dan amankan kode Anda ke pengembangan cloud dari Microsoft Build 2022 untuk mempelajari bagaimana komponen ini dapat mengamankan lingkungan pengembangan Anda.

Terapkan praktik terbaik berikut yang bekerja sama di Azure dan GitHub untuk mengamankan solusi pengembangan Anda.

  • Karena keamanan dimulai ketika pengembang mengkloning kode, aktifkan DevSecOps dengan Azure dan GitHub untuk menghubungkan antara tim DevOps dan SecOps dan mengamankan lingkungan pengembangan Anda.
  • Menyediakan alat pengembang yang fleksibel dan kuat untuk bahasa pemrograman, pengembang, dan platform apa pun dengan Visual Studio dan Visual Studio Code.
  • Sederhanakan orientasi dan kolaborasi pengembang baru dengan seluruh alat siklus hidup pengembangan di cloud menggunakan GitHub Codespaces dan Microsoft Dev Box.
  • Sertakan perlindungan kekayaan intelektual bawaan untuk kode yang tidak lagi Anda sebarkan ke beberapa lokasi. Bantu tim Anda berkolaborasi, mengembangkan, mengotomatiskan, dan menyebarkan kode di mana pun mereka inginkan dengan GitHub Actions dan Azure Pipelines.
  • Dapatkan panduan keamanan dan umpan balik keamanan berkelanjutan dalam alur kerja pengembang dengan pemindaian kode, pemindaian rahasia, dan tinjauan dependensi menggunakan GitHub Advanced Security.
  • Tanamkan keamanan tanpa kepercayaan di seluruh organisasi Anda menggunakan layanan manajemen identitas di ID Microsoft Entra.

Menyesuaikan keamanan Zero Trust ke dalam siklus hidup pengembangan Anda

Dari prakomit hingga penerapan melalui penyebaran lalu operasikan dan pantau, Anda memerlukan solusi keamanan di seluruh tahap siklus hidup pengembangan Anda.

Tahap pra-komitmen

  • Pemodelan ancaman
  • Plug-in keamanan IDE
  • Kait precommit (pengait sebelum komit di sistem kendali versi)
  • Standar pengkodean yang aman
  • Tinjauan serekan

Delapan puluh lima persen cacat kode muncul selama fase prakomitmen pengembangan, sebagian besar karena kesalahan manusia. Fokus pada keamanan sebelum Anda menerapkan kode dengan menulis kode Anda di Visual Studio Code, Visual Studio, atau GitHub Codespaces untuk mengidentifikasi kerentanan dan kode aman. Gunakan peninjauan rekan untuk mendorong praktik pemrograman yang aman.

Tahap Penerapan (CI)

  • Analisis Kode Statis
  • Pengujian unit keamanan
  • Manajemen dependensi
  • Pemindaian Kredensial

Selama tahap penerapan, gunakan metode keamanan yang luas untuk meninjau kode Anda (termasuk analisis kode statis) dan memindai kode Saat Anda memeriksanya ke kontrol sumber Anda. Gunakan pemindaian kredensial (juga dikenal sebagai pemindaian rahasia atau pemindaian token) untuk mengekspos info masuk yang mungkin secara tidak sengaja Anda masukkan ke dalam basis kode. Tangkap dependensi yang tidak aman sebelum Anda memperkenalkannya ke lingkungan Anda dengan tinjauan dependensi.

Tahap penyebaran (CD)

  • Pemindaian infrastruktur sebagai kode (IaC)
  • Pemindaian keamanan dinamis
  • Pemeriksaan konfigurasi cloud
  • Tes penerimaan keamanan

Selama tahap penyebaran, lihat kesehatan basis kode Anda secara keseluruhan dan lakukan pemindaian keamanan tingkat tinggi untuk mengidentifikasi risiko. Lakukan pemeriksaan konfigurasi cloud, pemeriksaan kode infrastruktur, dan pengujian penerimaan keamanan untuk memastikan keselarasan dengan tujuan keamanan organisasi.

Mengoperasikan dan memantau tahapan

  • Memantau secara terus menerus
  • Inteligensi ancaman
  • Evaluasi pasca kejadian tanpa penyalahan

Selama fase operasi dan pemantauan, gunakan pemantauan berkelanjutan dan inteligensi ancaman untuk mengurangi kerentanan dependensi keseluruhan yang mungkin Anda warisi dari waktu ke waktu. Lakukan postmortem untuk mengambil pelajaran yang dipelajari dan lanjutkan iterasi melalui siklus DevOps Anda.

Menerapkan dependensi, kode, dan pemindaian rahasia

Untuk mempermudah pengamanan kode bagi pengembang, gunakan kemampuan asli dan otomatis untuk memberikan umpan balik berkelanjutan dengan fitur keamanan berkelanjutan di seluruh siklus hidup pengembangan Anda. Berikan keamanan keseluruhan kepada pengembang dan komunitas dengan pemindaian dependensi GitHub Advanced Security, pemindaian kode, dan pemindaian rahasia.

Pemindaian dependensi

  • Tinjauan terintegrasi tentang dependensi
  • Pemberitahuan dan pembaruan keamanan

Dapatkan informasi mengenai tingkat risiko dari dependensi dan perbaikan otomatis untuk dependensi yang rentan di basis kode Anda dengan pemindaian dependensi berkelanjutan. Sebagai proses berkelanjutan, ini mendorong pengembang Anda ke arah yang benar dengan cara yang ramah dan tidak mengganggu.

Pemindaian kode

  • Kerangka kerja yang dapat diperluas untuk pemindaian kode
  • Terintegrasi dalam alur kerja pengembang
  • Didukung oleh mesin CodeQL terkemuka di industri

Terapkan pemindaian kode secara otomatis saat Anda membuat kode tanpa langkah tambahan atau eksekusi di lokasi terpisah. Mempermudah perbaikan lebih awal dalam siklus hidup pengembangan Anda dengan melihat hasil pemindaian dalam pengalaman pengguna GitHub yang sudah Anda kenal.

Pemindaian rahasia

  • Cari kebocoran informasi sensitif di repositori publik dan privat
  • Kemitraan dengan 40+ penyedia
  • Perlindungan pendorongan
    • Berpindah dari remediasi ke pencegahan
    • Periksa rahasia dengan keyakinan tinggi
    • Aktifkan perlindungan dengan satu kali pilihan

Pindai kode Anda untuk kredensial dan token yang terkode keras dengan pemindaian rahasia. Pemindaian perlindungan memeriksa rahasia dan token sebelum Anda melakukan push ke basis kode Anda. Periksa rahasia atau kredensial sensitif saat pengembang mengunggah kode, memblokir pengunggahan saat GitHub mengidentifikasi rahasia.

Mengelola dan mengamankan identitas beban kerja

  • Manajemen siklus hidup
  • Pengelolaan akses
  • Akses adaptif yang aman

Dapatkan visibilitas aktivitas identitas beban kerja Anda dan aktifkan penghapusan berkala. Tentukan siapa yang memiliki identitas beban kerja dan bagaimana Anda selalu memperbarui informasi ini di seluruh perubahan organisasi. Lacak kapan terakhir kali Anda menggunakan identitas beban kerja, saat Anda terakhir kali mengeluarkan token dan kapan token kedaluwarsa.

Untuk mengurangi potensi rahasia dan kredensial yang bocor, lakukan tinjauan akses secara berkala. Mengharuskan pengguna untuk meninjau identitas beban kerja mereka dan menghapus hak istimewa akses yang tidak perlu. Minta pengguna melaporkan hak istimewa akses yang terlalu istimewa dan kurang digunakan. Diskusikan bagaimana Anda melindungi identitas beban kerja dari pelanggaran. Aktifkan akses bersyarat untuk memastikan bahwa akses berasal dari sumber daya yang diharapkan.

Mengamankan identitas dengan GitHub OIDC dan Microsoft Entra Workload ID Federation

Untuk lebih mengamankan organisasi Anda, gunakan GitHub OpenID Connect (OIDC) dengan Microsoft Entra Workload Identity Federation dan minimalkan kebutuhan untuk menyimpan dan mengakses rahasia. Kelola rahasia utama server Azure dengan aman dan sumber daya kredensial cloud berumur panjang lainnya untuk meminimalkan waktu henti layanan karena kredensial yang kedaluwarsa. Integrasikan dengan platform pengembang, seperti GitHub Actions, untuk membangun aplikasi Anda dengan aman.

Alur kerja Federasi Identitas Beban Kerja yang direkomendasikan, yang diilustrasikan dalam diagram berikut, terdiri dari enam langkah.

Diagram mengilustrasikan langkah-langkah alur kerja Federasi Identitas Beban Kerja.

  1. Siapkan kepercayaan pada ID Microsoft Entra dan minta token.
  2. Konfigurasikan alur kerja GitHub untuk memungkinkan tindakan mendapatkan token.
  3. Alur kerja GitHub mengirimkan permintaan ke ID Azure.
  4. MICROSOFT Entra ID memvalidasi kepercayaan pada aplikasi dan mengambil kunci untuk memvalidasi token.
  5. MICROSOFT Entra ID mengakses dan mengeluarkan token.
  6. Tindakan penyebaran menggunakan token akses Microsoft Entra untuk disebarkan ke sumber daya di Azure.

Saksikan April Edwards, Senior Cloud Advocate dan DevOps Practice Lead, mendemonstrasikan alur kerja Workload Identity Federation. Demonstrasi dimulai pada penanda waktu 19:14 di sesi Microsoft Build 2022, Mempercepat dan mengamankan kode Anda untuk pengembangan cloud.

Langkah berikutnya

  • Daftar untuk Azure Developer CLI, alat sumber terbuka yang mempercepat waktu yang diperlukan untuk memulai di Azure.
  • Konfigurasikan Azure untuk mempercayai OIDC GitHub sebagai identitas federasi. OpenID Connect (OIDC) memungkinkan alur kerja GitHub Actions Anda untuk mengakses sumber daya di Azure tanpa perlu menyimpan kredensial Azure sebagai rahasia GitHub berumur panjang.
  • Menerapkan prinsip Zero Trust seperti yang dijelaskan dalam memorandum 22-09 (mendukung perintah eksekutif AS 14028, Meningkatkan Keamanan Cyber Bangsa) dengan menggunakan MICROSOFT Entra ID sebagai sistem manajemen identitas terpusat.
  • Mempercepat dan mengamankan kode Anda dengan Azure DevOps dengan alat yang memberi pengembang kode tercepat dan paling aman untuk pengalaman cloud.
  • Mengamankan lingkungan pengembang membantu Anda menerapkan prinsip Zero Trust di lingkungan pengembangan Anda dengan praktik terbaik untuk hak istimewa minimal, keamanan cabang, dan kepercayaan pada alat, ekstensi, dan integrasi.
  • Lingkungan DevOps aman untuk Zero Trust menjelaskan praktik terbaik untuk mengamankan lingkungan DevOps Anda untuk mencegah peretas mengorbankan kotak pengembang, menginfeksi alur rilis dengan skrip berbahaya, dan mendapatkan akses ke data produksi melalui lingkungan pengujian.
  • Kustomisasi token menjelaskan informasi yang dapat Anda terima di token Microsoft Entra. Ini menjelaskan cara menyesuaikan token untuk meningkatkan fleksibilitas dan kontrol sambil meningkatkan keamanan kepercayaan nol aplikasi dengan hak istimewa paling sedikit.
  • Mengonfigurasi klaim grup dan peran aplikasi dalam token menunjukkan kepada Anda cara mengonfigurasi aplikasi dengan definisi peran aplikasi dan menetapkan grup keamanan ke peran aplikasi. Metode ini membantu meningkatkan fleksibilitas dan kontrol sekaligus meningkatkan keamanan nol kepercayaan aplikasi dengan hak istimewa paling sedikit.