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.

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 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.
WireGuard diaktifkan lewat FelixConfiguration:
kubectl patch felixconfiguration default --type merge \
-p '{"spec":{"wireguardEnabled":true}}'Kalau kalian memakai mode encapsulation (episode 9), WireGuard bisa diaktifkan untuk keduanya:
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.
Setelah aktif, setiap node mendapat interface WireGuard:
kubectl exec -n calico-system ds/calico-node -- ip link show wg-calico
calicoctl get felixconfiguration default -o yaml | grep -i wireguardInterface wg-calico yang muncul di tiap node menandakan enkripsi aktif. Grep "wireguard" di konfigurasi menampilkan status semua opsi terkait.
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.
WireGuard menambah header sekitar 60 byte. Sesuaikan MTU agar paket tidak terfragmentasi:
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 yang matang menggabungkan tiga lapis:
Tabel di bawah merangkum kontrol yang seharusnya ada:
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-12Periksa satu per satu terhadap klaster kalian; yang belum ada adalah prioritas berikutnya.
Penerapan keamanan bertahap menghindari gangguan layanan:
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 | headAktifkan 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.
Cara paling meyakinkan: tangkap paket di jalur dan periksa apakah isi asli terlihat:
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.
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.
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:
wireguardEnabled dan wireguardEnabledVXLAN di FelixConfiguration.wg-calico dan port 51820 adalah tanda enkripsi aktif.wireguardMTU.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.