‫Apa pendapat Anda tentang gambar yang tidak jelas?
‫Apakah ini merupakan trade off yang baik antara ukuran dan keamanan?
‫Saya akan mengatakan jika Anda dapat melakukan gambar
‫yang tidak jelas, dan apa yang kami maksud dengan
‫ini, istilahnya sedang berubah.
‫Saya merasa gambar yang tidak distro
‫itu rumit. Saya merasa seperti mengatakan gambar awal
‫mungkin merupakan cara yang lebih mudah untuk mengatakannya. Tapi, memang benar
‫mengatakan gambar distroless, artinya tidak ada sistem paket
‫dasar. Tidak ada yang pas. Tidak ada Yum.
‫Tidak semua perintah berbeda yang Anda
‫anggap ada dalam wadah jika Anda menggunakan
‫salah satu gambar resmi. Masalahnya, gambar yang tidak
‫jelas tidak terlalu umum karena dua alasan.
‫Pertama, sebagian besar program
‫membutuhkan semua itu agar dapat berfungsi.
‫Mereka membutuhkan dependensi paket yang tepat.
‫Mereka membutuhkan
‫perpustakaan SSL terbuka mereka sendiri. Mereka membutuhkan segala macam hal selain program yang
‫ada di sana, benar.
‫Itu sebagian besar aplikasi hari ini.
‫Golang, C, beberapa bahasa lain dapat membangun binari
‫tunggal yang pada dasarnya memiliki semua yang
‫mereka butuhkan untuk dijalankan, selain
‫dari kernel. Hal-hal itu secara
‫teknis dapat menghapus semua yang ada di bawahnya.
‫Semua layer dan gambar Anda bisa hilang.
‫Saya belum melihat mereka banyak di alam liar karena saya
‫tidak bekerja dengan Google, dan Netflix, dan tim besar
‫orang yang sangat profesional dalam hal ini.
‫Dua alasan di sini adalah, satu, Anda harus
‫memiliki bahasa yang mendukungnya, dan Anda harus memiliki tim yang
‫mengerti bagaimana membangun ini dengan benar.
‫Kemudian, Anda harus benar-benar pandai mengatasi masalah dan cara kerja
‫wadah di ruang nama.
‫Karena begitu gambar distroless berjalan dalam sebuah wadah
‫dan Anda memiliki masalah, Anda bahkan tidak
‫dapat menggunakannya.
‫Tidak ada cangkang. Anda tidak bisa masuk ke dalamnya.
‫Anda tidak bisa melihatnya. Jadi, sekarang alat
‫Anda terbatas, dan Anda harus mulai mencari cara lain
‫untuk menghubungkan alat Anda ke wadah itu.
‫Itu ada. Ada hal-hal di luar
‫sana yang akan melakukan itu untuk Anda, tetapi sebagian besar tergantung pada keahlian Anda
‫dalam hal bagaimana Anda berurusan dengan ruang nama.
‫Bagaimana Anda bisa melompat sebagai sespan ke
‫wadah berjalan di namespace-nya dari baris perintah tanpa
‫menggunakan Docker?
‫Itu adalah jenis masalah yang muncul ketika Anda berurusan
‫dengan pemecahan masalah atau pemantauan dan pemeliharaan sistem
‫ketika Anda memiliki gambar yang tidak jelas.
‫Untuk semua orang yang bekerja dengan saya yang
‫memulai dengan wadah, beberapa proyek pertama
‫mereka dalam wadah, saya tidak menyebutkan hal ini karena ukuran hanya ukuran.
‫Anda selalu dapat menambahkan lebih banyak ruang disk ke server, kan.
‫Tidak ada alasan untuk membuat seluruh tim berlarian mempelajari segala
‫macam perkakas dan hal-hal baru hanya agar Anda dapat memiliki lebih sedikit
‫ruang disk yang digunakan pada server.
‫Saya pribadi tidak peduli soal ukuran.
‫Keamanan adalah hal yang teoritis.
‫Secara teori, semua hal yang dihapus
‫dari gambar kontainer mungkin membuatnya
‫lebih aman. Mari kita bicarakan di alam liar.
‫Berapa banyak peluang yang harus dipusingkan seseorang dengan
‫alat lain di wadah Anda di
‫luar aplikasi Anda? Katakanlah cURL memiliki kerentanan di dalamnya, tetapi
‫aplikasi Anda tidak menggunakan cURL.
‫Itu terjadi pada gambar.
‫Bagaimana seseorang akan mendapatkan akses ke sana, kan?
‫Mereka harus menerobos aplikasi Anda.
‫Jadi, aplikasi Anda harus memiliki exploit.
‫Kemudian secara teori, mereka bisa menjalankan perintah CURL di
‫dalam wadah, benar. Jadi, yang
‫benar-benar penting dari masalah ini adalah bonus
‫keamanan teoritis tidak termasuk aplikasi lain.
‫Kenyataannya adalah, sekali Anda membangun biner
‫statis, Anda sudah memasukkan banyak perpustakaan yang
‫rentan seperti SSL terbuka, yang
‫merupakan cara umum untuk menghubungkan aplikasi dengan keamanan
‫SSL, benar.
‫Nah, jika itu memiliki kerentanan dan Anda secara statis membangunnya ke
‫dalam aplikasi Anda, itu masih ada.
‫Hanya saja bukan file terpisah di wadah.
‫Ada di aplikasi Anda dalam satu biner.
‫Faktanya, ini sebenarnya mempersulit pemindaian keamanan karena
‫karena sekarang, setiap pemindai yang saya ketahui tidak
‫akan menangkap biner SSL terbuka itu jika
‫sudah terpasang. Jadi, banyak hal ini bersifat teoritis.
‫Saya tidak cenderung mendorong tim ke
‫fitur keamanan teoritis. Saya lebih melihat apa
‫yang terjadi di alam liar, benar.
‫Daemon Docker semakin terbuka.
‫Kubernetes tidak memiliki autentikasi yang benar, jadi
‫itu akan terekspos. Itulah masalah sebenarnya yang
‫saya lihat adalah, Anda tahu, hal-hal yang menjadi fokus
‫adalah hal-hal yang terus kita dengar dalam
‫berita bahwa orang-orang diretas, benar. Hal-hal semacam ini dengan
‫keamanan teoretis dalam menghapus file dari gambar.
‫Itu hanya lebih di ranah teoretis.
‫Bukan alasan untuk tidak melakukannya.
‫Sama seperti daftar ini, semua yang ada di daftar ini,
‫saya akan lakukan terlebih dahulu sebelum saya mulai menyusuri
‫jalan yang sulit.
‫Saya menganggap gambar yang tidak jelas relatif sulit.
‫Kecuali jika Anda sudah menjadi programmer Go dan seluruh
‫tim Anda benar-benar hebat dalam ruang nama, dan Docker
‫memerintahkan dan hal-hal seperti itu.
‫Maksud saya bukan hanya perintah Docker biasa.
‫Maksud saya hal-hal rumit yang membantu Anda memecahkan masalah
‫kontainer yang tidak memiliki cangkang, misalnya.
‫Jadi, ini pertanyaan yang bagus.
‫Itu muncul sepanjang waktu.
‫Semua orang bertanya kepada saya tentang hal itu ketika kami melakukan diskusi keamanan
‫karena ini adalah topik yang populer. Tapi, itu tidak masuk dalam
‫sepuluh besar saya.
‫Saya harap itu membantu.