Deploy Harbor & Trivy as Secure Private Registry
DevSecOps series #7 | Using Container Image Scanner from Private Registry
Harbor
Berdasarkan dokumentasi resminya, Harbor merupakan salah satu registry yang bersifat opensource dibawah naungan CNCF. Harbor adalah registry yang bersifat secure yang di kontrol melalui policy dan role-based kontrol akses, harbor akan melakukan scanning terhadap image yang ada untuk memastikan terbebas dari kerentanan dalam hal security.
Trivy
Trivy merupakan tools yang digunakan untuk melakukan pemindaian akan kerentanan/kesalahan konfigurasi pada container image ataupun artifact lain. Trivy akan melakukan pemindaian kerentanan terhadap OS Package image (RHEL, Ubuntu, Alpine, dsb) dan language package (npm, composer, yarn, dsb). Trivy merupakan project dibawah naungan aquasec.com
Dalam artikel ini akan membahas mengenai instalasi harbor dan trivy sebagai dependency dari harbor sehingga proses scanning akan dijalankan secara otomatis oleh harbor.
Prasyarat
- OS Ubuntu 20.04
- Akses root user
- Koneksi Internet
Langkah Instalasi
Instalasi Docker
Instalasi menggunakan script instaler karena lebih simple dan mudah sesuai dengan pedoman dokumentasi
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ DRY_RUN=1 sh ./get-docker.sh
Tambahkan grup docker agar dapat menjalankan command docker tanpa akses root
$ sudo groupadd docker
$ sudo usermod +aG docker $USER## Test
$ docker run hello-world
Instalasi Harbor
1. Download script installer
$ curl -o harbor.sh https://gist.githubusercontent.com/kacole2/95e83ac84fec950b1a70b0853d6594dc/raw/ad6d65d66134b3f40900fa30f5a884879c5ca5f9/harbor.sh
2. Beri akses execute terhadap file harbor.sh
$ chmod u+x harbor.sh
3. Jalankan script instalasi
$ ./harbor.sh
Pada saat instalasi akan terdapat option untuk host harbor menggunakan ip address ataupun FQDN. Pilih opsi 1 untuk menggunakan ip address sebagai alamat host, pilih opsi 2 untuk menggunakan FQDN sebagai alamat host. Tunggu proses hingga selesai.
4. Setelah instalasi selesai, login ke harbor registry dengan docker
$ docker login <harbor_address> -u admin -p Harbor12345## Test push
$ docker tag hello-world <harbor_address>/library/hello-world
$ docker push <harbor_address>/library/hello-world
5. Akses harbor menggunakan browser, lalu check
6. Menambahkan trivy sebagai dependency untuk melakukan scaning image yang ada. Project > Configuration > Vulnerability Scanning : Checklist
Reference
Our Tagline
# Together is Better & Continuous Learning