Solusi LXC Proxmox 9: lxc.seccomp.profile Tidak Berefek? Ternyata Penyebabnya AppArmor

 Setelah upgrade ke Proxmox VE 9, saya menemukan masalah yang cukup membingungkan saat menjalankan aplikasi tertentu di dalam LXC unprivileged. Berbagai panduan di internet menyarankan untuk mengubah konfigurasi Seccomp, namun setelah dicoba hasilnya tetap sama.

Ternyata masalahnya bukan pada Seccomp, melainkan pada AppArmor.

Gejala

Saya mencoba menambahkan konfigurasi berikut pada file container:

lxc.seccomp.profile = unconfined

atau

lxc.seccomp.profile = none

Container berhasil dijalankan, tetapi aplikasi yang sebelumnya gagal tetap tidak bisa berjalan normal.

Kasus ini banyak ditemukan pada penggunaan:

  • Intel QuickSync
  • GPU Passthrough
  • Docker di dalam LXC
  • Aplikasi multimedia
  • Nested container
  • Aplikasi yang membutuhkan akses kernel tertentu

Penyebab

Pada Proxmox VE 9, AppArmor memiliki kebijakan keamanan yang lebih ketat dibandingkan versi sebelumnya. Akibatnya, walaupun Seccomp sudah diubah atau dinonaktifkan, AppArmor masih dapat memblokir akses yang dibutuhkan oleh aplikasi di dalam container.

Saya menemukan penjelasan yang sangat membantu dari artikel:

Proxmox 9 Made Unprivileged LXCs Pointless for QuickSync Users?

Solusi

Tambahkan konfigurasi berikut pada file container:

lxc.apparmor.profile: unconfined

Contoh file:

arch: amd64
cores: 4
memory: 4096
net0: name=eth0,bridge=vmbr0,ip=dhcp,type=veth
ostype: debian

lxc.apparmor.profile: unconfined

Setelah itu restart container:

pct stop 101
pct start 101

atau:

pct reboot 101

Ganti 101 dengan ID container Anda.

Cara Edit Konfigurasi LXC

File konfigurasi container berada di:

/etc/pve/lxc/CTID.conf

Contoh:

nano /etc/pve/lxc/101.conf

Tambahkan:

lxc.apparmor.profile: unconfined

Simpan lalu restart container.

Apakah Aman?

Jawaban singkatnya: lebih tidak aman dibandingkan konfigurasi default.

Dengan unconfined, AppArmor tidak lagi membatasi aktivitas container. Container tetap mendapatkan isolasi dari namespace, cgroup, dan mekanisme keamanan Linux lainnya, tetapi lapisan proteksi AppArmor akan dilewati.

Karena itu sebaiknya hanya digunakan jika:

  • Memang diperlukan oleh aplikasi.
  • Sudah memahami konsekuensi keamanannya.
  • Container tidak digunakan untuk workload yang tidak dipercaya.

Kapan Perlu Menggunakan Ini?

Dari pengalaman saya, konfigurasi ini biasanya diperlukan saat:

  • Menjalankan Intel QuickSync di LXC.
  • Menjalankan Docker di dalam LXC.
  • GPU passthrough ke container.
  • Aplikasi multimedia seperti Jellyfin atau Plex.
  • Nested container dan workload khusus yang membutuhkan akses kernel lebih luas.

Kesimpulan

Jika Anda menggunakan Proxmox VE 9 dan merasa konfigurasi:

lxc.seccomp.profile = unconfined

atau:

lxc.seccomp.profile = none

tidak memberikan efek apa pun, kemungkinan besar yang memblokir bukan Seccomp melainkan AppArmor.

Pada kasus saya, solusi yang berhasil adalah:

lxc.apparmor.profile: unconfined

Setelah menambahkan konfigurasi tersebut dan me-restart container, aplikasi dapat berjalan normal kembali.

Semoga dapat menghemat waktu troubleshooting Anda.

No comments:

Post a Comment