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 menjemput di seluruh tim DevOps dan SecOps dan mengamankan lingkungan pengembangan Anda.
  • Menyediakan alat pengembang yang fleksibel dan kuat untuk pengembang, bahasa, dan tumpukan 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 precommit

  • Pemodelan ancaman
  • Plug-in keamanan IDE
  • Kait precommit
  • Standar pengkodan 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 tinjauan serekan untuk mendorong praktik pengodian yang aman.

Tahap Penerapan (CI)

  • Analisis Kode Statis
  • Pengujian unit keamanan
  • Manajemen dependensi
  • Pemindaian info masuk

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 tahap

  • Memantau secara terus menerus
  • Inteligensi ancaman
  • Postmortem tanpa cela

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 dependensi terintegrasi
  • Pemberitahuan dan pembaruan keamanan

Dapatkan tingkat risiko dependensi dan perbaikan otomatis ke 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 saat Anda membuat kode tanpa langkah lain untuk dijalankan di lokasi terpisah. Perbaiki lebih awal dalam siklus hidup pengembangan Anda dengan melihat hasil pemindaian dalam pengalaman pengguna GitHub anda yang akrab.

Pemindaian rahasia

  • Pindai rahasia yang bocor 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 pilih

Pindai kode Anda untuk kredensial dan token yang dikodekan secara permanen dengan pemindaian rahasia. Mendorong pemindaian perlindungan untuk rahasia dan token sebelum Anda mendorong ke basis kode Anda. Periksa rahasia keyakinan tinggi saat pengembang mendorong kode, memblokir pendorongan saat GitHub mengidentifikasi rahasia.

Mengelola dan mengamankan identitas beban kerja

  • Manajemen siklus hidup
  • Tata kelola akses
  • Akses adaptif yang aman

Dapatkan visibilitas ke dalam aktivitas identitas beban kerja Anda dan aktifkan pembersihan 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 Federasi ID Beban Kerja Microsoft Entra

Untuk lebih mengamankan organisasi Anda, gunakan GitHub OpenID Koneksi (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.

Tonton April Edwards, Senior Cloud Advocate, dan DevOps Practice Lead, demo alur kerja Federasi Identitas Beban Kerja. Demonstrasi dimulai pada tanda 19:14 di sesi Microsoft Build 2022, Mempercepat dan mengamankan kode Anda ke 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 Koneksi (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 paling sedikit, keamanan cabang, dan alat, ekstensi, dan integrasi kepercayaan.
  • 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.