GNU/Linux >> Belajar Linux >  >> Linux

Menjelajahi perintah rahasia Podman baru

Kita semua berurusan dengan informasi sensitif saat bekerja dengan sistem komputer. Sysadmin memindahkan kunci SSH dan developer web perlu khawatir tentang token API. Masalah dengan informasi sensitif adalah sensitif , yang berarti dapat menyebabkan bencana keamanan jika entah bagaimana jatuh ke tangan yang salah. Tidak terkecuali container untuk masalah ini—pengguna perlu memanfaatkan informasi sensitif di dalam container sekaligus juga perlu menjaga keamanan informasi sensitif.

[ Anda mungkin juga senang membaca: Wadah tanpa root menggunakan Podman ]

Mengapa rahasia?

Bagaimana jika seseorang perlu menjalankan database dalam container dan kredensial untuk database perlu dimasukkan ke dalam container? Ini dapat dilakukan dengan berbagai cara. Anda cukup membuat file saat menjalankan penampung dan menyimpan kredensial di sana. Namun, ini berbahaya. Jika wadah diekspor ke dalam gambar, kredensial juga akan diekspor. Siapapun yang memiliki kendali atas gambar akan dapat mengakses database. Opsi lainnya adalah meneruskan kredensial menggunakan CLI, tetapi hal itu mengharuskan memasukkan data setiap saat, yang bisa jadi membosankan.

Bagaimana jika ada metode untuk mengelola informasi sensitif secara terpusat?

Perintah baru, podman secret , adalah sekumpulan subperintah dan opsi yang mengelola informasi sensitif dengan cara yang mudah digunakan dan aman. Ini memungkinkan pengguna untuk dengan mudah menggunakan konten sensitif di dalam wadah tetapi mencegahnya berakhir di suatu tempat di luar wadah, seperti di registri gambar. Kami telah menerapkan seluruh rangkaian sub-perintah untuk podman secret :buat , rm , ls , dan periksa , untuk membuat dan memanipulasi rahasia, serta --secret bendera untuk menyuntikkan rahasia ke dalam wadah.

Bagaimana cara menggunakannya?

Saat rahasia podman buat dijalankan, Podman mengharapkan file dengan data disimpan.

$ echo "secretdata"> secretfile$ podman secret create secretname secretfilee17465c9772b38f336fc4cbac 

pemeriksaan rahasia podman perintah tidak akan menampilkan data yang disimpan tetapi hanya metadata pada rahasia.

$ podman secret inspect secretname[    {        "ID":"e17465c9772b38f336fc4cbac",        "CreatedAt":"2021-02-12T09:05:49.661504248-05:00",        "UpdatedAt":"2021-02-02-" 12T09:05:49.661504248-05:00",        "Spec":{            "Name":"secretname",            "Driver":{                "Name":"file",              }      } 

Tentu saja, Anda juga dapat membuat daftar rahasia dan menghapusnya.

$ Podman Secret LSID Driver Driver Dibuat Diperbarui E17465C9772B38F336FC4CBAC File SecretName 1 detik 1 detik $ PODMAN Rahasia RM SecretNeMee17465C972B38F336FC4CBAC >

Untuk menggunakan rahasia dan mengakses data rahasia, wadah dapat dibuat atau dijalankan dengan --secret bendera. Di dalam container, data rahasia dapat diakses di dalam file di /run/secrets/secretname . Anda dapat menggunakan --rahasia tandai beberapa kali untuk menambahkan banyak rahasia ke wadah.

$ podman run --secret secretname --name foo alpine cat /run/secrets/secretnamesecretdata 

Rahasia tidak akan dikomit ke gambar atau diekspor dengan podman commit atau ekspor podman memerintah. Ini mencegah informasi sensitif secara tidak sengaja didorong ke registri publik atau diberikan kepada orang yang salah.

  $ podman komit foo secrimgGetting sumber gambar signaturesCopying gumpalan 1119ff37d4a9 dilewati:sudah eksis Menyalin gumpalan 3dd965b4468a dilakukan Menyalin konfigurasi 263fcafb79 dilakukan Menulis manifest untuk destinationStoring gambar signatures263fcafb790dfdf6a7312953d3600ff9d990a664ec341ded7d0a6dfa1e71bb5d $ podman run secrimg cat / run / rahasia / mysecretcat:tidak dapat membuka '/run/secrets/mysecret':Tidak ada file atau direktori seperti itu 

Bagaimana cara kerjanya?

Saat pengguna menggunakan --secret flag, Podman mengambil data rahasia dan menyimpannya di tmpfs . Itu kemudian me-mount file ke dalam wadah di /run/secrets/secretname . Dari sana, rahasia dapat digunakan di dalam wadah seperti biasa, apakah itu kunci basis data atau sertifikat TLS.

Rahasia hanya ada di mesin pembuat rahasia atau di dalam wadah jika sudah siap dijalankan. Rahasia dirancang khusus untuk tidak ada dalam gambar:podman commit tidak akan memasukkan rahasia ke dalam gambar, atau podman mengekspor . Jika seseorang membuat gambar dari wadah dengan rahasia, lalu jalankan wadah dari gambar tersebut, file di /run/secret/mysecret tidak akan ada. Ini mencegah data rahasia secara tidak sengaja didorong ke registri, sehingga mencegah informasi sensitif dan membahayakan dari yang ada di mana pun seharusnya tidak.

Pekerjaan masa depan

Untuk saat ini, solusi ini berfungsi untuk mengelola rahasia. Namun, satu-satunya driver yang diterapkan saat ini untuk menyimpan informasi sensitif adalah driver file, yang berarti bahwa data akan disimpan di disk dalam file tidak terenkripsi yang dikendalikan oleh host container. Kami merencanakan peningkatan lebih lanjut, seperti menerapkan enkripsi atau menggunakan driver lain. Kami juga ingin mendukung variabel lingkungan rahasia, yang merupakan variabel lingkungan yang diatur di dalam wadah tetapi tidak direkam dalam gambar. Keterlibatan masyarakat dalam tugas ini akan diterima dengan senang hati.

[ Memulai container? Lihat kursus gratis ini. Menyebarkan aplikasi kemas:Tinjauan teknis. ]

Keren. Saya menginginkannya.

Rahasia Podman tersedia di Podman 3.1.0. Jika Anda ingin mencobanya, Anda bisa mendapatkan Podman dengan mengikuti petunjuk penginstalan berikut. Jika Anda sudah memiliki Podman, Anda bisa mendapatkan fitur rahasia dengan mengupgrade ke Podman 3.1.0. Jangan ragu untuk menghubungi tim Podman untuk pertanyaan atau umpan balik apa pun juga. Pengembang podman sering nongkrong di saluran freenode #podman. Anda dapat mengirim email kepada kami dengan menggunakan milis podman. Kami juga mengadakan pertemuan komunitas bulanan. Silakan mampir dan menyapa di sana juga.


Linux
  1. Perintah "eval" Di Bash?

  2. Tujuan Perintah 'instal'?

  3. Jelaskan Pilihan Perintah Readlink?

  1. Tujuan Perintah Hash?

  2. 5 Contoh Praktis Perintah dd di Linux

  3. Perintah cari di Linux

  1. Kuasai perintah Linux ls

  2. Pengantar perintah alternatif di Linux

  3. Tampilan praktis dari perintah xargs