Semua sistem beroperasi normal 21 mata uang kripto yang diterima · Monero diterima dengan senang hati Kebijakan tanpa KYC
ChainVPS

Keamanan

Cara Mengamankan VPS Baru: Checklist Hardening

Checklist berurutan dan siap diterapkan untuk satu jam pertama pada server baru — dari SSH key hingga firewall default-deny — yang menutup celah yang benar-benar dimanfaatkan penyerang.

Keamanan8 menit bacaTim ChainVPS

Cara Mengamankan VPS Baru: Checklist Hardening

VPS baru sudah menjadi sasaran serangan otomatis hanya dalam hitungan menit setelah online — checklist ini memandu Anda melalui satu jam pertama hardening yang membuat server itu tetap milik Anda.

Setiap server baru memulai hidupnya dengan kelemahan yang sama: login root default, pintu SSH yang hanya dilindungi password, firewall yang terbuka lebar, dan tanpa patching otomatis. Bot memindai seluruh ruang IPv4 secara terus-menerus, jadi anggapan "belum ada yang tahu IP saya" tidak pernah benar.

Panduan ini adalah checklist hardening yang berurutan dan siap Anda terapkan langsung. Kerjakan dari atas ke bawah pada mesin Debian atau Ubuntu yang baru, dan Anda akan menutup celah yang benar-benar dimanfaatkan penyerang, bukan celah yang hanya dikhawatirkan oleh security theatre.

Sebelum Anda menyentuh server

Dua keputusan yang Anda ambil sebelum login pertama akan menghemat waktu berjam-jam nantinya. Siapkan SSH key Anda dan pilih nama user non-root.

  1. 1

    Buat SSH key modern

    Di komputer Anda sendiri, jalankan ssh-keygen -t ed25519 -C "you@device". Key Ed25519 pendek, cepat, dan lebih kuat dibanding standar lama RSA-2048.

  2. 2

    Jaga private key tetap jauh dari server

    Bagian private tidak pernah meninggalkan laptop Anda. Anda hanya menyalin file .pub ke host. Melanggar aturan ini adalah cara orang mengunci diri sendiri hingga harus melakukan provisioning ulang.

  3. 3

    Catat kredensial provisioning Anda

    Sebagian besar provider mengirim email berisi password root sementara atau menyisipkan key Anda saat server dibuat. Jika key sudah disisipkan, Anda bisa langsung lanjut ke pembuatan user.

Jika host Anda menyisipkan SSH key saat deploy, Anda tidak pernah punya jendela berbasis password sama sekali — permukaan serangan terbesar sudah hilang bahkan sebelum server boot.

Langkah 1 — Patch semuanya, lalu terus jaga agar tetap ter-patch

Kernel atau OpenSSL yang belum di-patch adalah satu-satunya celah yang tidak bisa diperbaiki oleh aturan firewall apa pun. Update dulu sebelum mengonfigurasi hal lain.

  • Debian/Ubuntu: apt update && apt full-upgrade -y lalu reboot jika kernel berubah.
  • Aktifkan unattended-upgrades agar patch keamanan terpasang otomatis: apt install unattended-upgrades && dpkg-reconfigure unattended-upgrades.
  • Reboot sesuai jadwal yang Anda tentukan sendiri — atur Unattended-Upgrade::Automatic-Reboot ke jam sepi, alih-alih membiarkan kernel setengah ter-update.

Langkah 2 — Buat user asli dan pensiunkan root

Login sebagai root berarti satu sesi yang berhasil dibobol langsung menguasai seluruh mesin dan tidak meninggalkan jejak audit. Sebagai gantinya, buat akun sudo bernama untuk diri Anda sendiri.

  1. 1

    Tambahkan user

    adduser deploy lalu usermod -aG sudo deploy (gunakan wheel pada sistem berbasis RHEL).

  2. 2

    Pasang key Anda untuk user tersebut

    Dari laptop Anda: ssh-copy-id deploy@your-server-ip. Perintah ini menulis public key Anda ke ~/.ssh/authorized_keys dengan izin yang benar.

  3. 3

    Uji dulu sebelum mengunci pintu

    Buka terminal kedua dan pastikan Anda bisa ssh deploy@server dan menjalankan sudo -v. Jangan pernah menonaktifkan root atau password sebelum sesi baru terbukti berhasil.

Aturan emas hardening SSH: biarkan sesi Anda saat ini tetap terbuka dan buktikan login baru berhasil di jendela kedua sebelum mengubah pengaturan auth apa pun. Kebiasaan ini saja mencegah hampir semua kasus terkunci sendiri.

Langkah 3 — Hardening SSH, bagian yang paling penting

SSH adalah pintu depan setiap VPS, dan di situlah sebagian besar percobaan login otomatis menghantam. Edit /etc/ssh/sshd_config (atau file drop-in di /etc/ssh/sshd_config.d/) dan atur key-key berikut.

PermitRootLoginno — root tidak akan pernah bisa login lewat jaringan
PasswordAuthenticationno — hanya key, mematikan brute-force sepenuhnya
KbdInteractiveAuthenticationno — menutup fallback password PAM
PubkeyAuthenticationyes — metode yang benar-benar Anda gunakan
AllowUsersdeploy — masukkan ke allowlist hanya akun yang butuh akses shell
X11Forwardingno — matikan kecuali Anda benar-benar melakukan tunnel aplikasi GUI

Terapkan dengan sshd -t untuk memvalidasi sintaksnya, lalu systemctl restart ssh. Jika sshd -t melaporkan error, perbaiki dulu sebelum restart, atau Anda berisiko membuat daemon-nya berhenti total.

Mengubah port SSH dari 22 sifatnya opsional dan hanya mengurangi noise log — itu obscurity, bukan security. Setelah PasswordAuthentication dimatikan, bot yang melakukan port scanning tidak punya apa pun lagi untuk ditebak, jadi curahkan usaha Anda pada key, bukan permainan port.

Langkah 4 — Aktifkan firewall default-deny

SSH daemon yang sudah di-hardening tetap berbagi mesin dengan setiap layanan lain yang listening. Firewall menjadikan "tertutup kecuali saya buka" sebagai default.

  1. 1

    Atur baseline

    Dengan ufw: ufw default deny incoming dan ufw default allow outgoing.

  2. 2

    Izinkan hanya yang Anda layani

    ufw allow OpenSSH, ditambah ufw allow 80,443/tcp hanya jika mesin ini memang meng-host traffic web.

  3. 3

    Aktifkan dan verifikasi

    ufw enable lalu ufw status verbose. Apa pun yang tidak terdaftar kini tidak bisa dijangkau dari internet.

Pasang aturan SSH di firewall sebelum Anda mengaktifkan ufw. Mengaktifkan firewall default-deny tanpa aturan allow untuk port Anda sendiri akan memutus sesi Anda.

Langkah 5 — Perlambat brute force dengan Fail2ban

Meski password sudah dinonaktifkan, bot tetap terus mengetuk dan membuat log Anda membengkak. Fail2ban memblokir pelaku berulang di level firewall.

  • apt install fail2ban — jail sshd bawaan langsung berfungsi tanpa konfigurasi tambahan.
  • Salin jail.conf ke jail.local lalu naikkan bantime (misalnya 1h) dan turunkan maxretry (misalnya 3) sesuai kebutuhan.
  • Cek apakah sudah berjalan dengan fail2ban-client status sshd untuk melihat jumlah IP yang diblokir.

Langkah 6 — Kurangi permukaan serangan

Layanan paling aman adalah layanan yang tidak berjalan. Audit apa yang listening dan pangkas yang tidak Anda butuhkan.

Audit port terbuka

ss -tulpn menampilkan setiap socket yang listening beserta proses di baliknya. Selidiki apa pun yang tidak Anda jalankan secara sengaja.

Hapus paket yang tidak terpakai

Nonaktifkan atau uninstall layanan yang tidak Anda gunakan — database atau mail agent yang dibiarkan berjalan adalah risiko murni.

Isolasi layanan

Ikat daemon internal seperti database ke 127.0.0.1 agar tetap tidak pernah terekspos bahkan jika firewall lolos.

Kunci izin akses

Pastikan ~/.ssh bernilai 700 dan authorized_keys bernilai 600. Izin yang salah membuat sshd diam-diam mengabaikan key Anda.

Langkah 7 — Catat log, monitor, dan kenali baseline Anda

Hardening bukan aktivitas sekali jadi. Anda perlu menyadari saat ada sesuatu yang berubah.

  • Tinjau aktivitas auth dengan journalctl -u ssh atau lastb untuk login yang gagal.
  • Pertimbangkan auditd untuk catatan tindakan berhak istimewa yang tahan terhadap manipulasi.
  • Simpan backup /etc dan data Anda di luar server, agar mesin yang berhasil dibobol bisa dibangun ulang dari nol, bukan malah dipercaya lagi setelah kejadian.

Di mana host itu sendiri berperan

Hardening software melindungi OS, tapi provider yang menentukan apa yang ada di bawahnya — penyaringan jaringan, jejak pembayaran, dan apakah identitas Anda pernah terhubung ke server. Di ChainVPS, setiap paket dilengkapi proteksi DDoS dan bandwidth unmetered, dan server dibayar dari saldo prabayar kripto dalam 21 koin termasuk Monero, tanpa KYC. Jika model ancaman Anda mencakup tidak menghubungkan server dengan identitas Anda, paket VPS offshore kami dibuat justru untuk itu.

Lokasi juga bagian dari hardening: enam dari lima belas region kami adalah yurisdiksi ramah privasi (NL, CH, RO, IS, MD, LU). Memadukan OS yang sudah di-hardening dengan dedicated server offshore menjaga permukaan software maupun permukaan hukum tetap ketat.

Checklist satu jam, versi ringkas

  • Update sistem penuh + patch keamanan otomatis diaktifkan
  • User sudo bernama dibuat, key terpasang, login teruji
  • Login root SSH dan autentikasi password sama-sama dinonaktifkan
  • Konfigurasi SSH divalidasi dengan sshd -t dan dimuat ulang
  • Firewall default-deny aktif, hanya port yang dibutuhkan yang terbuka
  • Fail2ban berjalan pada jail sshd
  • Port terbuka sudah diaudit, layanan yang tidak terpakai dihapus
  • Backup di luar server dan peninjauan log sudah berjalan
Perlukah saya mengubah port SSH menjadi selain 22?

Sifatnya opsional dan hanya mengurangi noise log, bukan risiko sebenarnya. Setelah autentikasi password dimatikan dan key diwajibkan, memindahkan port hanya menambah obscurity, bukan security — prioritaskan dulu menonaktifkan password.

Amankah menonaktifkan autentikasi password jika saya hanya punya satu key?

Ya, asalkan Anda sudah menguji login key di sesi terpisah dan menyimpan backup private key. Banyak provider juga menyediakan web console atau recovery mode, sehingga Anda tidak pernah benar-benar terkunci dari hardware.

Apakah saya masih perlu firewall jika SSH satu-satunya layanan?

Ya. Firewall default-deny melindungi Anda dari layanan yang lupa pernah Anda instal dan dari apa pun yang diam-diam mulai listening akibat paket di masa depan. Tidak ada biayanya dan menutup kejutan yang tidak diinginkan.

Seberapa sering saya harus meninjau ulang hardening?

Update keamanan otomatis menangani pekerjaan harian, tapi tinjau port yang listening dan log auth setelah instalasi software besar apa pun, dan minimal sebulan sekali. Perlakukan baseline yang sudah di-hardening sebagai sesuatu yang Anda verifikasi, bukan sesuatu yang Anda atur sekali lalu lupakan.

Terapkan sekarang.

Deploy server offshore mulai $3.49/bulan · 21 mata uang kripto · Tanpa KYC.