Seiring dengan semakin banyaknya perusahaan yang mengadopsi teknologi container seperti Kubernetes, kebutuhan untuk mengelola lalu lintas dari luar ke dalam cluster menjadi sangat penting. Di sinilah Ingress berperan. Namun, kekuatan besar ini datang dengan risiko yang besar pula. Baru-baru ini, ditemukan sekelompok kerentanan kritis yang disebut IngressNightmare, dan ini bisa berdampak serius bagi keamanan sistem Anda.
Artikel ini akan membahas secara sederhana apa itu Ingress, bagaimana serangan IngressNightmare bekerja, serta langkah-langkah mitigasi yang dapat dilakukan untuk melindungi cluster Kubernetes Anda.
Apa Itu Ingress?
Ingress adalah komponen penting di Kubernetes yang mengatur dan mengarahkan lalu lintas dari luar ke dalam layanan (services) di dalam cluster. Ingress terdiri dari dua bagian:
- Ingress Resource – Mengatur aturan routing berdasarkan hostname dan path.
- Ingress Controller – Menerapkan aturan tersebut, biasanya dengan memanfaatkan NGINX sebagai reverse proxy atau load balancer.
Contoh sederhana:
- example.com/ diarahkan ke layanan frontend
- example.com/api diarahkan ke layanan backend
Dengan konfigurasi ini, pengguna bisa mengakses layanan internal melalui satu pintu masuk yang diatur rapi.
Apa Itu IngressNightmare?
IngressNightmare adalah kumpulan kerentanan kritis yang ditemukan di Ingress NGINX Controller. Kerentanan ini memungkinkan penyerang menjalankan kode berbahaya tanpa autentikasi (unauthenticated RCE – Remote Code Execution).
Kerentanan ini terdiri dari beberapa CVE:
- CVE-2025-1097 – Auth-tls-match-cn Annotation Injection
- CVE-2025-1098 – Mirror UID Injection
- CVE-2025-24514 – Auth-url Annotation Injection
- CVE-2025-1974 – NGINX Configuration Code Execution (paling parah, dengan skor CVSS 9.8)
Jika berhasil dieksploitasi, dampaknya bisa sangat serius:
- Penyerang bisa mengakses semua Secrets di seluruh namespace
- Melakukan pergerakan lateral ke layanan lain
- Bahkan mengambil alih seluruh cluster
Versi Ingress NGINX Controller yang Terkena Dampak
Jika Anda menggunakan versi berikut, maka cluster Anda kemungkinan rentan:
- Semua versi sebelum v1.11.0
- Versi v1.11.0 sampai v1.11.4
- Versi v1.12.0
Bagaimana Serangan IngressNightmare Bekerja?
Serangan ini dilakukan secara bertahap:
- Pemindaian – Penyerang mencari cluster Kubernetes yang menggunakan Ingress NGINX dan memiliki admission controller yang terbuka.
- Membuat Objek Jahat – Penyerang membuat objek Ingress yang sudah disisipi konfigurasi NGINX berbahaya.
- Mengirim Objek – Objek ini dikirim sebagai request AdmissionReview tanpa autentikasi.
- Konfigurasi Dibuat – Ingress controller membuat file konfigurasi NGINX dari objek tersebut.
- Validasi Konfigurasi – Saat controller menjalankan nginx -t untuk validasi, kode jahat dijalankan.
- Eksekusi & Akses Privilege – Penyerang mendapat akses penuh dan bisa menjelajahi cluster.
Cara Mengecek Apakah Cluster Anda Rentan
Gunakan perintah ini untuk mencari tahu apakah Anda menggunakan Ingress NGINX:
kubectl get pods –all-namespaces –selector app.kubernetes.io/name=ingress-nginx
Jika ya, cek versinya dan segera lakukan pembaruan jika termasuk versi yang rentan.
Langkah-Langkah Mitigasi
- Tindakan Utama: Update
Segera perbarui Ingress NGINX Controller Anda ke versi aman berikut:
- v1.11.5
- v1.12.1
- Atau versi yang lebih baru
- Jika Belum Bisa Update, Lakukan Mitigasi Sementara:
- Batasi Akses – Gunakan network policy agar hanya API Server yang bisa mengakses admission controller.
- Nonaktifkan Admission Controller:
- Jika menggunakan Helm:
- helm upgrade –set controller.admissionWebhooks.enabled=false …
-
- Jika instalasi manual:
- Hapus ValidatingWebhookConfiguration
- Hapus argumen –validating-webhook dari deployment controller
- Jika instalasi manual:
Bagaimana SentinelOne Membantu Melindungi
Jika Anda menggunakan SentinelOne, platform Singularity Cloud Security bisa membantu dengan:
- Mengidentifikasi apakah cluster Anda terkena dampak
- Memberi tahu jika Ingress bisa diakses dari luar
- Mendeteksi eksploitasi secara real-time
- Menyediakan fitur Threat Hunting dan Posture Management untuk mencegah serangan lanjutan
Tips Troubleshooting Masalah Ingress Umum
Ingress tidak hanya punya risiko keamanan, tapi juga sering jadi sumber masalah operasional. Berikut beberapa “nightmare” umum dan cara mengatasinya:
- Masalah Sertifikat SSL
Gejala: Browser muncul peringatan “Connection is not secure”
Solusi:
- Pastikan tls.crt dan tls.key di Secret benar.
- Cek DNS dan YAML konfigurasi Ingress.
- Routing Tidak Sesuai
Gejala: Muncul 404 atau akses tidak sesuai path
Solusi:
- Periksa kembali aturan path dan host di YAML.
- Gunakan curl -v untuk lacak permintaan HTTP.
- Kesalahan Anotasi
Gejala: Konfigurasi tidak berfungsi
Solusi:
- Gunakan anotasi yang sesuai dengan jenis controller (NGINX vs Traefik).
- Cek dokumentasi resmi untuk anotasi terbaru.
- Performa Lambat
Gejala: Waktu muat lama, CPU tinggi
Solusi:
- Pantau pod: kubectl top pod -n ingress-nginx
- Optimalkan buffer dan skala jumlah replika jika perlu
Kesimpulan
Kerentanan seperti IngressNightmare mengingatkan kita bahwa keamanan Kubernetes tidak boleh diabaikan. Kombinasi antara tindakan proaktif (seperti patching dan konfigurasi aman) dan tindakan reaktif (seperti deteksi waktu nyata dan threat hunting) sangat penting untuk menjaga sistem tetap aman dan handal.
Langkah Selanjutnya
✅ Keamanan: Segera update Ingress NGINX Controller Anda
✅ Operasional: Terapkan tips troubleshooting untuk mencegah gangguan layanan
✅ Monitoring: Gunakan alat keamanan seperti SentinelOne untuk visibilitas menyeluruh
✅ Dokumentasi: Buat dokumentasi internal yang mudah dipahami untuk tim DevOps/SRE Anda
Ingin tahu lebih lanjut tentang bagaimana SentinelOne membantu melindungi Kubernetes Anda dari ujung ke ujung? Diskusikan kebutuhan SentinelOne Anda Bersama iLogo Indonesia sebagai Mitra terpercaya yang siap membantu mengintegrasikannya
💬 Hubungi kami sekarang atau Anda dapat mengunjungi https://sentinelone.ilogoindonesia.com
