Cyber Security Academy · Pelajaran

RBAC dan Akun Layanan

Mengamankan akses ke kluster.

Pelajaran 2 dari 413 langkah

RBAC dan Akun Layanan adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.

RBAC Mengendalikan Segalanya

Kontrol Akses Berbasis Peran (RBAC) menentukan identitas mana yang dapat melakukan tindakan apa pada sumber daya mana di dalam klaster. Setiap panggilan API diotorisasi berdasarkan RBAC. RBAC yang salah konfigurasi merupakan penyebab utama eskalasi hak istimewa di dalam klaster.

  • Subjek: pengguna, grup, akun layanan.
  • Peran mengikat verba ke sumber daya.
  • Pengikatan menghubungkan subjek dengan peran.

Peran vs ClusterRole

Ada dua cakupan.

  • Peran + RoleBinding: izin dengan cakupan ruang nama.
  • ClusterRole + ClusterRoleBinding: izin di seluruh klaster.

ClusterRoleBinding ke cluster-admin memberikan kendali total. Memberikannya kepada akun layanan merupakan kesalahan yang sering terjadi dan berbahaya.

Token Akun Layanan

Setiap pod berjalan sebagai akun layanan dan, secara bawaan, memasang tokennya. Token tersebut merupakan kredensial pembawa yang membawa hak RBAC akun. Jika pod disusupi, tokennya juga ikut disusupi.

Klaster modern menerbitkan token proyeksi berumur pendek yang terikat pada audiens, tetapi token rahasia lama yang berumur panjang masih tersisa.

# Inspect which service account a pod uses
kubectl get pod web -o jsonpath='{.spec.serviceAccountName}'

Menginventarisasi Izin Anda

Setelah mendapatkan token, langkah pertama adalah mempelajari hal-hal yang dapat dilakukannya. Kubernetes menyediakan API pemeriksaan mandiri.

# What can this token do?
kubectl auth can-i --list

# Specific checks
kubectl auth can-i create pods
kubectl auth can-i create clusterrolebindings

Kombinasi Izin Berbahaya

Verba tertentu merupakan sarana dasar eskalasi bahkan tanpa cluster-admin.

  • create pods: jadwalkan pod istimewa atau pod hostPath untuk melarikan diri.
  • create pods/exec: jalankan perintah dalam pod yang sudah ada.
  • get/list secrets: baca kredensial di seluruh klaster.
  • create rolebindings/clusterrolebindings: ikat diri Anda ke admin.
  • Verba escalate / bind: berikan hak yang tidak Anda miliki.
  • Penyamaran identitas: bertindak sebagai subjek lain yang lebih memiliki hak istimewa.

Eskalasi melalui Pembuatan Pod

Jika akun layanan dapat membuat pod, akun itu sering kali dapat mengambil alih node. Penyerang menjadwalkan pod yang memasang sistem berkas host atau berjalan dengan hak istimewa, lalu membaca kredensial node atau melarikan diri.

# Pod spec snippet that mounts the host root
# volumes: hostPath path: /  ;  container mounts it at /host
kubectl apply -f evil-pod.yaml
kubectl exec -it evil -- chroot /host bash

Eskalasi melalui Pengikatan

Jika Anda dapat membuat pengikatan peran, termasuk pengikatan tingkat klaster, Anda mungkin dapat mengikat akun layanan Anda langsung ke cluster-admin. Kubernetes melindungi hal ini dengan verba bind/escalate, tetapi peran yang salah konfigurasi terkadang mengizinkannya.

# Bind a service account to cluster-admin (if permitted)
kubectl create clusterrolebinding pwn \
  --clusterrole=cluster-admin \
  --serviceaccount=default:web

Penyalahgunaan Penyamaran Identitas

Verba impersonate memungkinkan suatu subjek bertindak sebagai pengguna, grup, atau akun layanan mana pun. Identitas dengan izin penyamaran yang luas pada dasarnya memiliki setiap izin di dalam klaster.

# Act as a privileged user via impersonation
kubectl get secrets --as=admin-user --as-group=system:masters

Mengaudit RBAC

Tim pertahanan harus terus-menerus meninjau RBAC untuk menemukan pemberian izin yang berisiko.

  • Temukan subjek yang terikat ke cluster-admin.
  • Tandai verba/sumber daya dengan karakter pengganti (*).
  • Deteksi pemberian izin membaca rahasia dan membuat pod pada akun nonadmin.
# Tools to audit RBAC
kubectl-who-can create pods
rbac-tool analysis
rakkess --as=system:serviceaccount:default:web

Memperkuat Akun Layanan

Terapkan hak istimewa minimum pada identitas.

  • Tetapkan automountServiceAccountToken: false jika pod tidak memerlukan akses API.
  • Berikan setiap beban kerja akun layanan khusus dengan cakupan izin seminimal mungkin.
  • Hindari akun layanan default untuk beban kerja nyata.
  • Gunakan token proyeksi berumur pendek dengan audiens; lakukan rotasi dan ikat token tersebut.
  • Jangan pernah mengikat beban kerja ke cluster-admin.

Menguji RBAC secara Etis

Saat menilai RBAC, utamakan pemeriksaan yang tidak merusak (auth can-i, dry-run) daripada benar-benar membuat pengikatan cluster-admin pada produksi. Jika Anda harus membuktikan eskalasi, batasi pengujian pada ruang nama pengujian dan hapus semua pengikatan atau pod yang Anda buat.

Laporkan peran dan pengikatan tepat yang memungkinkan eskalasi agar dapat diperketat.

Pemeriksaan Cepat

Konfirmasikan pemahaman Anda tentang RBAC.

Ringkasan

Anda telah mempelajari cara RBAC dan akun layanan mengatur serta mengancam akses klaster.

  • RBAC mengikat subjek ke verba pada sumber daya; cluster-admin memberikan kendali total.
  • Pod memasang token SA; auth can-i mengungkapkan jangkauannya.
  • Pembuatan pod, pengikatan, pembacaan rahasia, dan penyamaran identitas merupakan sarana dasar eskalasi.
  • Akun dengan hak istimewa minimum dan pemasangan otomatis yang dinonaktifkan memperkuat klaster.

Berikutnya: keamanan pod dan kebijakan jaringan.

Gratis untuk memulai

Belajar Cyber Security Academy dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
76
Pelajaran
303

Pertanyaan yang Sering Diajukan

Apakah pelajaran “RBAC dan Akun Layanan” gratis?

Ya — teks lengkap “RBAC dan Akun Layanan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “RBAC dan Akun Layanan”?

Mengamankan akses ke kluster. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?

Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “RBAC dan Akun Layanan” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?

Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Model Ancaman Kubernetes
  2. RBAC dan Akun Layanan
  3. Keamanan Pod dan Kebijakan Jaringan
  4. Mengamankan Rantai Pasokan dan Rahasia
← Kembali ke Cyber Security Academy