Beranda Blog Store
VinzaPanel

Keamanan Berlapis VinzaPanel: Agen Root Terisolasi, 2FA, WAF, Fail2Ban, dan Antivirus Real-Time

20 Agu 2026 Hartono 5 menit baca 15 Dilihat

Kalau Anda pernah bertanya seberapa aman control panel yang memegang seluruh server Anda, Rekan ArtonLabs, tulisan ini mencoba menjawabnya tanpa basa-basi.

Control panel itu pintu masuk ke seluruh server. Kalau pintunya rapuh, percuma kunci-kunci yang lain. Jadi saat menilai VinzaPanel, hal pertama yang kami lihat bukan daftar fiturnya, tetapi bagaimana ia dibangun. Setelah itu baru lapisan-lapisan di atasnya, dan terakhir, apa yang sebaiknya Anda lakukan sendiri setelah memasangnya.

Dua proses, bukan satu

Antarmuka webnya tidak pernah berjalan sebagai root. Pekerjaan yang butuh hak tinggi diserahkan ke agen Go terpisah lewat Unix socket yang diautentikasi dengan HMAC. Agen ini hanya mengenal daftar perintah tertentu dan memeriksa setiap parameter sebelum menjalankannya. Artinya, kalau ada celah di lapisan web, yang didapat penyerang adalah agen yang hanya bisa sedikit hal, bukan shell root.

Prinsip ini berlaku juga untuk plugin. Plugin tidak boleh memanggil sudo; ia meminta agen melakukan sesuatu, dan agen yang memutuskan apakah permintaan itu ada dalam daftar. Untuk bekerja atas nama pengguna situs, agen justru menurunkan hak, bukan menaikkannya. Kebiasaan kecil ini mencegah satu kelas bug yang sering muncul di panel lain: fitur yang "kebetulan" berjalan sebagai root karena lebih mudah.

Diuji dengan cara diserang

Yang membuat kami percaya bukan klaimnya, tetapi caranya dibuktikan. Pengembang VinzaPanel mengaudit dan menyerang panelnya sendiri dengan skenario penyewa hosting yang berniat jahat: mencoba mengarahkan penulisan kunci ke /root/.ssh, mengunggah arsip zip berisi symlink yang mencoba kabur ke /etc/cron.d lewat file manager, atau mengarahkan root direktori situs ke jalur milik root. Semuanya diverifikasi tertahan pada instalasi produksi Ubuntu dan Debian, bukan hanya dari membaca kode.

Kami ikut mencoba beberapa di antaranya di server uji, dengan akun hosting biasa. Hasilnya sama: permintaan ditolak, dan percobaannya tercatat.

Melindungi akun

Autentikasi dua faktor berbasis TOTP tersedia, dengan seed terenkripsi dan perlindungan terhadap replay, jadi kode yang sama tidak bisa dipakai dua kali. Sesi dirotasi setelah login. Percobaan masuk yang beruntun dibatasi, sehingga menebak sandi dengan skrip tidak praktis. Di paket Enterprise, 2FA bisa diwajibkan untuk semua pengguna, dan plugin Audit Log mencatat siapa melakukan apa dan kapan.

Saran kami yang sederhana: nyalakan 2FA untuk akun admin pada hari pertama, sebelum ada yang lain. Ini satu menit yang menutup sebagian besar skenario pengambilalihan akun.

Plugin dan pembaruan yang ditandatangani

Setiap plugin dan pembaruan panel diverifikasi tanda tangannya sebelum dijalankan. Untuk perangkat lunak yang bisa diperluas pihak ketiga, ini menutup salah satu celah paling umum: paket yang diubah di tengah jalan antara toko dan server Anda. Kunci rahasia panel juga dibuat unik per instalasi saat pemasangan, bukan dibawa dari paket, sehingga dua server yang memasang versi yang sama tidak berbagi rahasia apa pun.

Lapisan di depan server

Di luar arsitektur intinya, ada beberapa lapisan aktif yang dipasang dari panel. Masing-masing menjawab ancaman yang berbeda.

WAF berbasis ModSecurity dengan OWASP Core Rule Set berjalan dalam mode pemblokiran, dan tingkat paranoia serta ambang skornya bisa disetel. Ini penyaring untuk serangan di lapisan aplikasi: injeksi SQL, XSS, dan pola-pola umum lainnya, sebelum permintaan sampai ke kode Anda. Mulailah dari tingkat paranoia rendah, amati log beberapa hari, lalu naikkan kalau tidak ada positif palsu.

Fail2Ban mengawasi SSH, mail, dan FTP, mengubah kegagalan login berulang menjadi pemblokiran alamat otomatis. Jumlah ban yang sedang aktif terlihat langsung di panel, dan ini salah satu angka yang membuat orang sadar seberapa sering server mereka diketuk setiap hari.

Vinza Scanner adalah antivirus real-time yang memindai berkas begitu ia dibuat atau diubah, ditambah ClamAV untuk pemindaian sesuai permintaan. Di server kami, Vinza Scanner pernah menandai sebuah berkas pustaka hanya beberapa menit setelah ia berubah. Ternyata positif palsu, dan kami tinggal mengecualikannya. Tetapi dari situ kami tahu pemindai itu benar-benar berjalan, dan kami belajar untuk mengecualikan folder pustaka Python yang memang penuh dengan kode yang tampak mencurigakan bagi pemindai.

Site Lock memotret integritas berkas website dan memberi tahu kalau ada yang berubah tanpa izin, dengan perbandingan SHA-256. Ini penangkal defacement yang sederhana tapi efektif: kalau halaman depan Anda tiba-tiba berubah, Anda tahu dari panel, bukan dari pengunjung. Lalu ada Security Headers untuk kebijakan HTTP seperti HSTS dan CSP, Port Scanner untuk melihat layanan apa yang terbuka ke internet, SSH Manager, SSL Manager untuk sertifikat dari CA Anda sendiri, dan CSF. Semuanya dari Vinza Store.

Yang kami lakukan setelah instal

Nyalakan 2FA admin. Pasang Fail2Ban dan biarkan aturan bawaannya. Jalankan Port Scanner sekali untuk memastikan hanya port yang diperlukan yang terbuka. Pasang WAF untuk situs yang menerima input publik, mulai dari tingkat rendah. Aktifkan Site Lock untuk situs yang jarang berubah. Dan jadwalkan backup, karena lapisan keamanan mana pun tidak menggantikan salinan yang bisa dipulihkan.

Untuk SSH, pakai kunci dan matikan login dengan sandi lewat SSH Manager; ini satu pengaturan yang menghilangkan hampir semua kebisingan di log Fail2Ban. Mengganti port SSH boleh saja, tetapi jangan menganggapnya sebagai pengamanan; ia hanya mengurangi derau, bukan risiko.

Keamanan juga soal pemeliharaan

Arsitektur yang baik tidak banyak menolong kalau paket sistemnya ketinggalan dua tahun. Plugin Components membantu memasang, memperbarui, dan melepas web server, database, runtime, dan layanan lain dari satu tempat, jadi pembaruan tidak tertunda karena harus mengingat perintah yang berbeda untuk tiap layanan. Pembaruan panel dan plugin sendiri datang lewat Vinza Store dan, seperti disebut di atas, diverifikasi tanda tangannya.

Ada juga yang tidak bisa dilakukan panel mana pun: memperbaiki kode aplikasi Anda. WAF menyaring pola serangan umum, tetapi celah logika di aplikasi tetap tanggung jawab pengembangnya. Kunci versi dependensi, perbarui secara berkala, dan jangan menaruh rahasia di repositori. Di sisi kami, kebiasaan yang paling berguna adalah membaca Audit Log dan jumlah ban Fail2Ban sekali seminggu; keduanya bercerita banyak tentang siapa yang sedang mengetuk pintu.

Kalau Anda ingin mengujinya sendiri, pasang, coba serang, dan lihat. Penjelasan lengkap arsitekturnya ada di vinzapanel.com. Antivirus real-time dan WAF tersedia mulai paket Profesional; Fail2Ban sudah ada sejak paket Free.

Terima kasih sudah membaca. Keamanan adalah percakapan yang tidak pernah selesai; kalau Anda menemukan celah atau punya pertanyaan, kabari kami lewat halaman kontak.