Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

แอบไปดู OWASP Docker Top 10 กันหน่อย

$
0
0

จากการไปแนะนำเรื่อง Docker มาก็มีคำถามเรื่อง Security !! ผมก็ไม่ค่อยมีประสบการณ์เรื่องนี้มากนัก แต่ก็ไปเจอว่าทาง OWASP นั้นได้สร้าง project OWASP Docker Top 10 ขึ้นมา เพื่อเป็นแนวทางในการวางแผนและสร้าง container ด้วย Docker อย่างปลอดภัย ซึ่งตอนนี้เป็น Draft version มาดูกันหน่อยว่ามีอะไรกันบ้าง ?

สิ่งที่ต้องเข้าใจก่อนก็คือ

Docker นั้นไม่ได้แก้ไขปัญหาเรื่องของ security ไม่ได้ช่วยเรื่องของ input validation ไม่ได้ช่วยป้องกันเรื่องของ SQL Injection เรื่องเหล่านี้มันคือ Application Security ล้วน ๆ การนำ Container มาใช้งานนั้น กระทบหลายส่วนมาก ๆ ทั้งการ deployment ทั้งเรื่องของ system ทั้งเรื่องของ network ทั้งเรื่องของ hardware แน่นอนว่า เรื่อง security ก็จำเป็นอย่างมาก ซึ่งเป็นที่มาของ project นี้ ก่อนที่จะเริ่มต้น environment ของเราต้องปลอดภัยก่อน นั่นคือการวางแผน จากนั้นก็จะมี cost ในการ rollout ตามมาอีก !!

เรามาดูกันดีกว่าว่า Top 10 มีอะไรกันบ้าง แบบสั้น ๆ ไม่รู้ว่าเข้าใจถูกไหม !!

  • D1 Secure User Mapping คือ application ใน container ไม่ควร run ด้วย root
  • D2 Patch Management Strategy คือไม่ว่าจะเป็นเครื่อง host, base image และเครื่องมือในการจัดการ container อะไรมักจะมี security bug เสมอ ดังนั้นจำเป็นต้องมีการจัดการเรื่องของการทำ patching แบบปกติและฉุกเฉินไว้ด้วย
  • D3 Network Separation and Firewalling คือ การออกแบบ network ของระบบสำคัญมาก ๆ ทั้ง network ของเครื่องมือในการจัดการ ทั้ง network ของ container ต่าง ๆ ว่า container ใดจะเข้าถึงได้จากภายในเท่านั้นหรือภายนอกเท่านั้น
  • D4 Secure Defaults and Hardening คือการทำให้แน่ใจว่ามีเพียงสิ่งที่เราต้องการใช้งานเท่านั้นที่ถูกติดตั้งและทำงานอยู่ ไม่ว่าจะเป็นที่ host, container และเครื่องมือในการจัดการ
  • D5 Maintain Security Contexts คือการแยกการทำงานของแต่ละส่วนงานให้อยู่ต่างเครื่องกัน เช่น frontend กับ backend เป็นต้น เพื่อให้สามารถจัดการความปลอดภัยแยกกัน ซึ่งช่วยลดความผิดพลาดได้ดีขึ้น
  • D6 Protect Secrets คือการจัดการพวก secret ต่าง ๆ ให้ดีทั้ง password, token และ private key เป็นต้น
  • D7 Resource Protection คือการจัดการใช้งาน resource ของแต่ละ container ให้อยู่ในขอบเขตที่กำหนดเสมอ (limit resources) ทั้ง CPU, Memeory, Disk และ Network เพื่อไม่ให้ไปกระทบต่อการทำงานของ container อื่น ๆ
  • D8 Container Image Integrity and Origin คือการจัดการ Image ที่ปลอดภัย ว่าจะไม่ถูกเปลี่ยนแปลงตั้งแต่ต้นจนถึงการ deploy
  • D9 Follow Immutable Paradigm คือ container ส่วนใหญ่ไม่ต้องการเขียนข้อมูลหรือ mount ไปยัง file system ดังนั้นกำหนดให้ container ทำงานแบบ read-only ก็พอ ช่วยทำให้มีความปลอดภัยมากขึ้น
  • D10 Logging คือทุก ๆ container, host และเครื่องมือในการ deploy ไม่ว่าจะเกิดเหตุการณ์ใด ๆ ก็ตามจะต้องถูกบันทึกไว้เสมอ เพื่อให้สามารถพิสูจน์การทำงานและตัวตนได้ โดย log ไม่ได้เขียนไว้ใน container แนะนำให้เก็บแบบ remote หรือพวก centralize log ไป
โดยเป้าหมายของ project ได้ประกอบไปด้วย
  • Developer
  • Auditor
  • Architect
  • System และ Network engineer
ลองศึกษาเพิ่มเติมดูได้ครับ น่าสนใจมาก ๆ

Viewing all articles
Browse latest Browse all 1997

Trending Articles