สรุป Docker security จาก OWASP - panupongth148/Project-SW-DEV-TOOLS-AND-ENV-Group4 GitHub Wiki

Docker security

OWASP Docker Top 10 คือ ช่วยเพิ่มความปลอดภัยในการสร้าง container ให้กับ docker

D01 - Secure User Mapping

  • ไม่ควร run application ใน container ด้วย root เพราะจะทำให้ attacker มีสิทธิ์ทุกอย่างใน container

D02 - Patch Management Strategy

  • ควร Patch ให้บ่อยที่สุดเท่าที่จะทำได้หรือถ้าทำ Automated Patch ก็จะดี และเมื่อเกิด Bug ใน image ที่ Production ควรกำหนด Patch เมื่อรับมือกับ bug ทั้ง Patch ปกติและฉุกเฉิน

D03 - Network Separation and Firewalling

  • container ควรออกแบบ network โดยกำหนดสิทธิ์การเข้าถึงแค่ Application และไม่สามารถเรียกจากภายนอกได้

D04 - Secure Defaults and Hardening

  • ตรวจสอบว่าสิ่งที่ติดตั้ง หรือ ทำงานอยู่ เป็นสิ่งที่ใช้งานจริงๆ เท่านั้น สำหรับสิ่งที่ใช้งานควร Locked Down เอาไว้

D05 - Maintain Security Contexts

  • ควรแยกการทำงานของแต่ส่วนงาน เพื่อ Security และลดความผิดพลาด เช่นการแยก Frontend และ Backend ออกจากกัน

โดยกลุ่มเรานั้นได้แบ่งเป็น frontend กับ backend ทั้งในส่วนของการพัฒนาและ docker

version: "3.8"
services:
  frontend:
    image: panupong148th/team-4-frontend
    build: ./frontend
  backend:
    image: panupong148th/team-4-backend
    build: ./backend

D06 - Protect Secrets

  • Secret ทุกๆอย่างควรได้รับการป้องกันให้ดีที่สุดเท่าที่จะเป็นไปได้เช่น Password,Token และ Key เป็นต้น

D07 - Resource Protection

  • กำหนดการใช้ Resource ของ Container ให้เหมาะสม เพื่อไม่ให้ใช้ Resource เกินที่กำหนด

D08 - Container Image Integrity and Origin

  • ควรตรวจสอบและป้องกัน Image ใน container ไม่ให้มีการเปลี่ยนแปลง หรือ แทรกแซง

D09 - Follow Immutable Paradigm

  • Image และ Container ควรทำงานแบบ Read-Only เพื่อความปลอดภัย

D10 - Logging

  • ควรมีการ Log ทุกๆ Action ใน Container เก็บไว้เสมอแต่ไม่เก็บไว้บน Containerโดยแนะนำให้เก็บ Log แบบ Remote และสามารถใช้ Log ในการตรวจสอบการทำงานได้