Trivy ile scan işlemine geçmeden önce CVE(Common Vulnerabilities and Exposure) ne demek ona değinelim. CVE’ler bilinen açıklar ve bunlar için alınması gereken önlemleri içerirler. Her CVE kendisine unique bir id alır. Her CVE ayrıca bir severity score’a sahiptir. Bu score 0 ile 10 arasında bir değerdir. Bu score sayesinde bu açıkları kapamak için yapılacak işlemler önceliklendirilebilir.
Örnek olarak bir CVE çıktısı aşağıdaki gibidir.
Container mimarisinde bilinen bu açıklara karşı (CVE’s) tarama işlemini yapan belirli tool’lar bulunuyor. Bunlardan birisi de Aqua Security tarafından yayınlanan Trivy.Trivy kullanımı çok basit olan bir vulnerability scanner aracıdır. Ayrıca CICD pipeline’larına entegre edilmesi de oldukça kolaydır. Trivy aracının kurulumu da kullanımı gibi oldukça kolaydır. Gerekli dependecyler kurulduktan sonra kolaylıkla kullanılabilir.
Aşağıdaki komutları kullanarak trivy ürününün kurulumunu kolaylıkla sağlayabilirsiniz.
apt-get update
apt-get install wget apt-transport-https gnupg lsb-release
wget -qO - https://aquasecurity.github.io/trivy-repo/deb/public.key | sudo apt-key add -
echo deb https://aquasecurity.github.io/trivy-repo/deb $(lsb_release -sc) main | sudo tee -a /etc/apt/sources.list.d/trivy.list
Ardından repo’ları update edip trivy’nin kurulumunu başlatalım.
apt-get update
apt-get install trivy
İşlemler tamamlandıktan sonra aşağıdaki komutlar yardımıyla trivy kullanarak container imajlarını tarayabilirsiniz.
trivy image nginx:1.18.0
Eğer istenirse tarball olarak indirilen imajlar da taranabilir.
trivy image --input alpine.tar --format json --output /root/alpine.json
Tarama işlemi sonrasında çıktılar aşağıdaki gibidir.
Trivy kullanarak imajları,dosya sistemlerini ve git repo’larını kolaylıkla tarayabilirsiniz.
Trviy kullanma ile ilgili best practice’ler aşağıdaki gibidir;
- İmajların devamlı olarak taranması gerekir.
- İmage scan işlemleri için Kubernetes admission controller’lar eklenmelidir.
- Repostory’deki imajlar önceden taranmış olmalıdır.
- Scanning işlemleri CICD pipeline’larına entegre edilmelidir.
Temiz bir repository’e sahip olmak için imajlarınızı CICD aşamasında taramayı unutmayın.
Kaynak: kodekloud.com