Amalan Terbaik Keselamatan Dockerfile
Laksanakan langkah keselamatan dalam Dockerfile anda untuk meminimumkan kerentanan dan mengurangkan permukaan serangan.
Amalan Terbaik Keselamatan Dockerfile ialah pelajaran Kem Intensif DevOps percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Kem Intensif DevOps, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Lindungi Dockerfile Anda!
Selamat datang ke Amalan Terbaik Keselamatan Dockerfile! Aplikasi yang selamat bermula dengan asas yang selamat.
Dockerfile anda bukan sekadar skrip binaan; ia ialah pelan untuk keselamatan aplikasi anda. Amalan yang kurang baik di sini boleh menyebabkan kelemahan keselamatan yang ketara.
Dalam pelajaran ini, kita akan meneroka strategi utama untuk mengukuhkan imej Docker anda dan meminimumkan permukaan serangan yang berpotensi.

Mulakan dengan Imej Asas yang Dipercayai
Arahan FROM ialah barisan pertahanan pertama anda. Sentiasa pilih imej asas rasmi yang diselenggara dengan baik daripada sumber yang dipercayai seperti Docker Hub.
- Imej Rasmi: Imej ini telah disahkan dan dikemas kini secara berkala.
- Teg Khusus: Elakkan
latest. Gunakan teg versi khusus (contohnya,alpine:3.18) untuk kebolehramalan dan kestabilan. - Imej Minimum: Pilih versi 'slim' atau 'alpine'. Imej ini mengandungi lebih sedikit pakej, yang bermaksud lebih sedikit kelemahan yang berpotensi.
Memilih Imej Asas yang Selamat
Lihat bagaimana pemilihan imej asas yang minimum dan khusus boleh meningkatkan keselamatan. Ini mengurangkan bilangan pakej dan alat yang boleh dieksploitasi.
FROM alpine:3.18
# This is better than:
# FROM ubuntu:latest
# FROM python:latest
# Alpine is a minimal Linux distribution,
# making the image smaller and more secure.Minimumkan Saiz Imej
Setiap fail, pakej atau kebergantungan yang anda tambahkan pada imej meningkatkan 'permukaan serangan'nya. Lebih sedikit perisian yang ada, lebih sedikit kelemahan yang berpotensi.
Pasang hanya perkara yang benar-benar penting untuk menjalankan aplikasi anda. Buang alat binaan dan fail sementara setelah tidak lagi diperlukan.
Bersihkan Selepas Pemasangan
Apabila memasang pakej, sentiasa bersihkan cache pengurus pakej dan buang fail yang tidak diperlukan. Ini mengurangkan saiz imej akhir serta membuang potensi kebocoran maklumat.
Untuk imej berasaskan Debian (seperti Ubuntu), gunakan apt-get clean dan buang /var/lib/apt/lists/* dalam arahan RUN yang sama.
FROM debian:stable-slim
RUN apt-get update && \
apt-get install -y --no-install-recommends \
curl \
git && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# All in one RUN command to leverage Docker's caching and reduce layers.Jangan Jalankan sebagai Root!
Secara lalai, proses di dalam bekas Docker dijalankan sebagai pengguna root. Ini merupakan risiko keselamatan yang besar!
Jika penyerang mendapat kawalan terhadap bekas anda, mereka akan mempunyai keistimewaan root, yang berpotensi membolehkan mereka melarikan diri daripada bekas atau menjejaskan sistem hos.
Sentiasa cipta pengguna khusus tanpa keistimewaan root dan beralih kepadanya menggunakan arahan USER.
Sediakan Pengguna Tanpa Keistimewaan Root
Begini cara mencipta pengguna baharu dan mengarahkan Docker supaya menjalankan arahan seterusnya sebagai pengguna tersebut. Ini mengehadkan kerosakan yang berpotensi dengan ketara jika bekas itu terjejas.
FROM alpine:3.18
# Create a non-root user and group
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
# Switch to the non-root user
USER appuser
CMD ["echo", "Hello from non-root user!"]Tiada Rahsia dalam Dockerfile!
Jangan sekali-kali menulis terus maklumat sensitif seperti kunci API, kata laluan pangkalan data atau kunci peribadi ke dalam Dockerfile anda atau menghantarnya ke dalam imej anda.
Rahsia ini boleh diekstrak dengan mudah daripada imej oleh sesiapa sahaja yang mempunyai akses kepadanya, walaupun anda memadamkannya dalam lapisan kemudian.
Sebaliknya, gunakan kaedah selamat seperti Docker Secrets, pemboleh ubah persekitaran (untuk data tidak sensitif) atau Kubernetes Secrets semasa masa jalan.
Utamakan COPY berbanding ADD
Kedua-dua arahan COPY dan ADD menyalin fail ke dalam imej anda, tetapi COPY biasanya lebih diutamakan dari segi keselamatan dan kejelasan.
COPY: Hanya menyalin fail atau direktori setempat. Arahan ini mudah difahami dan boleh dijangka.ADD: Selain itu, arahan ini boleh mengambil fail daripada URL dan mengekstrak arkib termampat (tar, gzip) secara automatik. Fungsi tambahan ini memperkenalkan risiko keselamatan seperti memuat turun kandungan yang tidak dipercayai atau mengekstrak arkib berniat jahat.
Terus gunakan COPY melainkan anda benar-benar memerlukan ciri lanjutan ADD dan memahami risikonya.
Semakan Keselamatan!
Manakah antara amalan Dockerfile berikut yang merupakan langkah penting untuk mengurangkan permukaan serangan dan meminimumkan kelemahan yang berpotensi?
Perjalanan Dockerfile Selamat Anda
Syabas! Anda telah mempelajari amalan terbaik keselamatan Dockerfile yang penting dan menjadi asas kepada penggunaan bekas yang selamat:
- Mulakan dengan Imej Asas yang Dipercayai dan Minimum: Gunakan imej rasmi, khusus dan ringan.
- Minimumkan Saiz Imej: Pasang hanya perkara yang diperlukan dan bersihkan selepas pemasangan.
- Jalankan sebagai Pengguna Tanpa Keistimewaan Root: Hadkan keistimewaan untuk mengurangkan kesan pencerobohan yang berpotensi.
- Elakkan Rahsia: Jangan sekali-kali menulis terus data sensitif ke dalam Dockerfile anda.
- Utamakan `COPY` berbanding `ADD`: Pilih arahan `COPY` yang lebih boleh dijangka dan selamat.
Dengan mengamalkan langkah ini, anda meningkatkan tahap keselamatan aplikasi dalam bekas dengan ketara!
Pelajari Kem Intensif DevOps dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 142
- Pelajaran
- 568
Soalan Lazim
Adakah pelajaran “Amalan Terbaik Keselamatan Dockerfile” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Kem Intensif DevOps, termasuk “Amalan Terbaik Keselamatan Dockerfile”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Kem Intensif DevOps merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Amalan Terbaik Keselamatan Dockerfile”?
Laksanakan langkah keselamatan dalam Dockerfile anda untuk meminimumkan kerentanan dan mengurangkan permukaan serangan. Anda berlatih Kem Intensif DevOps menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Kem Intensif DevOps?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Kem Intensif DevOps di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Amalan Terbaik Keselamatan Dockerfile” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Kem Intensif DevOps ini?
Ya. Setiap pelajaran Kem Intensif DevOps menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Binaan Berbilang Peringkat untuk Kecekapan
- Memanfaatkan Pencachean Binaan
- Amalan Terbaik Keselamatan Dockerfile
- Meminimumkan Saiz Imej dengan Asas Slim dan Distroless