Install Red Hat Advanced Cluster Security (StackRox) on Openshift 4.8

Install Red Hat Advanced Cluster Security (StackRox) on Openshift 4.8

Red Hat OpenShift Advanced Cluster Security

pada ekosistem kontainer salah satu hal yang perlu dipertimbangkan adalah melindungi aplikasi/layanan dan infrastruktur. pada tulisan ini kita akan membahas terkait StackRox Kubernetes Security Platform dimana ini akan mengotomasi dan menerapkan complaiance/standar pada deployment kontainer.

StackRox merupakan salah satu produk container security yang cukup populer, mungkin selain itu ada Aquasec dll, dimana pada bulan Februari 2021 Red Hat sudah mengakuisisi StackRox dan berubah namanya menjadi Red Hat Advanced Cluster Security (RHACS).

Biasanya kalau kita membahas tentang kontainer maka biasanya berikatan dengan DevOps atau agile, dimana itu biasanya hanya memfokuskan pada kecepatan development dan deployment dengan memanfaatkan CI/CD Automation, namun kurang memperhatikan dari faktor keamanan atau dengan kata lain (DeSecOps), maka untuk mengatasi hal tersebut kita bisa memanfaatkan tools container security seperti StackRox (RHACS) dimana fungsinya lumayan banyak seperti :

  1. Visibility
  2. Vulnerability Management
  3. Compliance
  4. Network Segmentation
  5. Risk Profiling
  6. Configuration Management
  7. Threat Detection
  8. Incident Response

namun pada tulisan ini saya akan memfokuskan hanya pada instalasi RHACS diatas Openshift 4.8 mengunakan operator, mungkin nanti lebih detailnya akan saya bahas dilain waktu.

Aristektur RHACS/StackRox

Pada gambar diatas merupakan arsitektur di arsitektur dari stackrox, dimana lebih detailnya seperti dibawah ini

Central

Komponen utama pada StackRox merupakan Central dan ini akan diinstall sebagai deployment di kubernetes. Central akan menangani persisten data, interaksi API (API Server) dan akses ke UI. Kita bisa mengunakan instance Central yang sama untuk multi kluster kubernetes / openshift.

Sensor

Pada StackRox terdapaat komponen Sensor untuk monitor kubernetes/openshift cluster. Sensor akan mengangani interaksi dengan API Kubernetes untuk policy detection dan enforcement serta berkoordinasi dengan Collector

Scanner

Stackrox memasukan komponen scanning image vulnerability dengan nama Scanner. ini akan menganalisa semua layer pada image dan memastikan untuk vulnerability yang diketahui berdasarkan dari list Common Vulnerabilities and Exposures (CVEs).

Coolector

Collector berfungsi untuk mengumpulkan dan memonitor informasi terkait container runtime dan aktifitas network.

Admission Controller

pada Admission Controller mencegah user untuk membuat workload yang tidak sesuai dengan aturan pada StackRox

RESOURCE REQUIREMENT

Central  layanan berbentuk single container yg menangani data persistent, interaksi API, akses UI dan fungsi lainnnya. hanya Central yang mengunakan persisten storage.

Berikut requirement persisten storage pada Centra:

  • Persistent volume claim (pvc) atau hostPath
  • sangat direkomendasi mengunakan SSD untuk mendapatkan performance yang baik, tapi bisa mengunakan jenis storage yang lain jika tidak memiliki SSD

Sesuaikan spesifikasi resource berdasarkan jumlah node yg kita miliki seperti dibwah ini:

Sensor berfungsi untuk memonitor kubernetes dan openshift cluster. service ini akan dideploy dalam bentuk single deployment dengan spek seperti dibawah ini:

Admission Controller secara default akan direplica menjadi 3 pod dengan spek seperti ini:

Per-Node Service (Collector) akan mengirimkan setiap informasi pada setiap node, dimana collector akan di deploy dalam bentuk daemonset, dengan spek seperti ini:

Selain itu pada Collector terdapat fungsi untuk mengambil data compliance, dengan spek seperti ini:

INSTALASI STACKROX (RHACS) MENGUNAKAN OPERATOR

Pada operator Advance Cluster Security terdapat 2 custom resource:

  • Central

Pada custom resource ini terdapat Central dan Scanner

  • SecuredCluster

Pada custom resource ini terdapat 3 bagian Sensor, Collector dan Admission Control

Akses Openshift Web Console > OperatorHub > pilih RHACS

kemudian pilih install pada Advanced Cluster Security operator.

secara default operator Advanced Cluster Security akan diinstall pada project openshift-operators, jika instalasi selesai, pilih installed operators

secara default, pada operator ini terdapat 2 custom resource, nantinya kita akan menginstall 2 custom resource tersebut namun disarankan diinstall di project lain (sebagai contoh project stackrox), dimana untuk central, hanya diinstall pada salah satu cluster saja, sedangkan untuk secure cluster wajib diinstall pada semua cluster yang ingin dimonitor

buat project stackrox home > project > create project

create instance pada central didalam operator tersebut pada project stackrox

kemudian verifikasi instance central, pastikan pod central dan scanner sudah terbentuk nantinya pada bagian ini membutuhkan pvc untuk central

untuk verifikasi masuk kedalam instance central stackrox-central-services, kemudian jalankan perinta pada admin credential info untuk mendapatkan password

kemudian akses dashboard stackrox dengan melihat route

Instal Secured Cluster

ini harus diinstal pada semua cluster yang ingin di monitor oleh stackrox, pada saat install securedcluster, namun sebelum install securedcluster kita perlu membuat init bundle secret pada dashboard stackrox Platform Configuration > Cluster > Manage Token > Cluster init Bundle

kemudian pilih new integration dan isikan namanya menjadi example-cluster, setelah itu download kubernetes secret, kemudian secret tersebut jalankan didalam project stackrox

kemudian jalankan secret diatas dengan perintah oc

oc create -f example-cluster-init-secret.yaml -n stackrox

Seteleah menjalankan secret, maka tahap selanjutnya adalah install instance securedcluster seperti dibawah ini

untuk verifikasi, pastikan semua pod running (sensor, admission control dan collector)

untuk verifikasi memastikan fungsi stackrox sudah sesuai dengan fungsinya kita perlu deploy sampel apps

kubectl create ns test
kubectl run shell --labels=app=shellshock,team=test-team --image=vulnerables/cve-2014-6271 -n test
kubectl run samba --labels=app=rce --image=vulnerables/cve-2017-7494 -n test

nantinya stackrox akan melakukan scan terhadap deployment yang sudah dijalankan untuk memastikan ada security risk atau tidak, berikut adalah info hasil scan dari stackrox

Ref:

  • https://help.stackrox.com/docs/get-started/quick-start-openshift/
About the author
Alan Adi Prastyo

Routecloud Networks

Information about Server, Linux and Computer Network.

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to Routecloud Networks.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.