Episode ini membahas siklus hidup keamanan WireGuard: rotasi kunci secara live dengan wg set, strategi graceful rotation yang tidak memutus koneksi, backup kunci yang aman, audit peer, dan prosedur disaster recovery ketika kunci atau konfigurasi hilang.

Kunci WireGuard adalah identitas dan akses sekaligus. Ketika kunci mencurigakan, ketika seorang karyawan keluar, atau ketika kebijakan menuntut pergantian berkala, kalian harus bisa mengganti kunci tanpa mematikan seluruh jaringan. Inilah esensi dari key rotation.
Episode 12 membahas praktik rotasi kunci secara live, strategi graceful rotation yang mulus, backup yang aman, audit peer, dan prosedur disaster recovery. Ini adalah episode yang berorientasi operasional — apa yang kalian lakukan setiap minggu, bukan hanya sekali setup.
Kunci privat interface bisa diganti tanpa mematikan interface:
wg genkey > /etc/wireguard/privatekey.new
chmod 600 /etc/wireguard/privatekey.new
sudo wg set wg0 private-key /etc/wireguard/privatekey.newSetelah wg set wg0 private-key ..., kunci publik baru otomatis dihitung dari kunci privat baru. Semua peer yang mengenal kunci publik lama tidak akan bisa handshake lagi sampai mereka diperbarui. Itu sebabnya rotasi harus disusun urutannya dengan hati-hati.
Menukar kunci publik sebuah peer sama mudahnya: hapus peer lama, tambahkan peer dengan kunci baru. Jika kunci privat peer yang bocor, lakukan ini di sisi lawan:
sudo wg set wg0 peer <PUBLIK_LAMA> remove
sudo wg set wg0 peer <PUBLIK_BARU> allowed-ips 10.0.0.2/32Untuk client yang sedang aktif, rotasi bisa dilakukan hampir tanpa gangguan jika urutannya benar. Kuncinya: perbarui sisi yang menerima lebih dulu, sehingga koneksi lama tetap valid sampai sisi yang satu siap.
Selama langkah kedua belum terjadi, koneksi lama masih jalan. Begitu client berpindah kunci, handshake berikutnya memakai kunci baru yang sudah dikenal server. Cek hasil rotasi dengan wg show wg0 latest-handshakes.
Setelah rotasi, pastikan hanya peer baru yang tersisa dan handshake berjalan:
sudo wg show wg0
sudo wg show wg0 latest-handshakesKunci privat adalah satu-satunya aset yang tidak bisa dibuat ulang — jika hilang, peer lawan harus diperbarui. Simpan backup terenkripsi di lokasi terpisah:
tar czf wg-keys.tar.gz /etc/wireguard/privatekey /etc/wireguard/wg0.conf
age -r <RECIPIENT_PUBLIC_KEY> -o wg-keys.tar.gz.age wg-keys.tar.gzPerintah di atas memakai age untuk mengenkripsi arsip kunci. Simpan file hasil enkripsi di luar server — misalnya di object storage atau vault.
Siapkan langkah pulih dari kehilangan kunci atau server:
/etc/wireguard/.wg0.conf seluruh node di tempat terpisah.Dokumen ini sebaiknya menjadi runbook yang mudah diikuti oleh anggota tim lain, bukan hanya tersimpan di kepala.
Secara berkala, audit siapa saja yang masih punya akses:
sudo wg show wg0 | awk '/peer:/{print $2}'
sudo wg show wg0 transferBandingkan daftar kunci publik dengan daftar perangkat resmi. Peer yang tidak dikenal harus dicabut segera dengan wg set wg0 peer <kunci> remove. Kolom transfer yang tidak bergerak selama berbulan-bulan juga pertanda peer itu tidak terpakai.
Tetapkan kebijakan sederhana: rotasi kunci privat server setiap beberapa bulan, rotasi kunci client ketika perangkat hilang atau karyawan keluar, dan audit peer setiap kuartal. Kebijakan ini akan menjadi bagian dari checklist production di episode 21.
Episode 12 menuntaskan siklus hidup keamanan: rotasi kunci live lewat wg set, urutan graceful rotation yang meminimalkan downtime, backup terenkripsi dengan age, audit peer, dan prosedur disaster recovery yang teruji.
Inti yang harus dibawa pulang:
wg set wg0 private-key mengganti kunci interface tanpa restart.wg set wg0 peer ... remove mencabut akses peer secara instan.Di episode 13 selanjutnya kita membahas security model WireGuard — primitif kriptografi Curve25519, ChaCha20-Poly1305, BLAKE2s dan SipHash24, ancaman yang ditangani dan tidak ditangani, serta keterbatasan yang harus kalian kompensasi sendiri.