


Cara menggunakan Docker untuk pengasingan keselamatan kontena dan pengurusan kebenaran
Dengan perkembangan pesat teknologi kontena, isu keselamatan secara beransur-ansur menarik perhatian orang ramai. Dalam persekitaran penggunaan kontena, pengasingan keselamatan dan pengurusan kebenaran kontena adalah penting. Artikel ini akan memperkenalkan cara menggunakan Docker untuk pengasingan selamat dan pengurusan kebenaran bagi bekas, dan memberikan contoh kod untuk membantu pembaca memahami dengan lebih baik.
1. Gunakan pengguna dan kumpulan untuk pengasingan keselamatan
Secara lalai, Docker menggunakan keistimewaan pengguna root apabila dijalankan dalam bekas. Jika tidak dihadkan, bekas itu akan mempunyai semua kebenaran hos, yang jelas tidak selamat. Oleh itu, untuk menjadikan bekas Docker lebih selamat, kami perlu mengehadkan kebenaran bekas itu. Satu cara untuk melakukan ini adalah melalui pengasingan keselamatan melalui pengguna dan kumpulan.
- Buat pengguna dan kumpulan baharu
Pertama, kita perlu mencipta pengguna dan kumpulan baharu dalam imej Docker untuk mengehadkan kebenaran bekas. Gunakan arahan berikut untuk mencipta pengguna dan kumpulan baharu dalam Dockerfile.
RUN groupadd -r mygroup && useradd -r -g mygroup myuser
Arahan ini akan mencipta pengguna baharu bernama "myuser" dan menambahkannya pada kumpulan baharu bernama "mygroup". Gunakan parameter "-r" untuk menetapkan pengguna dan kumpulan ke tahap sistem.
- Menukar Pengguna dan Kumpulan
Selepas mencipta pengguna dan kumpulan baharu, kita perlu bertukar kepada pengguna baharu dalam aplikasi dalam bekas. Ini boleh dicapai dengan menetapkan ENTRYPOINT atau CMD.
USER myuser
Kemudian, kita boleh bertukar ke kumpulan baharu dengan arahan berikut.
RUN chgrp mygroup /path/to/file
Arahan ini menukar kumpulan fail /group/to/file kepada "mygroup".
2. Gunakan ruang nama bekas untuk pengasingan selamat
Ruang nama bekas ialah ciri kernel Linux yang membenarkan pengasingan logik proses dan sumber. Dengan menggunakan ruang nama kontena, anda boleh mencipta persekitaran berjalan terpencil antara bekas, dengan itu meningkatkan keselamatan kontena.
- Rangkaian Pengasingan
Menggunakan pengasingan rangkaian, anda boleh mengasingkan bekas daripada hos dan bekas lain. Kita boleh mengasingkan bekas daripada rangkaian peribadi menggunakan arahan berikut.
docker run --net=bridge --name=mycontainer imagename
- Asingkan PID
Menggunakan pengasingan PID, anda boleh mengasingkan bekas daripada proses lain pada hos. Kita boleh mengasingkan bekas dengan PID peribadi menggunakan arahan di bawah.
docker run --pid=container:target_container --name=mycontainer imagename
- Asingkan UTS
Menggunakan pengasingan UTS, anda boleh mengasingkan bekas daripada hos. Gunakan arahan di bawah untuk mengasingkan bekas dengan UTS peribadi.
docker run --uts=private --name=mycontainer imagename
3 Gunakan Seccomp untuk pengurusan kebenaran
Seccomp ialah fungsi kernel Linux yang digunakan untuk mengehadkan akses proses kepada panggilan sistem. Menggunakan Seccomp, anda boleh mentakrifkan panggilan sistem bahawa proses dibenarkan untuk dilaksanakan, dengan itu mengurangkan risiko proses yang mengeksploitasi kelemahan peningkatan keistimewaan. Dalam Docker, anda boleh menggunakan dasar Seccomp untuk mengehadkan keupayaan bekas.
- Buat profil Seccom
Mula-mula, kita perlu mencipta profil Seccomp. Anda boleh menggunakan editor teks untuk mencipta fail yang dipanggil "seccomp.json" dan mentakrifkan panggilan sistem yang dibenarkan oleh bekas.
{ "defaultAction": "SCMP_ACT_ALLOW", "syscalls": [ { "name": "write", "action": "SCMP_ACT_ERRNO", "args": [ { "index": 0, "value": 1 }, { "index": 1, "value": 2 } ] }, { "name": "open", "action": "SCMP_ACT_ALLOW" }, { "name": "close", "action": "SCMP_ACT_ALLOW" } ] }
Dalam contoh di atas, panggilan sistem "tulis" dan "buka" dibenarkan, dan panggilan sistem "tutup" dibenarkan ditutup.
- Gunakan dasar Seccomp pada bekas
Gunakan arahan di bawah untuk menggunakan dasar Seccomp pada bekas.
docker run --security-opt seccomp=./seccomp.json --name=mycontainer imagename
Di sini, kami menetapkan fail seccomp.json sebagai fail konfigurasi dasar Seccom bagi bekas semasa membuat bekas.
Ringkasan
Artikel ini memperkenalkan cara menggunakan Docker untuk pengasingan keselamatan dan pengurusan kebenaran kontena, termasuk menggunakan pengguna dan kumpulan, menggunakan ruang nama kontena dan menggunakan Seccomp. Dengan aplikasi kontena yang meluas pada masa hadapan, keselamatan kontena akan menarik lebih banyak perhatian. Adalah disyorkan bahawa pemaju dan kakitangan operasi dan penyelenggaraan mesti mengukuhkan pengasingan keselamatan dan pengurusan kebenaran kontena apabila menggunakan kontena.
Atas ialah kandungan terperinci Cara menggunakan Docker untuk pengasingan keselamatan kontena dan pengurusan kebenaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Mengimport imej di Docker melibatkan mendapatkan imej kontena yang dibina dari repositori jauh dan mengimportnya ke repositori tempatan. Langkah -langkah termasuk: Tarik imej (Docker Pull) Senaraikan imej Docker (imej docker) dan import imej ke repositori tempatan (Docker Import)

Platform Hosting Imej Docker digunakan untuk mengurus dan menyimpan imej Docker, menjadikannya mudah bagi pemaju dan pengguna untuk mengakses dan menggunakan persekitaran perisian prebuilt. Platform biasa termasuk: Docker Hub: Dikekalkan secara rasmi oleh Docker dan mempunyai perpustakaan cermin yang besar. GitHub Container Registry: Mengintegrasikan ekosistem GitHub. Registry Container Google: Dihoskan oleh Google Cloud Platform. Registry Container Elastik Amazon: Dihoskan oleh AWS. Quay.io: oleh Red Hat

Docker boleh menyesuaikan tetapan apabila menarik imej, termasuk: Menentukan versi imej, repositori cermin, tarik had laju, pengesahan, dan menarik imej tanpa tagless. Tetapan ini boleh dilaksanakan melalui perintah Docker Pull dan pilihannya, termasuk - --mana, - -Limit -rate, -Auth, dan -A.

Untuk menghentikan sambungan rangkaian Docker, ikuti langkah -langkah berikut: 1. Tentukan nama rangkaian untuk berhenti; 2. Gunakan perintah berhenti rangkaian Docker untuk menghentikan rangkaian; 3. Semak status berhenti untuk mengesahkan bahawa rangkaian dihentikan.

Apabila repositori Docker digantung, anda boleh melakukan perkara berikut: periksa sambungan rangkaian dan mulakan semula perkhidmatan Docker; Gunakan imej tempatan atau cuba menggantikan repositori; Buat repositori anda sendiri atau hubungi penyedia repositori.

Cara keluar dari bekas Docker: Jalankan Docker Stop & lt; Nama Container atau ID & GT; Perintah untuk menghantar permintaan berhenti ke daemon Docker. Daemon menghantar isyarat sigterm ke bekas untuk keluar dengan keluar yang dikawal, dan jika ia tidak keluar dalam masa 10 saat, isyarat Sigkill dihantar untuk keluar secara paksa.

Dengan menggunakan Docker, anda boleh membungkus aplikasi anda ke dalam imej mudah alih untuk penempatan pesat dalam persekitaran yang berbeza. Pertama buat imej Docker yang mengandungi aplikasi dan kebergantungannya, dan kemudian jalankan bekas Docker. Untuk menggunakan aplikasi, dedahkan pelabuhan bekas. Di samping itu, disyorkan untuk menggunakan kawalan versi, integrasi berterusan, dan alat pemantauan untuk meningkatkan penggunaan docker anda.

Untuk menggantikan sumber imej Docker, edit fail Konfigurasi Docker dan tambahkan item "Pendaftaran-Perintah" untuk menentukan URL sumber imej untuk digunakan. Simpan fail konfigurasi dan mulakan semula perkhidmatan Docker. Dengan menyemak maklumat Docker atau menarik imej, anda boleh mengesahkan bahawa sumber imej telah dikemas kini.
