Cara menggunakan Docker Scan untuk mencari kelemahan dalam imej


Docker kini dilengkapi dengan sokongan pengimbasan keselamatan terbina dalam. Imej bekas boleh diimbas secara setempat untuk mengenal pasti potensi kelemahan. Ini mempercepatkan kitaran pembangunan dengan menyediakan lebih banyak maklum balas segera daripada saluran paip CI dan perkhidmatan awan.

|_+_| Perintah ini tersedia secara lalai dalam Docker versi 20.10. Docker ialah rakan kongsi Snyk untuk membawa analisis keselamatan kepada CLI anda. Kali pertama anda menjalankan arahan, gesaan persetujuan sekali akan dipaparkan. Taip 'y' dan tekan enter untuk mengesahkan penyepaduan dengan Snyk.



Selain mendayakan Snyk, pengimbasan kontena juga memerlukan akses kepada Docker Hub. Jalankan |_+_| untuk memberikan nama pengguna dan kata laluan anda sebelum memulakan imbasan.

Cuba jalankan |_+_| untuk menyemak pemasangan anda. Anda akan melihat nombor versi |_+_| menyambung. Output juga menamakan penyedia imbasan keselamatan yang |__+_| akan menggunakan (kini Snyk). Pembekal tambahan boleh ditambah pada masa hadapan.

Bagaimana imbasan berfungsi

|_+_| untuk menerima nama imej sebagai parameter. Ia akan mengimbas imej terhadap Pangkalan Data Snyk kelemahan kontena. Pelbagai isu diliputi, mulai daripada imej asas yang lapuk hingga eksploitasi terhadap perpustakaan perisian sumber terbuka yang anda gunakan.

Snyk boleh tunjukkan kepada anda |__+_| talian yang memperkenalkan kelemahan. Ini memberi anda titik permulaan segera semasa anda menyelesaikan setiap masalah. Keputusan akan dipaparkan terus pada terminal anda selepas imbasan selesai.

Pangkalan data Snyk sentiasa dikemas kini dengan kelemahan baharu. Jangan menganggap bahawa imej yang melepasi imbasan sekali akan sentiasa mendapat hasil yang sama pada masa hadapan. Amalan yang baik untuk mengimbas imej dengan kerap supaya beban kerja anda kekal selamat.

mengimbas imej

Cara paling mudah untuk mengimbas imej ialah menghantar teg kepada |_+_|:

|_+_|

Imbasan mungkin mengambil masa beberapa saat untuk diselesaikan. Imej yang lebih besar mengambil masa yang lebih lama. Keputusan akan dipaparkan pada terminal anda sebaik sahaja ia tersedia. Contoh output imbasan yang berjaya ditunjukkan di atas.

Walaupun mendapat lampu hijau boleh menenangkan, |__+_| hasilnya adalah lebih menarik apabila kelemahan ditemui. Berikut ialah imbasan yang menemui beberapa isu.

Setiap isu mempunyai penerangan ringkas, petunjuk keterukannya dan pautan ke maklumat lanjut di tapak web Snyk.

Imbasan yang lebih maju

|_+_| ia mempunyai lebih banyak ciri daripada contoh asas di atas. Anda boleh menyesuaikan tingkah laku analisis menggunakan pelbagai bendera.

Mungkin bendera yang paling berguna ialah |_+_|. Ini membawa kepada laluan imej. |_+_|. Apabila anda menyediakan Snyk dengan Dockerfile, ia boleh melakukan analisis lanjut berdasarkan kandungannya. Sesetengah ciri pengimbasan, seperti pengesanan imej asas yang lapuk, hanya tersedia apabila anda menyediakan |_+_| anda sendiri imej.

|_+_|

Ini akan menghasilkan output yang serupa dengan yang berikut:

|_+_|

Baris terakhir akan menunjukkan jika imej asas - |__+_| arahan dalam anda |__+_|-Ia selamat. Jika imej sudah lapuk atau mengandungi kelemahan yang telah diperbaiki, cadangan teg alternatif akan dipaparkan.

Kadangkala anda mungkin mahu menjalankan imbasan yang mengabaikan kelemahan dalam imej asas. Lulus |_+_| bendera untuk mencapai ini. Ini berguna jika imej asas mengandungi banyak isu keterukan rendah dan tiada laluan naik taraf tersedia. Noise Blanker membantu anda menumpukan pada masalah yang boleh diselesaikan dalam lapisan imej.

Penyesuaian output imbasan

|_+_| menerima beberapa pilihan pemformatan yang berbeza. Setakat ini, kami telah melihat output lalai. Kemukakan isu sebagai senarai yang boleh dibaca manusia dalam terminal anda.

melepasi |__+_| flag memberitahu arahan untuk mengeluarkan JSON mentah yang diterimanya. Ini sesuai apabila anda menggunakan |_+_| secara pemrograman dalam skrip CI atau alat pihak ketiga. Anda boleh memproses JSON sendiri untuk mengekstrak maklumat yang anda perlukan sahaja.

Pilihan lain ialah |_+_|. Ini akan menjana paparan pokok pergantungan bagi imej di atas senarai kelemahan. Ini boleh membantu anda menggambarkan cara paket berbeza diletakkan, membolehkan anda mengenal pasti di mana masalah timbul.

Akhir sekali, anda boleh menggunakan |__+_| bendera untuk menapis kelemahan yang tidak diingini. Gunakan |_+_|, |_+_|, atau |_+_| untuk menunjukkan tahap keterukan yang anda minati. Perintah hanya akan melaporkan kelemahan yang dinilai pada atau di atas tahap yang ditentukan.

Had

|_+_| pada masa ini sokongan tiada untuk pengedaran Alpine Linux. Juga, versi 0.7 pemalam mempunyai a kubur kesilapan menyebabkan imbasan setempat gagal dengan ralat 'imej tidak ditemui'. v0.7 hanya boleh mengimbas imej yang wujud dalam Docker Hub dan pendaftaran awam lain. Masalah telah diperbetulkan pada v0.8, tetapi v0.7 masih merupakan versi Docker yang diedarkan secara meluas di Linux.

Selain isu teknikal, perkhidmatan Snyk mengenakan had laju yang ketat pada |__+_| penggunaan. Anda boleh menjalankan 10 imbasan percuma setiap bulan. Jika anda log masuk dengan Snyk, ini meningkat kepada 200 imbasan sebulan.

Jalankan |_+_| untuk mendapatkan URL log masuk unik anda. Salin ke dalam penyemak imbas anda dan ikut arahan untuk mengesahkan. Anda boleh log masuk menggunakan Docker Hub atau pelbagai penyedia pihak ketiga. Setelah anda log masuk, butang 'Sahkan' akan muncul. Klik di sini untuk kembali ke terminal. Anda sepatutnya melihat mesej 'Snyk kini sedia untuk digunakan'.

Ringkasan

Pengimbasan imej terbina dalam Docker memudahkan untuk mencari dan membetulkan kelemahan kontena. Mana-mana pembangun yang mempunyai akses kepada Docker CLI dan imej kontena kini boleh mencari kelemahan tanpa perlu masuk ke dalam pendaftaran.

Imbasan biasa membantu anda melindungi bekas anda daripada kemungkinan ancaman. Imej asas yang lapuk dan kelemahan kebergantungan mempunyai kesan yang ketara pada postur keselamatan, tetapi boleh terlepas dengan mudah tanpa disedari. |_+_| memberi anda lebih keyakinan dalam bekas anda dengan mendedahkan isu yang mungkin anda terlepas pandang.

Apa pendapat kamu?