Amalan Terbaik Keselamatan dalam CI/CD
Fahami kerentanan keselamatan yang lazim dalam saluran paip serta amalan terbaik untuk mengurangkan risiko sepanjang kitar hayat pembangunan.
Amalan Terbaik Keselamatan dalam CI/CD ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Mengapa Keselamatan CI/CD Penting
Dalam pembangunan perisian moden, saluran CI/CD amat penting. Saluran ini mengautomasikan pembinaan, pengujian dan penggunaan kod anda.
Namun, kuasa yang besar datang bersama tanggungjawab yang besar! Melindungi saluran ini amat penting untuk melindungi kod, data dan infrastruktur anda daripada serangan berniat jahat atau kerentanan yang berlaku secara tidak sengaja.
Kenal Pasti Kerentanan Saluran
Sebelum melindunginya, kita perlu memahami perkara yang hendak dilindungi. Saluran CI/CD boleh terdedah kepada beberapa jenis serangan:
- Bukti Kelayakan Terjejas: Kunci API atau token yang dicuri.
- Kebergantungan Berbahaya: Penggunaan pustaka yang mempunyai kecacatan keselamatan yang diketahui.
- Konfigurasi Tidak Selamat: Kawalan akses atau langkah binaan yang dikonfigurasi dengan salah.
- Serangan Rantaian Bekalan: Pengubahan proses binaan itu sendiri.
Gunakan Akses Keistimewaan Minimum
Prinsip Keistimewaan Minimum (PoLP) bermaksud memberikan pengguna dan proses automatik (seperti tugas CI/CD) hanya keizinan minimum yang diperlukan untuk menjalankan tugas mereka, dan tidak lebih daripada itu.
Ini mengehadkan kerosakan yang mungkin berlaku jika bukti kelayakan atau tugas terjejas. Bagi GitHub Actions, tentukan keizinan khusus untuk setiap tugas.
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read # Only read access to repo code
packages: write # Only write to package registry
id-token: write # Needed for OIDC authentication
steps:
- uses: actions/checkout@v4
- run: echo "Build logic here"Lindungi Kod & Kebergantungan
Kod sumber anda ialah teras aplikasi anda. Pastikan kod itu selamat sejak awal.
- Semakan Kod: Semakan rakan sebaya dapat mengesan kecacatan keselamatan yang berpotensi.
- Analisis Statik: Gunakan alat untuk mengimbas kod bagi mencari kerentanan (walaupun SAST khusus akan dibincangkan dalam pelajaran kemudian).
- Pengimbasan Kebergantungan: Periksa secara berkala kerentanan yang diketahui dalam pustaka pihak ketiga.
Urus Kebergantungan Pihak Ketiga
Kebanyakan projek bergantung pada pustaka sumber terbuka. Walaupun berkuasa, pustaka ini boleh memperkenalkan kerentanan jika tidak diurus dengan teliti.
- Gunakan Scanner Kebergantungan: Sepadukan alat seperti Dependabot untuk menyemak kerentanan yang diketahui secara automatik.
- Tetapkan Kebergantungan: Nyatakan versi tepat kebergantungan bagi mengelakkan perubahan yang tidak dijangka.
- Kemas Kini Berkala: Pastikan kebergantungan sentiasa dikemas kini untuk mendapatkan tampalan keselamatan.
Kukuhkan Persekitaran Binaan Anda
Persekitaran tempat kod anda dibina dan diuji hendaklah seaman mungkin. Anggap persekitaran ini sebagai bilik bersih untuk perisian anda.
- Pelaksana Sementara: Gunakan persekitaran baharu dan terpencil untuk setiap tugas. Pelaksana yang dihoskan GitHub bersifat sementara secara lalai.
- Alat Minimum: Pasang hanya alat yang diperlukan untuk mengurangkan permukaan serangan.
- Imej Asas Selamat: Jika menggunakan bekas, gunakan imej asas yang dipercayai dan dikukuhkan.
NEVER Tetapkan Rahsia Secara Tegar
Maklumat sensitif seperti kunci API, bukti kelayakan pangkalan data atau token peribadi hendaklah NEVER ditetapkan secara terus dalam repositori atau fail aliran kerja anda.
Sentiasa gunakan sistem pengurusan rahsia yang selamat. Dengan ini, data sensitif tidak berada dalam kawalan versi dan kekal disulitkan.
Sahkan Masukan Aliran Kerja
Jika aliran kerja anda menerima masukan luaran (contohnya, daripada pencetus manual atau komen permintaan tarik), masukan ini mestilah disahkan dan dibersihkan.
Masukan yang tidak dipercayai boleh menjadi saluran untuk serangan suntikan, sama seperti aplikasi web mengesahkan masukan pengguna.
on:
workflow_dispatch:
inputs:
deploy_env:
description: 'Environment to deploy to (e.g., staging, production)'
required: true
type: choice
options:
- 'staging'
- 'production'
version_tag:
description: 'Git tag for the release version'
required: true
type: stringPengelogan & Pemantauan Aktiviti Saluran
Keterlihatan terhadap aktiviti saluran anda ialah kawalan keselamatan yang penting. Pengelogan yang baik membantu anda mengesan dan bertindak balas terhadap tingkah laku yang mencurigakan dengan cepat.
- Pengelogan Menyeluruh: Rekodkan semua peristiwa dan tindakan penting dalam aliran kerja anda.
- Pantau Anomali: Cari semakan keselamatan yang gagal, cubaan akses tanpa kebenaran atau tempoh binaan yang luar biasa.
- Pemberitahuan: Sediakan amaran untuk peristiwa keselamatan yang kritikal.
Semak Pemahaman Anda
Mari uji pengetahuan anda tentang amalan terbaik keselamatan CI/CD.
Ringkasan Pelajaran & Langkah Seterusnya
Tahniah! Anda telah mempelajari amalan terbaik keselamatan yang penting untuk saluran CI/CD anda.
- Gunakan Prinsip Keistimewaan Minimum.
- Lindungi kod sumber anda dan urus kebergantungan.
- Kukuhkan persekitaran binaan anda.
- Jangan tetapkan rahsia secara tegar.
- Sahkan semua masukan aliran kerja.
- Laksanakan pengelogan dan pemantauan yang kukuh.
Amalan ini membentuk asas yang kukuh untuk kitar hayat DevOps yang selamat. Dalam pelajaran akan datang, kita akan mendalami alat dan teknik khusus seperti GitHub Secrets dan SAST.
Pelajari Kem Intensif DevOps dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 142
- Pelajaran
- 568
Soalan Lazim
Adakah pelajaran “Amalan Terbaik Keselamatan dalam CI/CD” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Amalan Terbaik Keselamatan dalam CI/CD”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Amalan Terbaik Keselamatan dalam CI/CD”?
Fahami kerentanan keselamatan yang lazim dalam saluran paip serta amalan terbaik untuk mengurangkan risiko sepanjang kitar hayat pembangunan. Anda berlatih Kem Intensif DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif DevOps?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “Amalan Terbaik Keselamatan dalam CI/CD” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif DevOps ini?
Ya. Setiap pelajaran Kem Intensif DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Amalan Terbaik Keselamatan dalam CI/CD
- Pengurusan Rahsia dengan GitHub
- Ujian Keselamatan Aplikasi Statik (SAST)
- Keselamatan Kebergantungan dan Rantaian Bekalan (SCA)