Bagikan melalui


Mengamankan lingkungan platform DevOps untuk Zero Trust

Artikel ini membantu Anda, sebagai anggota tim DevOps, untuk menerapkan prinsip Zero Trust dengan hak istimewa paling sedikit dan mengamankan lingkungan platform DevOps. Ini menampilkan konten dari eBook Mengamankan Lingkungan DevOps Enterprise kami dan menyoroti praktik terbaik untuk manajemen rahasia dan sertifikat.

Perusahaan modern mengandalkan platform DevOps untuk penyebaran, termasuk alur dan lingkungan produksi yang diperlukan pengembang untuk menjadi produktif. Di masa lalu, metode keamanan aplikasi tidak mempertimbangkan peningkatan permukaan serangan yang diekspos alur hari ini dan lingkungan produksi. Saat peretas bergeser ke kiri dan menargetkan alat hulu, Anda memerlukan pendekatan inovatif untuk mengamankan lingkungan platform DevOps Anda.

Dalam diagram berikut, perhatikan bahwa lingkungan platform DevOps terhubung ke lingkungan aplikasi dan ke ekstensi alur integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD).

Diagram mengilustrasikan lingkungan platform DevOps dan ancaman keamanan seperti yang dijelaskan dalam eBook yang ditautkan di atas dan dirangkum dalam artikel terkait yang ditautkan di sini.

Ekstensi alur CI/CD menghadirkan peretas dengan peluang untuk terlibat dalam eskalasi hak istimewa dari lingkungan aplikasi. Ekstensi dan integrasi meningkatkan kerentanan permukaan serangan. Sangat penting untuk melindungi dari ancaman penyusupan malware.

Bagaimana dan mengapa penyerang menargetkan alur

Alur dan lingkungan produksi mungkin independen dari praktik dan proses keamanan aplikasi standar. Mereka biasanya memerlukan kredensial akses tingkat tinggi yang dapat memberikan akses mendalam dan bermakna kepada penyerang.

Meskipun penyerang menemukan cara baru untuk membahayakan sistem, vektor serangan yang paling umum untuk alur meliputi:

  • Mengekstrak variabel runtime dan injeksi argumen.
  • Skrip yang mengambil prinsip layanan atau kredensial dari alur.
  • Token akses pribadi yang salah dikonfigurasi yang memungkinkan siapa pun dengan kunci untuk mengakses lingkungan platform DevOps.
  • Kerentanan dan kesalahan konfigurasi dalam alat terintegrasi yang memerlukan akses ke kode (seringkali baca-saja, tetapi terkadang menulis akses). Alat terintegrasi dapat mencakup kerangka kerja pengujian, pengujian keamanan aplikasi statis (SAST), dan pengujian keamanan aplikasi dinamis (DAST).

Praktik terbaik untuk manajemen rahasia dan sertifikat

Menghindari pelanggaran bencana bisa sesederhana manajemen rahasia yang efektif. Diagram berikut mengilustrasikan contoh rahasia, kata sandi, token akses, dan manajemen sertifikat yang efektif.

Diagram mengilustrasikan manajemen rahasia dan sertifikat.

Seperti yang ditunjukkan pada diagram di atas, pengembang memulai build untuk permintaan pelanggan. GitHub kemudian memulai pelari dengan ID peran dan ID rahasia Peran Aplikasi Vault. Entitas Tepercaya secara berkala meminta ID rahasia baru dari Vault dan mendapatkan ID rahasia Rahasia GitHub dari GitHub. Vault menggunakan ID peran Rahasia GitHub dan ID rahasia untuk masuk dan mendapatkan aset penandatanganan kode. Runner menyesuaikan dan menandatangani kode aplikasi seluler.

Praktik terbaik berikut membantu Anda membangun penyiapan aman yang meminimalkan paparan rahasia dan parameter.

  • Menyediakan penyimpanan yang aman untuk rahasia dan sertifikat pada setiap tahap siklus hidup aplikasi. Selalu kembangkan seolah-olah itu adalah proyek sumber terbuka. Pastikan bahwa tim menyimpan rahasia di brankas kunci daripada di kode atau di lingkungan tim. Gunakan layanan cloud Azure Key Vault untuk menyimpan dan mengakses rahasia dengan aman.
  • 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.

Praktik terbaik lainnya untuk keamanan lingkungan DevOps

Untuk membantu melindungi dari insiden keamanan, tinjau praktik terbaik berikut untuk membentengi lingkungan platform DevOps Anda. Temukan diskusi terperinci tentang rekomendasi ini di eBook Mengamankan Lingkungan DevOps Perusahaan kami.

  • Lengkapi setiap lingkungan platform DevOps dengan jejak audit. Tinjau log audit untuk melacak siapa yang mendapatkan akses, perubahan apa yang terjadi, dan tanggal/waktu untuk sistem aktif apa pun. Secara khusus termasuk platform DevOps dengan alur CI/CD yang mengalir ke produksi. Jejak audit untuk alat DevOps menyediakan cara yang kuat untuk memulihkan ancaman dengan lebih cepat, menemukan, dan memperingatkan aktivitas mencurigakan terhadap kemungkinan pelanggaran atau kerentanan, dan menemukan potensi penyalahgunaan data atau hak istimewa. Pastikan kontrol terperinci dan jejak audit tersedia di setiap lingkungan.
  • Amankan rantai pasokan perangkat lunak. Dengan setiap pustaka yang Anda bawa ke basis kode, Anda memperluas rantai pasokan perangkat lunak dan mewarisi dependensi dari setiap proyek atau alat sumber terbuka. Dengan hati-hati, hapus pustaka yang tidak perlu dan komponen sumber terbuka untuk mengurangi permukaan serangan rantai pasokan perangkat lunak Anda.
  • Mengotomatiskan pemindaian templat Infrastructure-as-Code (IaC). Dengan lingkungan IaC, mudah untuk memindai kesalahan konfigurasi, audit kepatuhan, dan masalah kebijakan. Menerapkan pemeriksaan kepatuhan dan kontrol akses meningkatkan postur keamanan seluruh infrastruktur Anda. Verifikasi keamanan integrasi alat yang memenuhi persyaratan sistem otomatisasi.
  • Mengotomatiskan alur kerja persetujuan. Agar alur kerja persetujuan apa pun dapat mendorong kode ke produksi, pemeriksaan otomatis atau manual tertentu harus mengonfirmasi keamanan, nilai bisnis, status, dan kualitas setiap permintaan. Pemeriksaan ini berfungsi sebagai gerbang antara pengembangan dan produksi untuk mencegah serangan penolakan layanan dan peretas yang menyuntikkan kode ke lingkungan produksi tanpa menandai atau memicu pemberitahuan.
  • Izinkan hanya integrasi alat DevOps terverifikasi. Seperti di lingkungan pengembang, alat DevOps dilengkapi dengan ekstensi dan integrasi untuk membuat tim DevOps efisien dan aman. Konfirmasikan bahwa integrasi terverifikasi memerlukan hak istimewa sekecil mungkin untuk menjalankan pekerjaan mereka. Terapkan akses hak istimewa paling sedikit jika memungkinkan dan pastikan tingkat izin baca/tulis yang tepat. Pelajari cara menonaktifkan atau membatasi GitHub Actions untuk organisasi Anda.

Langkah berikutnya

  • 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.
  • Menyematkan keamanan Zero Trust ke alur kerja pengembang Membantu Anda berinovasi dengan cepat dan aman.
  • Lingkungan DevOps aman untuk Zero Trust menjelaskan praktik terbaik untuk mengamankan lingkungan DevOps Anda dengan pendekatan Zero Trust untuk mencegah peretas membahayakan kotak pengembang, menginfeksi alur rilis dengan skrip berbahaya, dan mendapatkan akses ke data produksi melalui lingkungan pengujian.
  • 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.