Lewati ke isi

Keamanan/Cyber Security

Apa Itu Bastion Host dan Kapan Server Membutuhkannya?

Bastion host adalah satu pintu masuk SSH ke server-server internal. Pahami cara kerjanya, bandingkan dengan VPN dan mesh, dan kapan layak dipasang.

Terbit 5 menit baca

Jawaban singkat

Bastion host (jump server) adalah server khusus yang menjadi satu-satunya pintu masuk SSH ke server lain di jaringan privat. Layak dipakai saat server mulai banyak, dikelola beberapa orang, atau butuh jejak audit, sedangkan untuk satu atau dua VPS cukup SSH key, firewall, dan 2FA.

Daftar isi
  1. Bagaimana bastion host bekerja?
  2. Melompat dengan ProxyJump
  3. Pengerasan bastion itu sendiri
  4. Bastion, VPN, atau mesh network?
  5. Kapan memilih bastion, kapan tidak perlu?
  6. Pertanyaan yang sering diajukan

Bastion host, sering juga disebut jump server atau jump host, adalah server yang sengaja ditempatkan di tepi jaringan sebagai satu-satunya pintu masuk untuk administrasi. Server aplikasi, database, dan mesin internal lain tidak membuka SSH ke internet sama sekali. Untuk mengelolanya, admin masuk dulu ke bastion, lalu dari sana melompat ke server tujuan.

Yang dipertaruhkan saat salah pilih cukup nyata. Tanpa bastion, setiap server yang membuka port SSH ke publik menjadi sasaran pemindaian dan tebakan password, dan setiap celah OpenSSH baru harus ditambal di semua server dengan cepat. Sebaliknya, bastion yang dipasang asal-asalan justru memusatkan risiko: satu server yang dibobol memberi jalan ke semuanya.

Bagaimana bastion host bekerja?

Bayangkan tiga server: web, database, dan server laporan, semuanya terhubung lewat jaringan privat. Hanya bastion yang punya port SSH terbuka ke internet, dan firewall setiap server internal hanya menerima SSH dari alamat privat bastion.

Melompat dengan ProxyJump

OpenSSH sejak versi 7.3 menyediakan opsi -J (ProxyJump) yang membuat lompatan ini terasa seperti satu koneksi:

ssh -J admin@bastion.contoh.com admin@10.0.0.12

Supaya tidak mengetik panjang setiap kali, tulis di ~/.ssh/config pada laptopmu:

Host bastion
    HostName bastion.contoh.com
    User admin

Host db-internal
    HostName 10.0.0.12
    User admin
    ProxyJump bastion

Setelah itu cukup ssh db-internal. Yang penting dipahami: dengan ProxyJump, bastion hanya meneruskan koneksi terenkripsi. Autentikasi ke server tujuan tetap dilakukan dari laptopmu, dan private key tidak pernah disalin ke bastion. Inilah alasan ProxyJump lebih disarankan daripada menyalin kunci ke bastion atau menyalakan agent forwarding.

Pengerasan bastion itu sendiri

Karena menjadi pintu tunggal, bastion harus jadi server paling ketat di jaringanmu:

  • Hanya login dengan SSH key, tanpa password. Alasannya dibahas di SSH key vs password.
  • Tambahkan 2FA untuk login, misalnya dengan modul TOTP seperti di panduan 2FA untuk SSH di Ubuntu 24.04.
  • Pasang perangkat lunak seminimal mungkin. Bastion bukan tempat menjalankan aplikasi, database, atau alat lain.
  • Batasi firewall bastion agar SSH hanya diterima dari IP kantor bila memungkinkan.
  • Kirim log login ke tempat lain, supaya penyerang yang berhasil masuk tidak bisa menghapus jejaknya begitu saja.
  • Perbarui OpenSSH dan sistem operasi lebih dulu dibanding server lain.

Satu hal teknis: ProxyJump memakai fitur penerusan TCP di bastion, jadi AllowTcpForwarding di sshd_config bastion tidak boleh no. Agar penerusan tidak disalahgunakan, opsi PermitOpen bisa membatasi tujuan yang boleh dituju, misalnya hanya port 22 di rentang server internal.

Bastion, VPN, atau mesh network?

Bastion bukan satu-satunya cara menyembunyikan server dari internet. Berikut perbandingannya dengan pilihan lain yang umum dipakai.

KriteriaSSH langsung + firewall IPBastion hostVPN kantorMesh (Tailscale, NetBird, dll.)
Port SSH server terbuka ke publikYa, terbatas IPHanya di bastionTidakTidak
Akses yang diberikanPer serverSSH saja, per serverSeluruh jaringan bila tidak dibatasiPer perangkat sesuai aturan
Jejak audit terpusatTersebarYa, di satu tempatSebagian, di server VPNTergantung layanan
Cocok untuk IP admin berubah-ubahKurangYaYaYa
Titik gagal tunggalTidakYa, bastionYa, server VPNTergantung arsitektur
Usaha pengelolaanRendahSedangSedangRendah sampai sedang

Bastion unggul karena sederhana dan khusus. Ia hanya membuka SSH, mudah diaudit, dan tidak butuh perangkat lunak tambahan di laptop admin selain klien SSH biasa. VPN memberi akses ke lebih banyak layanan sekaligus, tapi bila aturan firewall internal longgar, satu laptop yang tersambung VPN bisa menjangkau terlalu banyak hal. Mesh network seperti yang dibahas di Tailscale vs Headscale vs NetBird memudahkan akses antarperangkat dengan aturan per pengguna, dengan konsekuensi bergantung pada koordinator layanan tersebut.

Kapan memilih bastion, kapan tidak perlu?

Untuk satu atau dua VPS yang dikelola satu orang, bastion biasanya berlebihan. Menambah satu server berarti menambah biaya dan satu sistem lagi yang perlu dirawat. Di skala ini, SSH key saja, password login dimatikan, firewall yang membatasi port, Fail2ban, dan update rutin sudah memberi perlindungan yang baik.

Bastion mulai masuk akal ketika jumlah server bertambah dan berada di jaringan privat yang sama, misalnya server web, database, dan worker terpisah. Ia juga tepat bila ada beberapa admin atau vendor yang perlu akses, karena kamu bisa membuka dan mencabut akses di satu tempat, serta mencatat siapa masuk kapan. Kebutuhan audit dari klien atau regulasi internal juga sering menjadi alasan, karena log di satu pintu jauh lebih mudah diperiksa daripada log yang tersebar.

Pilih VPN atau mesh bila yang perlu dijangkau bukan hanya SSH, misalnya panel internal, database dari aplikasi desktop, atau dashboard monitoring. Banyak tim akhirnya memakai kombinasi: mesh atau VPN untuk akses jaringan, ditambah aturan ketat agar SSH ke server produksi tetap lewat satu titik. Prinsip yang sama berlaku untuk alat berbasis web seperti phpMyAdmin, yang sebaiknya hanya bisa dijangkau dari dalam, seperti dijelaskan di mengamankan phpMyAdmin dari akses publik.

Pertanyaan yang sering diajukan

Apa bedanya bastion host dan jump server?

Dalam praktik sehari-hari keduanya dipakai untuk hal yang sama, yaitu server perantara untuk masuk ke jaringan internal. Istilah bastion host lebih menekankan bahwa server itu sengaja dikeraskan karena berhadapan langsung dengan internet.

Apakah bastion bisa memakai VPS kecil?

Bisa. Bastion hanya meneruskan koneksi SSH, jadi tidak butuh CPU dan RAM besar. Yang penting adalah konfigurasinya ketat dan selalu diperbarui.

Bagaimana kalau bastion mati?

Akses SSH ke server internal ikut terputus. Siapkan jalur darurat, misalnya konsol dari panel penyedia server, atau bastion kedua untuk lingkungan yang kritis.

Apakah bastion juga dipakai untuk server Windows?

Konsepnya sama untuk RDP. Biasanya dipakai gateway khusus RDP atau tunnel SSH ke port RDP, sehingga port RDP server internal tidak terbuka ke internet.

Sumber & referensi

Baca juga