Dokumen 01 — Persiapan Host & LXC

Panduan pembangunan fondasi virtualisasi menggunakan Proxmox VE dan LXC (Linux Container). Semua perintah dieksekusi dari Web UI Proxmox atau Shell host Proxmox, kecuali dinyatakan lain.


1. Konfigurasi Repositori Proxmox

Secara default Proxmox mengunci repositori berbayar. Alihkan ke repositori gratis agar pembaruan sistem berjalan.

  1. Buka Web UI Proxmox (https://192.168.1.50:8006).
  2. Klik node pveUpdatesRepositories.
  3. Disable semua repositori bertuliskan enterprise.
  4. Klik Add → pilih No-Subscription.
  5. Buka Shell node Proxmox, lalu perbarui sistem:
apt update && apt dist-upgrade -y

Tip

Selalu pastikan kernel Proxmox dalam keadaan terbaru sebelum membuat LXC produksi.


2. Unduh Template OS

  1. Di Web UI, klik storage local (di bawah node pve).
  2. Pilih CT Templates → klik Templates.
  3. Cari ubuntu-24.04-standard, lalu klik Download.

3. Pembuatan LXC untuk Docker

Klik tombol Create CT dan isi parameter berikut:

TabParameterNilai
GeneralHostnameDocker-Server
Password<PASSWORD_KUAT>
Unprivileged containerUncentang (dibutuhkan untuk Docker)
TemplateTemplateubuntu-24.04-standard
DisksStoragelocal-lvm
Disk size50 GB (bisa diekspansi nanti)
CPUCores2
MemoryMemory2048 (2 GB, elastis)
NetworkIPv4Static
CIDR192.168.1.51/24
Gateway192.168.1.1

Warning

Jangan nyalakan LXC terlebih dahulu. Lakukan modifikasi fitur di langkah berikutnya.


4. Modifikasi Fitur LXC (Wajib untuk Docker)

Docker membutuhkan izin nesting dan keyctl agar dapat berjalan di dalam LXC.

  1. Klik LXC 100 (Docker-Server).
  2. Pergi ke menu Options → klik ganda Features.
  3. Centang nesting dan keyctl → klik OK.
  4. Klik Start.

5. Bypass AppArmor dari Host Proxmox

Ubuntu 24.04 di dalam LXC membawa AppArmor sendiri yang bentrok dengan Docker. Karena isolasi sudah ditangani Proxmox (Level 1), AppArmor di dalam LXC harus dilepas.

Buka Shell node Proxmox (bukan console LXC):

nano /etc/pve/lxc/100.conf

Tambahkan baris berikut di akhir file:

lxc.apparmor.profile: unconfined

Simpan (Ctrl+O, Enter, Ctrl+X), lalu restart LXC:

pct stop 100
pct start 100

6. Akses SSH & Manajemen User

Gunakan Termius atau terminal lokal untuk SSH ke LXC. Web Console Proxmox hanya untuk darurat.

6.1 Koneksi Awal sebagai Root

ssh root@192.168.1.51

Warning

Jika gagal login root via password, ubah sementara PermitRootLogin di dalam LXC melalui Console Proxmox, bukan SSH.

6.2 Pembuatan User Non-Root

Sebelum mengunci akses root, buat jalur alternatif:

adduser nama_user
usermod -aG sudo nama_user

Verifikasi login baru di tab terminal terpisah:

ssh nama_user@192.168.1.51
sudo su

6.3 Pengamanan SSH (Disable Root Login)

Setelah verifikasi sudo berhasil, kunci akses root:

sudo nano /etc/ssh/sshd_config

Ubah baris:

PermitRootLogin no

Restart SSH:

sudo systemctl restart ssh

Tip

Semua konfigurasi selanjutnya di Dokumen 02–05 dieksekusi via user nama_user dengan prefix sudo.


7. Hardening DNS & SMTP (Post-Lynis)

Setelah audit Lynis (lihat Dokumen 04), perbaiki dua warning kritis berikut:

7.1 DNS Resolver

Lynis mendeteksi DNS Tailscale (100.100.100.100) tidak responsif. Atur dari Web UI Proxmox:

  1. Klik LXC 100DNS.
  2. Isi DNS servers: 1.1.1.1 8.8.8.8
  3. Restart LXC.

7.2 SMTP Banner Hardening

sudo postconf -e "smtpd_banner = \$myhostname ESMTP"
sudo systemctl restart postfix

8. Update Sistem

Sebelum masuk ke instalasi Docker, pastikan OS dalam keadaan steril:

sudo apt update && sudo apt upgrade -y

Info

Lanjut ke Dokumen 02 untuk instalasi Docker Engine dan deployment Nextcloud via IaC.