Ini dinyatakan dalam halaman manual untuk systemd-nspawn
Perhatikan bahwa meskipun tindakan pencegahan keamanan ini dilakukan systemd-nspawn tidak cocok untuk pengaturan wadah yang aman. Banyak fitur keamanan dapat dielakkan dan karenanya sangat berguna untuk menghindari perubahan yang tidak disengaja pada sistem host dari wadah. Tujuan penggunaan program ini adalah debugging dan pengujian serta pembuatan paket, distribusi, dan perangkat lunak yang terlibat dengan boot dan manajemen sistem.
Pertanyaan ini kemudian ditanyakan di milis pada tahun 2011 , tetapi jawabannya tampaknya sudah usang.
systemd-nspawn berisi kode untuk dieksekusi CLONE_NEWNET
menggunakan --private-network
opsi sekarang. Ini tampaknya mencakup AF_UNIX
masalah namespace pribadi , dan saya kira CAP_NET_RAW
dan CAP_NET_BIND
masalah yang disebutkan.
Masalah apa yang masih ada pada titik ini dan apa yang dilakukan misalnya LXC selain apa yang systemd-nspawn
saat ini dapat dilakukan?
CLONE_NEWNET
: soket abstrak - terpisah, berbasis filesytem - bersatu (kecuali tidak ada sistem file bersama antara host dan wadah). Ini memudahkan untuk memulai aplikasi X yang membatasi jaringan untuk aplikasi tertentu (karena Xorg membuka soket UNIX yang abstrak dan sistem berkas).Jawaban:
LXC sedikit lebih baik karena dapat menjalankan kontainer sebagai pengguna yang tidak memiliki peringkat . Ini dimungkinkan dengan systemd-nspawn, tetapi hanya untuk skenario di mana Anda hanya perlu satu pengguna (bukan beberapa), yang bisa sulit atau kurang aman untuk multi proses dalam skenario wadah. Jika Anda ingin tahu mengapa docker, lxc, dan systemd-nspawn secara inheren bukan mekanisme keamanan yang solid, baca ini: https://opensource.com/business/14/7/docker-security-selinux . Pada dasarnya, kontainer masih memiliki akses ke kernel dan setiap kernel mengeksploitasi kontrol dari seluruh mesin. Pada kernel monolitik seperti Linux, eksploitasi kernel tidak jarang.
sumber