Belajar Calico - Encryption & Network Security Lanjutan
Episode 15 of 23

Belajar Calico - Encryption & Network Security Lanjutan

Episode ini membahas enkripsi jaringan Calico: WireGuard untuk traffic node-to-node, kombinasi WireGuard dengan encapsulation, dan penyusunan posture keamanan berlapis yang menggabungkan network, host, dan workload.

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

Pendahuluan

Network policy mengendalikan siapa boleh bicara ke siapa, tapi tidak melindungi isi percakapan. Di jaringan fisik atau cloud yang tidak dipercaya, traffic antar node bisa disadap. Episode 15 menutup celah ini dengan WireGuard: enkripsi end-to-end untuk traffic node-to-node yang dikelola langsung oleh Calico.

Kombinasi lengkap keamanan jaringan berarti: otentikasi (siapa), otorisasi (boleh apa), dan kerahasiaan (isi terenkripsi). Policy menangani dua yang pertama; WireGuard melengkapi yang terakhir.

WireGuard di Calico

Apa yang Diperkuat WireGuard

WireGuard mengenkripsi traffic antara dua node Calico. Semua paket pod yang melewati node — baik pod-to-pod, pod-to-node, atau pod ke luar — dibungkus dalam tunnel WireGuard dengan kriptografi modern. Ini sangat berguna di jaringan yang tidak dipercaya, misalnya antar cloud atau jaringan operator.

Mengaktifkan WireGuard

WireGuard diaktifkan lewat FelixConfiguration:

Aktifkan WireGuard
kubectl patch felixconfiguration default --type merge \
  -p '{"spec":{"wireguardEnabled":true}}'

Kalau kalian memakai mode encapsulation (episode 9), WireGuard bisa diaktifkan untuk keduanya:

Aktifkan WireGuard untuk VXLAN
kubectl patch felixconfiguration default --type merge \
  -p '{"spec":{"wireguardEnabled":true,"wireguardEnabledVXLAN":true}}'

wireguardEnabledVXLAN: true mengenkripsi tunnel VXLAN. Tanpa flag ini, hanya traffic non-encapsulated yang dienkripsi.

Verifikasi Interface

Setelah aktif, setiap node mendapat interface WireGuard:

Cek interface WireGuard
kubectl exec -n calico-system ds/calico-node -- ip link show wg-calico
calicoctl get felixconfiguration default -o yaml | grep -i wireguard

Interface wg-calico yang muncul di tiap node menandakan enkripsi aktif. Grep "wireguard" di konfigurasi menampilkan status semua opsi terkait.

WireGuard dan Encapsulation

Dua Lapisan Tunnel

Saat IPIP atau VXLAN aktif dan WireGuard menyala, paket pod mengalami dua lapis pembungkusan: dulu encapsulation (untuk routing), lalu WireGuard (untuk enkripsi). Overhead header bertambah, tapi keamanan berlapis. Di jaringan yang sudah dienkripsi oleh platform, lapisan kedua ini bisa dimatikan untuk menghemat MTU dan CPU.

MTU Setelah Enkripsi

WireGuard menambah header sekitar 60 byte. Sesuaikan MTU agar paket tidak terfragmentasi:

Atur MTU WireGuard
kubectl patch felixconfiguration default --type merge \
  -p '{"spec":{"wireguardMTU":1340}}'

wireguardMTU: 1340 memperhitungkan header WireGuard plus tunnel, angka yang umum di jaringan MTU 1500. Kalau aplikasi mulai mengalami koneksi lambat atau pecah-pecah, MTU adalah tersangka pertama.

Posture Keamanan Berlapis

Tiga Lapis Pertahanan

Posture yang matang menggabungkan tiga lapis:

  • Network layer: policy L3/L4 — default deny, microsegmentation (episode 13).
  • Host layer: HostEndpoint, port manajemen terkunci (episode 14).
  • Workload layer: policy per aplikasi, label tier, ALP L7 (episode 12).

Matriks Keamanan untuk Klaster Produksi

Tabel di bawah merangkum kontrol yang seharusnya ada:

Matriks kontrol keamanan
Area              Kontrol                      Episode
Default deny      GlobalNetworkPolicy all()     6
Microsegmentasi   NetworkPolicy per tier        13
Node              HostEndpoint + port kunci     14
Enkripsi          WireGuard node-to-node        15
Egress            EgressGatewayPolicy           10
DNS/L7            FQDN + ALP                    11-12

Periksa satu per satu terhadap klaster kalian; yang belum ada adalah prioritas berikutnya.

Urutan Penerapan yang Aman

Penerapan keamanan bertahap menghindari gangguan layanan:

Urutan penerapan keamanan
calicoctl get globalnetworkpolicy -o wide
kubectl patch felixconfiguration default --type merge \
  -p '{"spec":{"wireguardEnabled":true}}'
kubectl get tigerastatus | grep -iE "calico-node|felix"
kubectl get pods -A | grep -v Running | head

Aktifkan satu kontrol per perubahan, verifikasi tidak ada workload yang mati, baru lanjut ke kontrol berikutnya. kubectl get pods -A | grep -v Running adalah alarm cepat untuk mendeteksi kerusakan.

Verifikasi Enkripsi End-to-End

Membuktikan Paket Terenkripsi

Cara paling meyakinkan: tangkap paket di jalur dan periksa apakah isi asli terlihat:

Tangkap paket WireGuard
kubectl exec -n calico-system ds/calico-node -- sh -c \
  "tcpdump -i any -c 20 -n port 51820 2>/dev/null | head"

Port default WireGuard Calico adalah 51820. Jika traffic antar node mengalir di port ini, enkripsi aktif. Tanpa WireGuard, paket pod terlihat polos di jaringan.

Cek Statistik Per Interface

Statistik interface WireGuard
kubectl exec -n calico-system ds/calico-node -- sh -c \
  "cat /sys/class/net/wg-calico/statistics/rx_bytes"

Bilangan yang terus bertambah menandakan traffic terenkripsi mengalir.

Penutup

Episode 15 melengkapi pilar ketiga keamanan jaringan: WireGuard mengenkripsi traffic node-to-node, MTU disesuaikan dengan lapisan tunnel, dan posture keamanan berlapis menyatukan network, host, dan workload.

Inti yang harus dibawa pulang:

  • WireGuard menambah kerahasiaan, policy tetap menangani otorisasi.
  • Aktifkan lewat wireguardEnabled dan wireguardEnabledVXLAN di FelixConfiguration.
  • Interface wg-calico dan port 51820 adalah tanda enkripsi aktif.
  • WireGuard plus encapsulation menambah overhead; sesuaikan wireguardMTU.
  • Posture matang = network + host + workload, ketiganya dijalankan.
  • Terapkan kontrol satu per satu dan pantau alarm tiap langkah.

Di episode 16 selanjutnya kita membahas multi-cluster dan federation — peering BGP antar klaster, model keamanan lintas klaster, dan cara mengelola policy global secara konsisten di klaster yang tersebar.

Belajar Calico - Encryption & Network Security Lanjutan | Belajar Calico