Belajar WireGuard - Production-Ready Deployment
Episode 21 of 23

Belajar WireGuard - Production-Ready Deployment

Episode ini membahas deployment WireGuard di produksi: kebijakan rotasi kunci, hardening firewall, pemantauan handshake dan transfer, agregasi log, strategi backup, serta deployment di AWS, GCP, dan Azure dengan konektivitas hybrid.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Episode 12 membahas rotasi kunci dan siklus hidup keamanan, episode 14 memperkuat firewall, dan episode 19 menghadirkan high availability. Episode 21 merangkai semuanya menjadi satu kesatuan: bagaimana menempatkan WireGuard di produksi dengan benar, bukan sekadar tunnel yang jalan.

Di episode ini kalian akan membawa pulang checklist deployment produksi yang mencakup kebijakan rotasi kunci, hardening firewall, pemantauan handshake dan transfer, agregasi log, serta strategi backup. Bagian akhir membahas deployment di AWS, GCP, dan Azure, termasuk konektivitas hybrid dan SD-WAN.

Kuncinya adalah membangun kebiasaan: setiap keputusan konfigurasi harus bisa dijelaskan, diuji, dan dipulihkan. Production bukan tentang satu fitur, melainkan tentang bagaimana seluruh bagian bekerja saat menghadapi kegagalan.

Checklist Deployment Produksi

Kebijakan Rotasi Kunci

Production menuntut siklus hidup kunci yang terdokumentasi. Tetapkan masa berlaku kunci, misalnya 90 hari, mekanisme pergantian yang tidak memutus koneksi, dan larangan menyalin kunci privat keluar dari server. Catat juga siapa yang bertanggung jawab mengganti kunci dan bagaimana prosesnya diuji.

Rotasi berjalan mulus karena WireGuard mendukung penggantian kunci secara live tanpa menghidupkan ulang interface. Perintah berikut mengganti kunci privat dengan cara yang aman:

Rotasi kunci secara live
wg set wg0 private-key /etc/wireguard/keys/wg0.new
wg syncconf wg0 <(wg-quick strip wg0)

Perhatikan perintah wg syncconf yang menyinkronkan konfigurasi runtime dengan file tanpa memutus session. Cara ini adalah praktik standar untuk rotasi tanpa downtime, dan bisa diotomatisasi dengan cron atau CI.

Hardening Firewall

WireGuard sendiri hanya mengelola tunnel; firewall tetap menjadi tanggung jawab kalian. Setiap interface produksi sebaiknya membatasi sumber traffic UDP ke port listen, dan menolak paket yang tidak berasal dari peer yang dikenal.

Aturan nftables untuk port WireGuard
nft add rule inet filter input iifname "eth0" udp dport 51820 accept
nft add rule inet filter input ct state established,related accept
nft add rule inet filter input iifname "eth0" drop

Aturan di atas hanya membuka port 51820 dari interface publik, lalu menjatuhkan paket lain. Simpan aturan dalam file /etc/nftables.conf dan aktifkan dengan systemctl enable --now nftables agar bertahan setelah reboot.

Keamanan Basis

Beberapa detail kecil yang sering terlewat namun berdampak besar:

  • AllowedIPs diset sekecil mungkin, bukan 0.0.0.0/0 tanpa alasan.
  • ListenPort non-standar tidak menambah keamanan, tapi menyulitkan pemindaian.
  • Kunci privat berhak milik root dengan permission 600.
  • Update kernel dan tools WireGuard berjalan otomatis lewat manajer paket.

Monitoring dan Logging

Memantau Handshake dan Transfer

Dua metrik paling penting adalah umur handshake terakhir dan jumlah transfer. Keduanya tersedia lewat wg show dan bisa dijadikan dasar alerting.

Skrip health check WireGuard
if wg show wg0 latest-handshakes | grep -q "0$"; then
  echo "tidak ada handshake baru, restart wg0"
  systemctl restart wg-quick@wg0
else
  echo "handshake terakhir masih aktif"
fi

Skrip di atas memeriksa apakah handshake terakhir sudah nol, yang menandakan session mati. Pada skala lebih besar, kirim peringatan ke sistem monitoring bila handshake terakhir sudah lebih tua dari ambang batas, misalnya lima menit. Transfer kumulatif lewat wg show wg0 transfer berguna untuk mendeteksi peer yang berhenti mengirim.

Agregasi Log

wg-quick memanfaatkan systemd, sehingga log interface mudah diakses. Untuk agregasi di banyak server, arahkan semua log ke satu collector seperti Promtail atau Vector, lalu simpan ke Loki. Sertakan juga log firewall nftables yang relevan agar jejak audit koneksi lengkap dan bisa di-replay saat investigasi.

Strategi Backup

Backup bukan sekadar menyalin file. Kalian harus bisa memulihkan sebuah peer dari nol hanya dengan artefak yang tersimpan.

Backup konfigurasi runtime wg0
wg-quick save wg0
tar czf /backup/wg-prod-$(date +%F).tar.gz \
  /etc/wireguard /etc/nftables.conf

wg-quick save menuliskan konfigurasi runtime saat ini ke /etc/wireguard/wg0.conf, sehingga backup selalu merepresentasikan keadaan terakhir. Simpan arsip tersebut di tempat terpisah dari server, misalnya object storage, dan encrypt bila memuat kunci privat. Uji pemulihan secara berkala, bukan hanya saat bencana terjadi.

Deployment di Cloud

AWS, GCP, dan Azure

Konsep deployment di ketiga penyedia hampir identik: buat instance dengan IP publik dan port UDP 51820 terbuka di security group atau firewall VPC, pasang WireGuard, lalu daftarkan endpoint publik instance ke seluruh peer.

Contoh wg0.conf untuk endpoint cloud
[Interface]
Address = 10.9.0.1/24
ListenPort = 51820
PrivateKey = <server-private-key>
 
[Peer]
PublicKey = <client-public-key>
AllowedIPs = 10.9.0.2/32

Kalian hanya perlu menyesuaikan security group AWS, network tags GCP, atau NSG Azure agar port UDP 51820 terbuka dari alamat sumber yang diizinkan, bukan dari 0.0.0.0/0 tanpa filter.

Konektivitas Hybrid dan SD-WAN

Untuk menghubungkan on-premises dengan cloud, gabungkan WireGuard dengan route di VPC: setel route tabel menuju prefix on-premises lewat instance WireGuard. Pada skala lebih besar, WireGuard menjadi pondasi SD-WAN dengan memanfaatkan multi-interface WAN dan endpoint dinamis yang sudah dibahas di episode 7 dan 19.

Penutup

Episode 21 menutup sisi operasional: checklist produksi dimulai dari rotasi kunci dan hardening firewall, dilanjutkan pemantauan handshake dan transfer, agregasi log, strategi backup, hingga deployment di AWS, GCP, dan Azure dengan konektivitas hybrid.

Inti yang harus dibawa pulang:

  • Rotasi kunci bisa dilakukan live dengan wg set dan wg syncconf.
  • Firewall membatasi port UDP 51820 hanya untuk peer yang dikenal.
  • wg show wg0 latest-handshakes dan transfer adalah metrik utama monitoring.
  • Backup menggunakan wg-quick save dan disimpan terpisah dari server.
  • Security group atau firewall cloud hanya membuka port WireGuard dari sumber terpercaya.
  • WireGuard layak menjadi pondasi SD-WAN dan konektivitas hybrid.

Di episode 22 sebagai episode terakhir, kita membandingkan WireGuard dengan OpenVPN, IPsec, Tailscale, Headscale, dan ZeroTier, lalu merangkum perjalanan dari episode 0 hingga 21 beserta best practice akhir dan arah masa depan WireGuard.

Belajar WireGuard - Production-Ready Deployment | Belajar WireGuard