Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Mengamankan Traffic Cluster Kubernetes Dengan Kebijakan Jaringan Pod

Posted on December 7, 2022

Kubernetes Pod dapat berkomunikasi dengan bebas satu sama lain secara default. Ini menimbulkan risiko keamanan saat klaster Anda digunakan untuk beberapa aplikasi atau tim. Perilaku salah atau akses jahat di satu Pod dapat mengarahkan lalu lintas ke Pod lain di cluster Anda. Artikel ini akan mengajarkan Anda cara menghindari skenario ini dengan mengatur kebijakan jaringan. Aturan ini memungkinkan Anda mengontrol arus lalu lintas Pod-to-Pod pada tingkat alamat IP (OSI layer 3 atau 4). Anda dapat secara tepat menentukan sumber masuk dan keluar yang diizinkan untuk setiap Pod.

Membuat Kebijakan Jaringan

Kebijakan jaringan dibuat dengan menambahkan objek NetworkPolicy ke klaster Anda. Setiap kebijakan menentukan Pod yang berlaku untuknya dan satu atau lebih aturan masuk dan keluar. Berikut manifes kebijakan dasar:

apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: network-policy namespace: app spec: podSelector: matchLabels: component: database policyTypes: – Masuknya – Masuknya keluar: – dari: – podSelector : matchLabels: component: api egress: – to: – podSelector: matchLabels: component: api

Kebijakan jaringan ini berlaku untuk semua Pod dengan label component: database di namespace aplikasi. Dinyatakan bahwa lalu lintas masuk (masuk) dan keluar (keluar) hanya diperbolehkan dari dan ke Pod dengan label komponen: api. Setiap permintaan yang berasal dari Pod lain, seperti komponen: web-frontend, akan diblokir. Kebijakan

Network dapat diterapkan seperti objek lainnya dengan menggunakan Kubectl. Mereka akan langsung berlaku setelah dibuat. Anda dapat menambahkan kebijakan jaringan sebelum Anda memulai Pod yang dipilihnya.

$ kubectl apply -f policy.yaml networkingpolicy.networking.k8s.io/network-policy createdHow Network Policies Work

Kebijakan jaringan diterapkan oleh plugin jaringan aktif klaster Anda. Kebijakan Anda tidak akan berpengaruh jika plugin Anda tidak mendukung fitur tersebut. Pilihan yang paling populer seperti Calico dan Cilium dikirimkan dengan dukungan kebijakan jaringan yang diaktifkan.

Ketika kebijakan jaringan diterapkan pada sebuah Pod, plugin akan memeriksa lalu lintasnya untuk memeriksa kepatuhannya terhadap persyaratan kebijakan. Koneksi apa pun yang tidak memenuhi kriteria tidak akan diizinkan. Pod yang mencoba memulai koneksi akan menemukan host jarak jauh tidak dapat dijangkau, baik karena Pod mencoba mengakses sumber daya yang diblokir oleh aturan egress, atau karena Pod jarak jauh menolak koneksi masuk menggunakan aturan ingress.

A koneksi berhasil antara dua Pod hanya dapat dibuat ketika kebijakan jaringan pada keduanya mengizinkannya. Koneksi dapat dilarang oleh aturan jalan keluar dari Pod yang memulai, atau aturan jalan masuk pada target. Kebijakan

Network selalu bersifat aditif. Ketika beberapa kebijakan memilih Pod yang sama, daftar sumber masuk dan keluar yang diizinkan akan menjadi kombinasi dari semua kebijakan. Kebijakan Jaringan

Example

Kebijakan jaringan mendukung banyak opsi berbeda untuk menyesuaikan Pod yang mereka targetkan dan jenis koneksi yang diizinkan. Contoh berikut menampilkan beberapa kasus penggunaan umum.

Menerapkan kebijakan ke setiap Pod di namespace, hanya mengizinkan lalu lintas Ingress dari alamat IP tertentu block
apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: network-policy namespace: app spec: podSelector: {} policyTypes: – Ingress ingress: – from: – ipBlock: cidr: 172.17.0.0/16

Blok podSelector yang kosong berarti semua Pod namespace ditargetkan oleh kebijakan. Aturan ipBlock membatasi lalu lintas masuk ke Pod dengan alamat IP dalam rentang yang ditentukan. Traffic keluar tidak diblokir.

Izinkan traffic Ingress dari blok alamat IP, tetapi kecualikan beberapa IP tertentu
apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: network-policy namespace: app spec: podSelector: {} policyTypes: – Ingress masuknya: – dari: – ipBlock: cidr: 172.17.0.0/16 kecuali: – 172.17.0.1/24 – 172.17.0.2/24 – 172.17.0.3/24

ipBlock aturan mendukung bidang pengecualian untuk mengecualikan lalu lintas yang berasal dari, atau diarahkan untuk, IP tertentu.

Allow Ingress traffic dari semua Pod di namespace, tetapi hanya dari port
apiVersion tertentu: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: network-policy namespace: app spec: podSelector: {} policyTypes: – Masuknya masuk: – dari: – podSelector: {} port: – protokol: port TCP: 443

Bidang port tersedia pada aturan masuk dan keluar. Ini mendefinisikan port yang lalu lintas dapat diterima dari dan dikirim ke. Anda dapat secara opsional menentukan rentang port, seperti 3000 – 3500, dengan mengatur kolom endPort (3500) selain port (3000).

Izinkan lalu lintas dari Pod dengan label spesifik yang ada di namespace
apiVersion: networking.k8s yang berbeda. io/v1 kind: NetworkPolicy metadata: name: network-policy namespace: database spec: podSelector: {} policyTypes: – Ingress masuknya: – from: – namespaceSelector: matchLabels: aplikasi: demo-app podSelector: matchLabels: component: database

Status kebijakan bahwa setiap Pod berlabel komponen: database dapat menjangkau semua Pod dalam namespace database, jika namespace miliknya diberi label demo-app.

Anda dapat mengizinkan lalu lintas dari semua Pod dalam namespace eksternal dengan membuat aturan yang hanya menyertakan field NamespaceSelector.

Mengizinkan secara eksplisit semua lalu lintas

Terkadang Anda mungkin ingin secara eksplisit mengizinkan semua lalu lintas dari jenis tertentu dalam ruang nama. Sertakan tipe dalam kebijakan Anda tetapi berikan pemilih Pod kosong dan tanpa aturan:

apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: network-policy namespace: app spec: podSelector: {} policyTypes: – Ingress – Egress ingress: – {} egress: – {}

Semua Pod di namespace bisa berkomunikasi dengan bebas, seolah-olah tidak ada kebijakan. Tetap membuat kebijakan memungkinkan Anda menunjukkan niat Anda kepada pengguna cluster lainnya. Mereka mungkin mempertanyakan keberadaan sebuah namespace dengan jaringan tak terbatas dalam sebuah cluster yang sebaliknya telah diamankan.

Kapan Menggunakan Kebijakan Jaringan

Kebijakan jaringan harus dibuat untuk setiap namespace dan Pod di cluster Anda. Ini mengisolasi Pod Anda dengan lebih baik dan memberi Anda kendali atas arus lalu lintas.

Cobalah untuk membuat kebijakan Anda serinci mungkin. Memperluas akses terlalu banyak, seperti mengizinkan akses di antara semua Pod di namespace, membuat Anda terpapar risiko jika salah satu kontainer Anda disusupi. Pertimbangkan untuk menggunakan pemilih yang tepat untuk mengidentifikasi jarak masuk dan keluar individu untuk Pod sensitif seperti layanan autentikasi, basis data, dan penangan pembayaran.

Kubernetes tidak mengaktifkan kebijakan jaringan apa pun secara default yang dapat memungkinkan terjadinya pengawasan, bahkan jika Anda bermaksud agar semua Pod dilindungi oleh suatu kebijakan. Anda dapat mengurangi risiko ini dengan menambahkan kebijakan penampung-semua ke ruang nama Anda. Kebijakan ini memilih setiap Pod dalam namespace dan menerapkan aturan yang melarang semua komunikasi jaringan:

apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: deny-all namespace: app spec: podSelector: {} policyTypes: – Ingress – Kebijakan Egress

Network selalu dicakup ke ruang nama sehingga Anda harus membuat catch-all terpisah untuk masing-masing.

Summary

Kubernetes memungkinkan semua Pod di klaster Anda untuk berkomunikasi satu sama lain. Ini terlalu permisif untuk aplikasi dunia nyata yang berjalan di cluster multiguna. Kebijakan jaringan mengatasi masalah ini dengan menyediakan sistem seperti firewall untuk mengelola sumber masuk dan target keluar yang diterima setiap Pod. Nbsp

Merupakan praktik yang baik untuk mengonfigurasi kebijakan jaringan di semua Pod Anda. Ini akan mengamankan klaster Anda sehingga hanya arus lalu lintas yang sah yang diizinkan. Namun, kebijakan jaringan hanyalah satu bagian dari keamanan Kubernetes: mekanisme perlindungan lain seperti konteks keamanan RBAC dan Pod juga merupakan alat penting untuk memperkuat lingkungan Anda.

Disadur dari HowToGeek.com.

Terbaru

  • SALAH! MIT Ungkap AI Tidak Ganti Karyawan Karena Efisiensi
  • Inilah Inovasi Terbaru Profesor UI: Pelumas Mobil dari Minyak Nabati!
  • Daftar Sekarang! Beasiswa S2 di Italia dari IYT Scholarship 2026 Sudah Dibuka
  • Sejarah Hantavirus dan Perkembangannya Sampai ke Indonesia
  • Kementerian Pendidikan: Mapel Bahasa Inggris Wajib di SD Mulai 2027!
  • Ketua Fraksi PKB MPR-RI: Kemenag Respon Cepat Pendidikan Santri Ndolo Kusumo Pati yang Terdampak
  • Viral Video Sejoli Di Balai Kota Panggul Trenggalek, Satpol PP Janji Usut
  • Video Viral Wakil Wali Kota Batam Tegur Keras Pasir Ilegal
  • LPDP Buka Peluang Beasiswa S3 Prancis 2026, Simak Syaratnya!
  • Inilah Panduan Lengkap dan Aturan Main Seleksi Penerimaan Murid Baru (SPMB) SMA dan SMK Negeri Jawa Tengah Tahun 2026
  • Inilah Syarat dan Cara Daftar MOFA Taiwan Fellowship 2027
  • RESMI! Inilah Macam Jalur di SPMB Sekolah Tahun Ajaran 2026
  • Ini Loh Rute Terbaru TransJOGJA Per Mei 2026, Jangan Salah Naik!
  • Inilah Jadwal Operasional MRT Jakarta Per Mei 2026, Berubah Dimana?
  • Inilah Syarat dan Mekanisme Seleksi Siswa Unggul ITB Jalur Talenta (OSN, Seniman, Hafidz, Atlet dll) 2026/2027
  • Inilah Daftar Saham Farmasi di BEI Per Mei 2026, Pilih Mana?
  • Kesehatan Mental Itu Penting: Inilah Isi Chat Terakhir Karyawan Minimarket Sukabumi Bundir
  • Inilah Kampus Swasta Terbaik Jurusan Farmasi di Area Malang Raya
  • Cara Login EMIS 4.0 Kemenag Terbaru 2026 Pakai Akun Lembaga dan PTK Guru Madrasah Aktivasi
  • Survei Parpol Terbaru: Gerindra Unggul, PDIP Ketiga, PKB 5%
  • PKB Resmi Jalin Kerjasama dengan Institut Teknologi & Sains NU Kalimantan
  • Inilah Urutan Terbaru Pangkat TNI Angkatan Darat! (Update 2026)
  • Inilah Panduan Lengkap Operator Sekolah Mengelola SPTJM e-Ijazah dan Menghindari Kesalahan Fatal Data Kelulusan
  • Inilah Syarat dan Penilaian Seleksi Siswa Unggul ITB Jalur UTBK
  • Download Video Viral Guru Bahasa Inggris? Awas Berisi Virus!
  • PKB Minta Kasus C4bul Pendiri Ponpes Pati Tidak Ada Ampunan & Tuntutan Maksimal
  • Inilah Kronologi Video Viral Preman vs Sopir Di Sumedang
  • Ini Alasan UKP Pariwisata Disindir Konten Kreator Drone Gunung Rinjani
  • Inilah Kronologi Viral Video Dugaan Asusila Pegawai Disdik Pasuruan di Mobil Dinas
  • Polisi Polda Sumut Resmi Dipecat: Dari Video Viral Sampai Sidang Etik Ini Kronologinya
  • How to build a high-performance private photo cloud with Immich and TrueNAS SCALE
  • How to Build an Endgame Local AI Agent Setup Using an 8-Node NVIDIA Cluster with 1TB Memory
  • How to Master Windows Event Logs to Level Up Your Cybersecurity Investigations and SOC Career
  • How to Build Ultra-Resilient Databases with Amazon Aurora Global Database and RDS Proxy for Maximum Uptime and Performance
  • How to Build Real-Time Personalization Systems Using AWS Agentic AI to Make Every User Feel Special
  • How to Automate Your Entire SEO Strategy Using a Swarm of 100 Free AI Agents Working in Parallel
  • How to create professional presentations easily using NotebookLM’s AI power for school projects and beyond
  • How to Master SEO Automation with Google Gemini 3.1 Flash-Lite in Google AI Studio
  • How to create viral AI video ads and complete brand assets using the Claude and Higgsfield MCP integration
  • How to Transform Your Mac Into a Supercharged AI Assistant with Perplexity Personal Computer
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025

©2026 emka.web.id | Design: Newspaperly WordPress Theme