Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan Amazon Inspector Jenkins plugin
JenkinsPlugin ini memanfaatkan biner Amazon Inspector SBOM Generator dan Amazon Inspector Scan API untuk menghasilkan laporan terperinci di akhir build Anda, sehingga Anda dapat menyelidiki dan memperbaiki risiko sebelum penerapan. Dengan Jenkins plugin Amazon Inspector, Anda dapat menambahkan pemindaian kerentanan Amazon Inspector ke Jenkins pipeline Anda. Pemindaian kerentanan Amazon Inspector dapat dikonfigurasi untuk melewati atau gagal eksekusi pipeline berdasarkan jumlah dan tingkat keparahan kerentanan yang terdeteksi. Anda dapat melihat versi terbaru Jenkins plugin di Jenkins pasar di https://plugins.jenkins.io/amazon-inspector-image-scanner/
penting
Sebelum menyelesaikan langkah-langkah berikut, Anda harus memutakhirkan Jenkins ke versi 2.387.3 atau lebih tinggi agar plugin dapat berjalan.
Langkah 1. Menyiapkan Akun AWS
Konfigurasikan Akun AWS dengan peran IAM yang memungkinkan akses ke Amazon Inspector Scan API. Untuk petunjuk, lihat Menyiapkan AWS akun untuk menggunakan CI/CD integrasi Amazon Inspector.
Langkah 2. Instal Plugin Amazon Inspector Jenkins
Prosedur berikut menjelaskan cara menginstal plugin Amazon Inspector Jenkins dari Jenkins dasbor.
-
Dari dasbor Jenkins, pilih Kel ola Jenkins, lalu pilih Kel ola Plugin.
-
Pilih Tersedia.
-
Dari tab Tersedia, cari Amazon Inspector Scan, lalu instal plugin.
(Opsional) Langkah 3. Tambahkan kredenSIAL docker ke Jenkins
catatan
Hanya tambahkan kredenSIAL docker jika image docker ada di repositori pribadi. Jika tidak, lewati langkah ini.
Prosedur berikut menjelaskan cara menambahkan kredenSIAL docker ke Jenkins dari Jenkins dasbor.
-
Dari dasbor Jenkins, pilih Man age Jenkins, Cre dentials, dan kemudian System.
-
Pilih kredenSIAL Global dan kemudian Tambahkan kredenSIAL.
-
Untuk Jenis, pilih Nama pengguna dengan kata sandi.
-
Untuk Lingkup, pilih Global (Jenkins, node, item, semua item anak, dll).
-
Masukkan detail Anda, lalu pilih OK.
(Opsional) Langkah 4. Tambahkan AWS credentials
catatan
Hanya menambahkan AWS kredenSIAL jika Anda ingin mengotentikasi berdasarkan pengguna IAM. Jika tidak, lewati langkah ini.
Prosedur berikut menjelaskan cara menambahkan AWS kredenSIAL dari Jenkins dasbor.
-
Dari dasbor Jenkins, pilih Man age Jenkins, Cre dentials, dan kemudian System.
-
Pilih kredenSIAL Global dan kemudian Tambahkan kredenSIAL.
-
Untuk Jenis, pilih AWS Credentials.
-
Masukkan detail Anda, termasuk ID K unci Akses dan K unci Akses Rahasia, lalu pilih OK.
Langkah 5. Tambahkan dukungan CSS di a Jenkins script
Prosedur berikut menjelaskan cara menambahkan dukungan CSS dalam Jenkins skrip.
-
Mulai ulang Jenkins.
-
Dari Dasbor, pilih Kel ola Jenkins, Node, N Built-In ode , dan kemudian Konsol Skrip.
-
Di kotak teks, tambahkan baris
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", ""), lalu pilih J alankan.
Langkah 6. Tambahkan Amazon Inspector Scan ke build Anda
Anda dapat menambahkan Amazon Inspector Scan ke build Anda dengan menambahkan langkah build di proyek Anda atau dengan menggunakan pipeline Jenkins deklaratif.
Amazon Inspector Scan ke build Anda dengan menambahkan langkah build di proyek Anda
-
Pada halaman konfigurasi, gulir ke bawah ke Langkah Bang un, dan pilih Tambahkan langkah pembuatan. Kemudian pilih Amazon Inspector Scan.
-
Pilih antara dua metode instalasi inspektor-sbomgen: Otomatis atau Manual. Opsi otomatis memungkinkan plugin untuk mengunduh versi terbaru. Ini juga memastikan Anda selalu memiliki fitur terbaru, pembaruan keamanan, dan perbaikan bug.
-
(Opsi 1) Pilih Otomatis untuk mengunduh versi terbaru dari inspector-sbomgen. Opsi ini secara otomatis mendeteksi sistem operasi dan arsitektur CPU yang saat ini digunakan.
-
(Opsi 2) Pilih Manual jika Anda ingin mengatur biner Amazon Inspector SBOM Generator untuk pemindaian. Jika Anda memilih metode ini, pastikan untuk memberikan jalur lengkap ke versi inspektor-sbomgen yang diunduh sebelumnya.
Untuk informasi selengkapnya, lihat Meng instal Amazon Inspector SBOM Generator (Sbomgen) di Amazon Inspector SBOM Generator.
-
-
Lengkapi langkah berikut untuk menyelesaikan konfigurasi langkah pembuatan Amazon Inspector Scan:
-
Masukkan Id Gambar Anda. Gambar bisa lokal, jarak jauh, atau diarsipkan. Nama gambar harus mengikuti konvensi Docker penamaan. Jika menganalisis gambar yang diekspor, berikan jalur ke file tar yang diharapkan. Lihat contoh jalur Id Gambar berikut:
-
Untuk wadah lokal atau jarak jauh:
NAME[:TAG|@DIGEST] -
Untuk file tar:
/path/to/image.tar
-
-
Pilih Wilayah AWS a untuk mengirim permintaan pemindaian.
-
(Opsional) Untuk Nama Artefak Laporan, masukkan nama khusus untuk artefak yang dihasilkan selama proses pembuatan. Ini membantu mengidentifikasi dan mengelolanya secara unik.
-
(Opsional) Untuk Le wati file, tentukan satu atau beberapa direktori yang ingin Anda kecualikan dari pemindaian. Pertimbangkan opsi ini untuk direktori yang tidak perlu dipindai karena ukurannya.
-
(Opsional) Untuk kreden SIAL Docker, pilih Docker nama pengguna Anda. Lakukan ini hanya jika gambar kontainer Anda berada di repositori pribadi.
-
(Opsional) Anda dapat menyediakan metode AWS otentikasi yang didukung berikut ini:
-
(Opsional) Untuk peran IAM, berikan peran ARN (arn:aws:iam: :role/).
AccountNumberRoleName -
(Opsional) Untuk kredenSIAL AWS, tentukan AWS kredenSIAL untuk diautentikasi berdasarkan pengguna IAM.
-
(Opsional) Untuk nama AWS profil, berikan nama profil untuk diautentikasi menggunakan nama profil.
-
-
(Opsional) Pilih Aktifkan ambang kerentanan. Dengan opsi ini, Anda dapat menentukan apakah build Anda gagal jika kerentanan yang dipindai melebihi nilai. Jika semua nilai sama
0, build berhasil, terlepas dari berapa banyak kerentanan yang dipindai. Untuk skor EPSS, nilainya bisa dari 0 hingga 1. Jika kerentanan yang dipindai melebihi nilai, build gagal, dan semua CVE dengan skor EPSS di atas nilai ditampilkan di konsol.
-
-
Pilih Simpan.
Tambahkan Amazon Inspector Scan ke build Anda menggunakan Jenkins pipa deklaratif
Anda dapat menambahkan Amazon Inspector Scan ke build menggunakan pipeline deklaratif Jenkins secara otomatis atau manual.
Untuk mengunduh pipa deklaratif SBOMgen secara otomatis
-
Untuk menambahkan Amazon Inspector Scan ke build, gunakan contoh sintaks berikut. Ganti
IMAGE_PATHdengan jalur ke gambar Anda (sepertialpine:latest),IAM_ROLEdengan ARN dari peran IAM yang Anda konfigurasikan pada langkah 1, danIDdengan ID Docker kredensi Anda jika Anda menggunakan repositori pribadi. Anda dapat secara opsional mengaktifkan ambang kerentanan dan menentukan nilai untuk setiap tingkat keparahan.
pipeline { agent any stages { stage('amazon-inspector-image-scanner') { steps { script { step([ $class: 'com.amazon.inspector.jenkins.amazoninspectorbuildstep.AmazonInspectorBuilder', archivePath: 'IMAGE_PATH', // Path to your container image or tar file awsRegion: 'REGION', // AWS region for scan requests iamRole: 'IAM ROLE', // IAM role ARN for authentication credentialId: 'Id', // Docker credentials (empty if public repo) awsCredentialId: 'AWS ID', // AWS credential ID for authentication awsProfileName: 'Profile Name', // AWS profile name to use sbomgenSkipFiles: '*.log,node_modules,/tmp/*', // Files/directories to exclude from scanning // Vulnerability threshold settings (updated parameter names) isSeverityThresholdEnabled: false, // Enable/disable build failure on vulnerability count countCritical: 0, // Max critical vulnerabilities before build fails countHigh: 0, // Max high vulnerabilities before build fails countMedium: 5, // Max medium vulnerabilities before build fails countLow: 10, // Max low vulnerabilities before build fails // EPSS (Exploit Prediction Scoring System) settings isEpssThresholdEnabled: false, // Enable/disable EPSS-based failure threshold epssThreshold: 0.7, // EPSS score threshold (0.0 to 1.0) // NEW FEATURE: CVE Suppression - ignore specific false positives isSuppressedCveEnabled: false, // Enable CVE suppression feature suppressedCveList: '', // Comma-separated list of CVEs to ignore in thresholds // NEW FEATURE: Auto-Fail CVEs - always fail on critical security issues isAutoFailCveEnabled: false, // Enable auto-fail CVE feature autoFailCveList: '' // Comma-separated list of CVEs that always fail build ]) } } } }
Untuk mengunduh pipa deklaratif SBOMgen secara manual
-
Untuk menambahkan Amazon Inspector Scan ke build, gunakan contoh sintaks berikut. Ganti
SBOMGEN_PATHdengan jalur ke Amazon Inspector SBOM Generator yang Anda instal di langkah 3,IMAGE_PATHdengan jalur ke gambar Anda (sepertialpine:latest),IAM_ROLEdengan ARN dari peran IAM yang Anda konfigurasikan pada langkah 1, danIDdengan ID Docker kredensi Anda jika Anda menggunakan repositori pribadi. Anda dapat secara opsional mengaktifkan ambang kerentanan dan menentukan nilai untuk setiap tingkat keparahan.
catatan
Tem Sbomgen patkan di direktori Jenkins, dan berikan path ke direktori Jenkins di plugin (seperti/opt/folder/arm64/inspector-sbomgen).
pipeline { agent any stages { stage('amazon-inspector-image-scanner') { steps { script { step([ $class: 'com.amazon.inspector.jenkins.amazoninspectorbuildstep.AmazonInspectorBuilder', archivePath: 'IMAGE_PATH', // Path to your container image or tar file awsRegion: 'REGION', // AWS region for scan requests iamRole: 'IAM ROLE', // IAM role ARN for authentication credentialId: 'Id', // Docker credentials (empty if public repo) awsCredentialId: 'AWS ID', // AWS credential ID for authentication awsProfileName: 'Profile Name', // AWS profile name to use sbomgenSkipFiles: '*.log,node_modules,/tmp/*', // Files/directories to exclude from scanning // Vulnerability threshold settings (updated parameter names) isSeverityThresholdEnabled: false, // Enable/disable build failure on vulnerability count countCritical: 0, // Max critical vulnerabilities before build fails countHigh: 0, // Max high vulnerabilities before build fails countMedium: 5, // Max medium vulnerabilities before build fails countLow: 10, // Max low vulnerabilities before build fails // EPSS (Exploit Prediction Scoring System) settings isEpssThresholdEnabled: false, // Enable/disable EPSS-based failure threshold epssThreshold: 0.7, // EPSS score threshold (0.0 to 1.0) // NEW FEATURE: CVE Suppression - ignore specific false positives isSuppressedCveEnabled: false, // Enable CVE suppression feature suppressedCveList: '', // Comma-separated list of CVEs to ignore in thresholds // NEW FEATURE: Auto-Fail CVEs - always fail on critical security issues isAutoFailCveEnabled: false, // Enable auto-fail CVE feature autoFailCveList: '' // Comma-separated list of CVEs that always fail build ]) } } } }
Plugin ini mencakup fitur untuk mengelola kerentanan keamanan.
Daftar CVE yang ditekan
Pemindaian kadang-kadang dapat mendeteksi kerentanan yang bukan ancaman aktual. Untuk mencegah kesalahan positif ini menghentikan build Anda, Anda dapat menambahkannya ke daftar yang ditekan.
isSuppressedCveEnabled: true, suppressedCveList: 'CVE-2023-1234,CVE-2023-5678'
Ini mengabaikan CV tertentu saat memeriksa apakah build Anda akan gagal. Anda hanya boleh menambahkan positif palsu ke daftar yang ditekan jika Anda mengatasinya. Setelah Anda menambahkan kerentanan ini ke daftar yang ditekan, CVE masih muncul di laporan keamanan Anda, tetapi tidak akan menyebabkan kegagalan build.
Auto-Fail Daftar CVE
Untuk kerentanan keamanan kritis, Anda dapat membuat daftar yang selalu menyebabkan build Anda gagal.
isAutoFailCveEnabled: true, autoFailCveList: 'CVE-2024-9999'
Ini selalu menyebabkan build Anda gagal, apa pun pengaturan yang Anda aktifkan. Anda hanya boleh membuat daftar ini untuk masalah keamanan prioritas tinggi yang tidak boleh digunakan. Daftar ini mengesampingkan semua pengaturan ambang batas lainnya untuk keamanan maksimum.
Langkah 7. Lihat laporan kerentanan Amazon Inspector Anda
-
Selesaikan pembangunan baru proyek Anda.
-
Setelah build selesai, pilih format output dari hasil. Jika Anda memilih HTML, Anda memiliki opsi untuk mengunduh laporan versi SBOM atau CSV JSON. Berikut ini menunjukkan contoh laporan HTML:
catatan
Anda dapat menggunakan skrip yang lebih lama, karena plugin mendukung nama parameter lama. Namun, Anda akan menemukan peringatan di konsol yang menyarankan Anda memperbarui parameter ini ke yang lebih baru. Misalnya, jika Anda menggunakanisThresholdEnabled, Anda akan menemukan peringatan yang menyarankan Anda memperbarui parameter keisSeverityThresholdEnabled.
Pemecahan masalah
Berikut ini adalah kesalahan umum yang dapat Anda temui saat menggunakan plugin Amazon Inspector ScanJenkins.
Gagal memuat kredenSIAL atau kesalahan pengecualian sts
Kesalahan:
InstanceProfileCredentialsProvider(): Failed to load credentials or sts exception.
Resolusi
Dapatkan aws_access_key_id dan aws_secret_access_key untuk AWS akun Anda. Siapkan aws_access_key_id dan aws_secret_access_key masuk~/.aws/credentials.
Gagal memuat gambar dari sumber tarball, lokal, atau jarak jauh
Kesalahan:
2024/10/16 02:25:17 [ImageDownloadFailed]: failed to load image from tarball, local, or remote sources.
catatan
Kesalahan ini dapat terjadi jika plugin Jenkins tidak dapat membaca gambar kontainer, gambar kontainer tidak ditemukan di Docker mesin, dan gambar kontainer tidak ditemukan di registri wadah jarak jauh.
Penyelesaian:
Verifikasi yang berikut ini;
-
Pengguna plugin Jenkins memiliki izin membaca untuk gambar yang ingin Anda pindai.
-
Gambar yang ingin Anda pindai ada di Docker mesin.
-
URL gambar jarak jauh Anda benar.
-
Anda diautentikasi ke registri jarak jauh (jika ada).
Inspector-sbomgen kesalahan jalur
Kesalahan:
Exception:com.amazon.inspector.jenkins.amazoninspectorbuildstep.exception.SbomgenNotFoundException: There was an issue running inspector-sbomgen, is /opt/inspector/inspector-sbomgen the correct path?
Penyelesaian:
Selesaikan prosedur berikut untuk menyelesaikan masalah.
-
Tempatkan arsitektur OS yang benar Inspector-sbomgen di Jenkins direktori Untuk informasi selengkapnya, lihat Amazon Inspector SBOM Generator.
-
Berikan izin yang dapat dieksekusi ke biner menggunakan perintah berikut:
chmod +x inspector-sbomgen. -
Berikan jalur Jenkins mesin yang benar di plugin, seperti
/opt/folder/arm64/inspector-sbomgen. -
Simpan konfigurasi, dan jalankan Jenkins pekerjaan.