10 Hal Pertama yang Wajib Dilakukan Setelah VPS Ubuntu Baru Aktif
Pernahkah Anda baru menyalakan VPS, belum sempat memasang apa pun, tapi log server sudah dipenuhi percobaan login dari alamat IP asing? Itu bukan kebetulan. Begitu sebuah alamat IP publik aktif, bot pemindai akan menemukannya dalam hitungan menit. Dan kesalahan yang paling sering terjadi justru sederhana: langsung memasang aplikasi tanpa menyiapkan fondasi.
Artikel ini membahas 10 langkah pertama yang sebaiknya Anda lakukan, berikut kesalahan umum di tiap langkah dan cara menghindarinya. Semua perintah ditulis untuk Ubuntu (versi LTS terbaru di 2026 maupun versi sebelumnya sama-sama cocok). Jika Anda belum punya server untuk berlatih, Anda bisa mengecek penawaran terkini di www.vpsgratis.id.
Bagian 1: Mengamankan Pintu Masuk
Bayangkan VPS Anda sebagai rumah baru yang kuncinya masih dipegang agen properti. Sebelum menata perabot, ganti dulu kuncinya. Lima langkah pertama berikut adalah soal itu.
1. Masuk lewat SSH dan perbarui sistem
Hubungkan dari terminal Anda, lalu segera perbarui paket.
ssh root@IP_SERVER_ANDA
apt update && apt upgrade -yKesalahan umum: menunda update karena "toh masih baru". Image bawaan sering sudah tertinggal beberapa patch keamanan. Jika ada pembaruan kernel, jalankan reboot lalu login lagi.
2. Buat user non-root dengan hak sudo
Bekerja terus sebagai root itu seperti mengemudi tanpa sabuk pengaman: aman sampai suatu hari tidak.
adduser deploy
usermod -aG sudo deployGanti deploy dengan nama pilihan Anda. Gunakan kata sandi yang panjang, minimal 16 karakter.
Kesalahan umum: menutup sesi root sebelum memastikan user baru bisa login dan menjalankan sudo. Uji dulu di jendela terminal kedua.
3. Pasang kunci SSH, bukan hanya kata sandi
Di komputer lokal, buat sepasang kunci modern lalu kirim kunci publiknya ke server.
ssh-keygen -t ed25519 -C "laptop-saya"
ssh-copy-id deploy@IP_SERVER_ANDAKunci SSH ibarat kartu akses digital: panjang, unik, dan hampir mustahil ditebak, berbeda dengan kata sandi yang bisa dicoba jutaan kali oleh bot.
Kesalahan umum: kehilangan kunci privat tanpa cadangan. Simpan salinannya di tempat aman.
4. Matikan login root dan login dengan kata sandi
Setelah login dengan kunci berhasil, kunci pintu lamanya. Edit konfigurasi SSH:
sudo nano /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication nosudo sshd -t && sudo systemctl restart sshPerintah sshd -t memeriksa sintaks sebelum restart, sehingga Anda tidak terkunci karena salah ketik.
Poin Penting: Jangan pernah menutup sesi SSH yang sedang aktif sebelum Anda berhasil login dari jendela terminal baru. Itu asuransi termurah melawan terkunci dari server sendiri.
5. Aktifkan firewall UFW
Firewall bekerja seperti satpam yang hanya membukakan pintu untuk tamu yang terdaftar. Izinkan SSH lebih dulu, baru aktifkan.
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verboseKesalahan umum: mengaktifkan UFW sebelum mengizinkan SSH. Hasilnya, Anda mengunci diri sendiri. Urutannya selalu izinkan dulu, aktifkan kemudian. Port 80 dan 443 cukup dibuka bila server akan melayani web.
Bagian 2: Membuat Server Tahan Banting
Pintu sudah terkunci. Sekarang saatnya membuat rumah ini bisa menjaga dirinya sendiri.
6. Pasang Fail2ban untuk menahan serangan brute force
Fail2ban membaca log dan memblokir IP yang berkali-kali gagal login.
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshdAnda akan terkejut melihat berapa banyak IP yang sudah terblokir hanya dalam beberapa jam pertama.
7. Atur zona waktu dan sinkronisasi jam
Ini terlihat sepele sampai cron job Anda jalan pada jam yang salah atau log tak bisa dicocokkan dengan kejadian nyata.
sudo timedatectl set-timezone Asia/Jakarta
timedatectl statusPastikan baris System clock synchronized bernilai yes. Pilih zona waktu sesuai kebutuhan Anda, misalnya Asia/Makassar atau Asia/Jayapura.
8. Aktifkan pembaruan keamanan otomatis
Tidak ada yang mengingat untuk login tiap minggu demi menambal celah. Serahkan tugas ini pada unattended-upgrades.
sudo apt install unattended-upgrades -y
sudo dpkg-reconfigure --priority=low unattended-upgradesKesalahan umum: mengaktifkan pembaruan otomatis untuk semua paket pada server produksi. Cukup patch keamanan saja, dan jadwalkan pembaruan besar secara manual.
9. Siapkan swap bila memori terbatas
VPS dengan RAM kecil bisa tiba-tiba mematikan proses ketika memori habis, misalnya saat npm install atau build Docker. Swap memberi ruang napas cadangan.
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstabSwap bukan pengganti RAM karena jauh lebih lambat, tetapi cukup untuk menyelamatkan proses dari dibunuh sistem. Sesuaikan ukurannya dengan kapasitas disk Anda.
10. Buat kebiasaan backup dan catatan konfigurasi
Langkah terakhir justru yang paling sering dilupakan. Sebelum memasang aplikasi apa pun, tentukan di mana data penting disimpan dan bagaimana mencadangkannya. Mulailah dari yang sederhana: skrip tar yang dijadwalkan lewat cron, lalu salin hasilnya ke penyimpanan lain.
#!/bin/bash
# Cadangkan folder aplikasi dengan stempel tanggal
tar -czf /home/deploy/backup-$(date +%F).tar.gz /home/deploy/appcrontab -e
0 2 * * * /home/deploy/backup.shCatat juga semua perubahan konfigurasi yang Anda buat dalam satu berkas teks. Enam bulan lagi, Anda akan berterima kasih pada diri sendiri.
Ringkasan Cepat Sebelum Anda Pasang Aplikasi
| Langkah | Tujuan | Risiko bila dilewati |
|---|---|---|
| Update sistem | Menambal celah known | Mudah dieksploitasi |
| User non-root | Membatasi dampak kesalahan | Salah ketik bisa fatal |
| Kunci SSH | Autentikasi kuat | Rentan brute force |
| Nonaktifkan root login | Menutup target utama | Akun root jadi sasaran |
| UFW | Membatasi port terbuka | Layanan tak sengaja terekspos |
| Fail2ban | Blokir IP mencurigakan | Log penuh serangan |
| Zona waktu | Log dan cron akurat | Jadwal kacau |
| Auto security update | Patch tanpa lupa | Celah menumpuk |
| Swap | Cegah proses terbunuh | Server mendadak mati |
| Backup | Pemulihan cepat | Data hilang permanen |
Skenario Nyata: Satu Jam yang Menyelamatkan Berbulan-bulan
Bayangkan seorang mahasiswa yang menyiapkan bot Telegram untuk tugas akhir. Ia langsung memasang aplikasi dengan akses root dan kata sandi sederhana. Dua minggu kemudian server melambat, ternyata dipakai untuk menambang kripto oleh pihak lain. Kalau saja ia meluangkan satu jam untuk sepuluh langkah di atas, kejadian itu hampir pasti bisa dicegah.
Satu jam. Itu harga sebuah fondasi yang kokoh.
Urutan yang Aman agar Tidak Terkunci
- Login sebagai root, update sistem.
- Buat user baru dan uji
sudo. - Pasang kunci SSH, uji login dari terminal kedua.
- Izinkan SSH di UFW, baru aktifkan firewall.
- Nonaktifkan root login dan kata sandi, restart SSH, uji lagi.
- Lanjutkan Fail2ban, zona waktu, pembaruan otomatis, swap, dan backup.
Mengikuti urutan ini menghindarkan Anda dari dua kesalahan paling klasik: terkunci dari server sendiri dan lupa mengamankan hal dasar.
Setelah Fondasi Siap, Mau Dibawa ke Mana?
Dengan server yang sudah rapi, Anda bebas bereksperimen: memasang Docker, meng-hosting WordPress, menjalankan bot, atau mencoba otomasi dengan n8n dan cron. Server yang sama bisa menjadi laboratorium belajar DevOps tanpa rasa waswas.
Belum punya VPS untuk berlatih? Lihat penawaran terbaru di www.vpsgratis.id, lalu kelola layanan Anda lewat panel my.vpsgratis.id. Menyiapkan server dari nol adalah cara belajar paling jujur, dan sepuluh langkah di atas adalah titik awal yang tepat.
