สรุป 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 ในการตรวจสอบการทำงานได้