Openshift üzerinde Operator Kullanarak Twistlock Kurulumu

Twistlock nedir?

Twistlock bir Container Security ürünüdür. Günümüzde Container’ların hayatımıza girmesi ile birlikte artık güvenlik tarafı da ihtiyaç olarak karşımıza çıkıyor.

Kısaca bahsedecek olursak bu ürünle ilgili son gelişme,yakın zamanda Palo Alto Networks tarafından satın alınmıştı.

Aynı zamanda Gartner’ın Nisan 2019 tarihinde yayınladığı raporda bulunmakla birlikte diğer Container Security ürünlerini de görebilirsiniz.

https://www.gartner.com/doc/reprints?id=1-1OGJYJRA&ct=190904&st=sb

Bu makalede Twistlock ürününün kurulumu ve kullanımını göstereceğim.

Kurulumu Openshift üzerinden Operator ile gerçekleştireceğim için belki faydalı olur diye linki alta bırakıyorum.

Yapısını biraz inceleyecek olursak console ve defender olmak üzere 2 componentten oluşuyor. Defender ,Container Platformunuzdaki bütün hostlar üzerine konumlanarak kontrolü ele almanızı sağlıyor.

Twistlock Kurulumu

Kurulum için Openshift ortamıma bağlanıyorum.OperatorHub’a twistlock yazdığımda karşıma 2 seçenek çıkıyor.Biz verified olanı seçerek ilerleyeceğiz.İsterseniz Community edition seçebilirsiniz.

Karşıma çıkan ekranda default olarak ilerliyorum.

Twistlock operator’u hemen kuruldu.

oc get pods çıktısından görebilirsiniz.

Operator ayrıntılarından “Twistlock Console” — Create Instance diyerek Console instance’ını kuracağım.

Çıkan ekranda ilgili yaml dosyasının içeriğini kendinize göre düzenlemelisiniz.(PV,Project)Ben create diyerek ilerliyorum.Dikkat etmeniz gereken yaml içerisinde kendinize ait token’ı girmeniz gerekiyor.

Create diyerek yaml’ı çalıştırıyorum.Alttaki gibi console’umun oluştuğunu gözlemliyorum.

Console a tıkladığımızda bizim için yarattığı resource ları görebiliyoruz.

Şimdi bu servisi dışarı açmak için route tanımı yapmamız gerekiyor.

Openshift console üzerinden Networking-Routes sekmesine geliyoruz.Ve Create Route diyoruz.

Aşağıdaki tanımlara uygun bir route yaratıyoruz.

TLS olarak aşağıdaki kriterlere göre ilgili portu açıyoruz.

  • Passthrough kullanacaksanız 8083 portunu
  • Edge kullanacaksanız 8081 portunu

Sonrasında yarattığımız route a tıklayarak Twistlock console erişim sağlayacağız.

https://twistlock-console-openshift-operators.apps.openshift4.k8str.com

Bir kullanıcı yaratmamız gerekiyor.İlgili bilgileri girerek ilerliyoruz.

Lisans ekranına lisansımızı girerek ilerliyoruz.

Sonrasında twistlock ekranımız açılıyor.

Bundan sonraki aşama Defender dediğimiz componentleri ayağa kaldırmak.Bunun için soldaki menüden Manage-Defender sekmesine geliyoruz.Ve 8. step de bize çıkan scripti kopyalıyoruz.Aşağıdaki ekrandan kendinize göre özelleştirebilirsiniz.

if [[ ! -f ./twistcli || $(./twistcli --version) != *"19.03.317"* ]]; then curl --progress-bar -L -k --header "authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiYWRtaW4iLCJyb2xlIjoiYWRtaW4iLCJncm91cHMiOm51bGwsInByb2plY3RzIjpudWxsLCJzZXNzaW9uVGltZW91dFNlYyI6ODY0MDAsImV4cCI6MTU3Mjg3NjA4NCwiaXNzIjoidHdpc3Rsb2NrIn0.rIn1YzbNSl2dONrrlOfx03cVncyvKzcpqatUvnxcJn4" https://twistlock-console-openshift-operators.apps.openshift4.k8str.com/api/v1/util/twistcli > twistcli; chmod +x twistcli; fi; ./twistcli defender install openshift --namespace openshift-operators   --monitor-service-accounts=true  --token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjoiYWRtaW4iLCJyb2xlIjoiYWRtaW4iLCJncm91cHMiOm51bGwsInByb2plY3RzIjpudWxsLCJzZXNzaW9uVGltZW91dFNlYyI6ODY0MDAsImV4cCI6MTU3Mjg3NjA4NCwiaXNzIjoidHdpc3Rsb2NrIn0.rIn1YzbNSl2dONrrlOfx03cVncyvKzcpqatUvnxcJn4 --address https://twistlock-console-openshift-operators.apps.openshift4.k8str.com --cluster-address twistlock-console-r679w  --selinux-enabled

Bizim için bir deploymentset oluşturdu ve node’lar üzerinde bir defender podu ayağa kaldırdı.

Arayüzüme bağlanıp sol taraftaki radar sekmesine tıklıyoruz.

Sonrasında ekranın sağ tarafındaki menüden kontrol etttiğimde Defender containerlarımı görebilirim.

Aynı zamanda Manage — Defender sekmesinden görebilirsiniz.

Yine aynı şekilde sol menüden Radar sekmesine tıkladığımızda bütün projelerimiz olduğu resmi ortaya çıkardığını görüyoruz.İsterseniz container lara isterseniz de hostlara göre gösterim sağlayabilirsiniz.

Biraz daha detaya indiğimizde ise aşağıdaki şekilde bir görünüm sağlıyoruz.

Container içine tıkladığımızda Riskleri görebiliyoruz.

Container Layer’larını görebiliyoruz.

Monitor sekmesinden Container Audit,Host aktivitelerini ve diğer logları görebiliyoruz.

Ürünü Jenkins pipeline’larınıza entegre edebilir,alert üretebilir,Registry’inizi ekleyip tarayabilirsiniz.Umarım yardımcı olmuştur.

Diğer makalelerime göz atmak isterseniz;

Kişisel Bloğuma göz atmak isterseniz;

--

--