Semua sistem berjalan normal Amsterdam · Paris · Reykjavík +5 Bayar dengan Kripto
Panduan

Harden VPS Debian baru dalam sepuluh menit

VPS baru mendapat percobaan brute-force SSH pertamanya dalam hitungan menit setelah booting. Ini adalah daftar periksa singkat dan tegas yang menutup pintu yang mudah — key, firewall, fail2ban, pembaruan otomatis — sebelum Anda menginstal apa pun yang lain.

Diperbarui 2026-06-12

Fenrir the wolf behind a fortified shield

Pantau auth log server baru mana pun dan radiasi latar belakang internet langsung terlihat: bot credential-stuffing yang menelusuri kamus terhadap root, scanner yang menyelidiki kerentanan tahun lalu, crawler yang memfingerprint apa pun yang menjawab di port 80. Tidak ada yang personal dan hampir semuanya otomatis, itulah kabar baiknya — serangan otomatis dikalahkan oleh kebersihan dasar, diterapkan sebelum Anda men-deploy workload sebenarnya. Panduan ini adalah kebersihan tersebut, dipadatkan menjadi sepuluh menit di Debian 12/13 (semuanya dapat diterapkan di Ubuntu dengan sedikit modifikasi). Ini sengaja bukan kerangka audit 4.000 kata: ini adalah pintu yang benar-benar dicoba bot sungguhan, ditutup sesuai urutan kepentingan. Jalankan di setiap kotak yang Anda deploy di sini, lalu lanjutkan ke VPN, node, atau mail server yang Anda tuju.

Apa yang sengaja ditinggalkan dari daftar periksa ini

Port-knocking, dinding sysctl kernel-hardening, tuning SELinux/AppArmor, suite intrusion-detection — semuanya alat nyata, tidak ada yang menjadi prioritas hari pertama di VPS single-purpose, dan beberapa mudah salah dikonfigurasi hingga terkunci. Prinsip 80/20 di sini jujur: key + tanpa kata sandi + default-deny + auto-patch menghentikan hampir semua kompromi yang tidak ditargetkan. Tambahkan mesin berat ketika model ancaman Anda menyebut musuh yang akan mengalahkan dasar-dasar — dan jika privasi tingkat disk penting untuk model Anda, ingat lapisan KVM memungkinkan Anda menjalankan enkripsi full-disk di dalam guest.

Backup adalah bagian dari keamanan

Hardening mengurangi kemungkinan; backup membatasi kerusakan. Snapshot mingguan sudah termasuk di setiap paket di sini, tetapi snapshot hidup bersama server — untuk apa pun yang tidak boleh hilang, dorong juga salinan terenkripsi offsite: restic atau borg ke kotak kedua (sebuah Pup seharga $3,50 di region lain menjadi target backup yang rapi) hanya membutuhkan beberapa menit untuk disiapkan. Uji restore sekali; backup yang belum diuji adalah harapan, bukan rencana.

  1. Login sekali, perbarui semuanya
    apt update && apt full-upgrade -y && reboot

    Template adalah snapshot; celah antara tanggal snapshot dan hari ini adalah persis jendela yang diselidiki scanner. Patch terlebih dahulu, reboot ke kernel baru, kemudian konfigurasi.

  2. Buat pengguna Anda dan install SSH key Anda
    adduser ops && usermod -aG sudo ops
    mkdir -p /home/ops/.ssh && nano /home/ops/.ssh/authorized_keys   # paste your ed25519 public key
    chmod 700 /home/ops/.ssh && chmod 600 /home/ops/.ssh/authorized_keys && chown -R ops:ops /home/ops/.ssh

    Buat key di mesin lokal Anda jika belum ada: ssh-keygen -t ed25519. Uji ssh ops@your-ip di terminal kedua sebelum melanjutkan.

  3. Kunci sshd

    Edit /etc/ssh/sshd_config.d/hardening.conf:

    PermitRootLogin no
    PasswordAuthentication no
    KbdInteractiveAuthentication no
    MaxAuthTries 3
    AllowUsers ops

    Kemudian systemctl restart sshdengan sesi berbasis key Anda dikonfirmasi berfungsi terlebih dahulu. Tebakan kata sandi berakhir di sini: tidak ada kata sandi untuk ditebak. Memindahkan port ke sesuatu yang tidak standar mengurangi kebisingan log tetapi bersifat kosmetik, bukan keamanan; lakukan jika Anda suka untuk kerapian.

  4. Buat firewall default-deny (nftables)

    Firewall native Debian, ruleset minimal di /etc/nftables.conf:

    table inet filter {
      chain input {
        type filter hook input priority 0; policy drop;
        ct state established,related accept
        iif lo accept
        tcp dport 22 accept
        icmp type echo-request limit rate 5/second accept
        icmpv6 type { echo-request, nd-neighbor-solicit, nd-neighbor-advert, nd-router-advert } accept
      }
    }

    systemctl enable --now nftables. Buka port lebih lanjut hanya saat Anda men-deploy layanan yang membutuhkannya — panduan VPN membuka 51820/udp, panduan mail membuka 25/465/993, dan seterusnya. Default-deny berarti daemon test yang terlupakan tidak dapat dijangkau, bukan menjadi pelanggaran.

  5. Tambahkan fail2ban untuk kebisingan yang tersisa
    apt install -y fail2ban
    printf "[sshd]
    enabled = true
    maxretry = 4
    bantime = 1h
    " > /etc/fail2ban/jail.d/ssh.local
    systemctl enable --now fail2ban

    Dengan kata sandi yang sudah dinonaktifkan, ini adalah pertahanan berlapis plus kebersihan log — pelanggar berulang diblokir di firewall daripada memenuhi auth log Anda.

  6. Aktifkan pembaruan keamanan otomatis
    apt install -y unattended-upgrades
    dpkg-reconfigure -plow unattended-upgrades

    Tim keamanan Debian sekarang mem-patch kotak Anda saat Anda tidur. Baris paling efektif di halaman ini diukur per penekanan tombol: sebagian besar kompromi nyata mengeksploitasi patch yang sudah ada selama berbulan-bulan.

  7. Langkah verifikasi dua menit

    Konfirmasi postur dari luar:

    ssh root@your-ip          # must be refused
    nmap -p- your-ip          # only 22 (and your service ports) open
    last -a; journalctl -u ssh -n 50   # familiarise yourself with normal

    Secara opsional tambahkan TOTP 2FA di akun VPSCrypto Anda sendiri — panel dapat membangun ulang atau menginstal ulang server, sehingga layak mendapat perhatian yang sama seperti root.

FAQ

Pertanyaan yang sering diajukan

Haruskah saya mengubah port SSH?

Ini adalah kontrol kebisingan log, bukan keamanan — scanner menemukan port yang tidak standar dalam hitungan detik dengan masscan. Lakukan jika log yang tenang membantu Anda memperhatikan anomali nyata; jangan pernah menganggapnya sebagai lapisan pertahanan. Pertahanan sesungguhnya adalah autentikasi hanya key dan MaxAuthTries.

Apakah saya memerlukan fail2ban jika kata sandi dinonaktifkan?

Secara ketat tidak diperlukan untuk SSH — tidak ada yang bisa di-brute-force. Ia tetap ada dalam daftar karena juga mencakup layanan lain yang mungkin Anda tambahkan nanti (mail, panel) dan membuat log tetap mudah dibaca. Lewati saja di kotak minimalis jika Anda mau.

Apakah firewall VPS diperlukan ketika host memiliki perlindungan DDoS?

Keduanya memecahkan masalah yang berbeda. Mitigasi DDoS di upstream menyerap banjir; kebijakan nftables Anda mengontrol layanan mana yang dapat dijangkau sama sekali. Default-deny adalah tentang daemon yang Anda lupakan, bukan tentang gigabit.

Bagaimana dengan Ubuntu alih-alih Debian?

Semuanya berlaku di sini; Ubuntu dilengkapi ufw sebagai front-end yang lebih ramah (ufw default deny incoming; ufw allow 22/tcp; ufw enable) dan mengaktifkan unattended-upgrades secara default pada rilis terbaru. Hardening sshd identik.

Bagaimana cara memulihkan jika saya terkunci keluar?

Gunakan akses konsol di area klien Anda — ini independen dari sshd, sehingga Anda dapat memperbaiki konfigurasi yang salah atau memulihkan snapshot. Inilah juga alasan Anda menguji konfigurasi SSH baru di sesi kedua sebelum menutup yang pertama.

Deploy VPS offshore dalam waktu sekitar satu menit

Tanpa KYC, dibayar kripto, semua NVMe. Pilih paket, bayar dengan Monero atau koin besar lainnya, dapatkan root dalam sekitar 60 detik.

Fenrir berjaga