PT. Digital Media Techindo

Perum Pondok Tandala, Jl. Bungur V No. 230
Kawalu, Kota Tasikmalaya
Jawa Barat - Indonesia 46182




Kali ini saya akan memberikan beberapa tips mengenai Docker Container Security. Docker kontainer, merupakan sebuah proyek open source (Apache License 2.0). Kontainer memungkinkan developer untuk package up aplikasi mereka tanpa mengkhawatirkan library dan dependensi, headache.

Hal tersebut memungkinkan untuk ship aplikasi di antara sistem yang menjalankan sistem operasi Linux. Kamu dapat melihat ini seperti mesin virtual, namun tanpa perlu menciptakan sistem operasi virtual secara keseluruhan.

Docker ini dilengkapi dengan beberapa keamanan. Tapi kamu juga perlu menyadari ada beberapa ancaman yang mengancam Docker ini.

1. KERNEL EXPLOITS

Bin setuid dan setgid dapat dieksploitasi oleh penyerang. Jadi, kamu perlu menonaktifkan hak setuid dengan menambahkan baris ini ke Dockerfile:

FROM debian:Xenial

RUN find / -perm +6000 -type f -exec chmod a-s {} ;

|| true

2. DENIAL OF SERVICE (DOS) Threats

Untuk mencegah upaya denial of service, Docker menggunakan sumber kernel. Kamu perlu memastikan bahwa kontainer tergabung ke banyak pengguna dan berbeda VMs. Serta memodifikasi share CPU kontainer (1.024 by default) selain membatasi memori maksimum yang dikonsumsi oleh setiap kontainer.


$ docker run -d -c 512  someimage

$ docker run -m 512m   someimage

3. BREAKOUT dan akses ke Host:

Jangan lupa untuk mematikan INTER-CONTAINER COMMUNICATION, karena settingan default nya ini enabled.

$ docker -d –icc=false –iptables

4. POISONED IMAGES

Untuk mempertahankan diri poisoned images (misalnya gambar yang di injeksi), Kamu harus memverifikasi hal tersebut. Karena kamu perlu memastikan bahwa gambar itu terpercaya dan signed.

Contoh:

$ docker pull [email protected]:a25306f3850e1bd44541976aa7b5fd0a29be (succeed if the image is signed)

Aktifkan konten trust ini di bash shell:

export DOCKER_CONTENT_TRUST=1

5. Sandi Database dan pencurian data:

Untuk mencegah penyerang mengambil kendali dan mendapatkan akses, kamu harus mengikuti langkah-langkah ini:

  • Membuat Filesystem Read-Only dengan menetapkan CONTAINER FILE SYSTEM TO READ-ONLY:
$ docker run –read-only debian touch x
  • Jangan menjalankan Docker sebagai root dan set menjadi User:
RUN groupadd -r user && useradd -r -g user user

USER user
  • Yang terakhir, jangan menggunakan environment variabel untuk berbagi rahasia. Dan jangan menjalankan kontainer dengan privileged FLAG.

    administrator

    Just a simple person who like photography, videography, code, and cyber security enthusiast.