ระบบรักษาความปลอดภัยของคลาวด์ที่ควรจะมี ต้องมีอะไรบ้าง?

หากเราจะใช้งานคลาวด์แล้ว ความปลอดภัยเป็นเรื่องที่ผู้ใช้บริการคลาวด์ให้ความสำคัญเป็นอันดับต้นๆ ในบ่อยครั้งก็มักจะได้ยินว่า “ก่อนหน้านี้ใช้งานไม่เห็นมีปัญหาอะไรเลย แต่พอย้ายมาใช้งานคลาวด์แล้ว กลายเป็นว่าระบบโดนแฮกขึ้นมา แบบนี้แสดงว่าระบบคลาวด์ไม่ปลอดภัยสู้ระบบของตัวเองไม่ได้” ในบทความนี้จะมาอธิบายเรื่องเหล่านี้กัน...

ความปลอดภัยของระบบคลาวด์มีอะไรบ้างที่ต้องคำนึงถึง

สำหรับระบบความปลอดภัยที่ต้องคำนึงถึงในการใช้งานระบบคลาวด์ ผมขออ้างอิงหัวข้อที่เกี่ยวข้องกับความปลอดภัยของระบบคลาวด์โดยอ้างอิงจาก Certified Cloud Security Professional (CCSP) ของหน่วยงาน ISC2 ซึ่งเป็นองค์กลางที่ได้รับการยอมรับในด้านความปลอดภัยในระดับสากล โดยมีการพิจารณาทั้งหมด 6 หัวข้อดังนี้

  1. ด้านพื้นฐานการใช้งานคลาวด์ (Cloud Concepts, Architecture and Design) รวมไปถึงรูปแบบการใช้งานคลาวด์ว่าเป็นรูปแบบใด เช่น IaaS, PaaS หรือ SaaS ซึ่งจะรวมไปถึงรูปแบบความรับผิดชอบร่วม (Shared Responsibility Model) ตามที่เคยที่อธิบายไปในบทความก่อนหน้านี้
    • ด้านการจัดการกุญแจลับ (Cryptography and key management) การยืนยันตัวตน (Identify and access control) การกำหนดสิทธิการใช้งาน
    • ด้านการออกแบบระบบของเราว่ามีการออกแบบเอาไว้เป็นอย่างไร มีการจัดการระบบเครือข่ายในระบบคลาวด์ รวมไปถึงรูปแบบการเชื่อมต่อกับระบบของเราเป็นอย่างไร
    • ด้านการประเมินผู้ให้บริการคลาวด์ว่าได้รับมาตรฐานการรับรองจากหน่วยงานกลางหรือไม่ และได้รับการรับรองด้านในบ้า
    Identify what you are already doing in the cloud
  2. ด้านความปลอดภัยของข้อมูล (Cloud Data Security) จะต้องมีการกำหนดชั้นความลับของข้อมูล การตรวจสอบการใช้งานของข้อมูล (Data flow) การเก็บข้อมุลบนคลาวด์จะเป็นแบบใด ในกรณีที่ข้อมูลมีความสำคัญมากและต้องการเก็บบนระบบคลาวด์ก็ให้มีการเก็บโดยการเข้ารหัสเอาไว้บนคลาวด์ (Data Encryption) โดยใช้มาตรฐานในการเข้ารหัสที่เป็นที่ยอมรับในสากล เป็นต้น
  3. ด้านระบบและโครงสร้างของระบบคลาวด์ (Cloud Platform & Infrastructure Security) ผู้ให้บริการคลาวด์จะต้องมีมาตรฐานการออกแบบศูนย์ข้อมูลที่ได้รับมาตรฐานสากล มีแนวทางการจัดการระบบ รวมไปถึงจะต้องสามารถตรวจสอบล็อกต่างๆ ได้ในกรณีที่เกิดปัญหา รวมไปถึงมีแผนสำรองฉุกเฉินในกรณีที่ระบบเกิดปัญหา (Business Continuity Plan หรือ BCP)
  4. ด้านการพัฒนาโปรแกรมบนระบบคลาวด์ (Cloud Application Security) หากองค์กรของเรามีการพัฒนาโปรแกรมแบบ Cloud-Native Application แล้ว เช่น การใช้งาน Container หรือ Micro service, การใช้งาน Serverless เป็นต้น จะต้องพิจารณาความปลอดภัยในกระบวนการทำงานของเราตามหลักการของ Secure Software Development Life Cycle หรือ SDLC (โดยส่วนนี้เป็นหน้าที่ของผู้ใช้บริการคลาวด์ที่ต้องดูแลเอง เพราะผู้ให้บริการคลาวด์เป็นผู้ให้บริการเครื่องมือเท่านั้น) ในกรณีที่ระบบของเรามีปัญหาอาจจะใช้เครื่องมือที่ผู้ให้บริการคลาว์มีให้เช่น Web Application Firewall (WAF) ในการช่วยป้องการการโจมตีผ่านทางเว็บไซต์ เป็นต้น
  5. ด้านการจัดการความปลอดภัย (Cloud Security Operations) โดยต้องคำนึงถึงการออกแบบระบบคลาวด์ต่างๆ ที่เกี่ยวข้องเช่น
    • การจัดการกุญแจสำหรับการเข้ารหัสต่างๆ (Key Management)
    • การบริหารจัดการด้านระบบคลาวด์ตามแนวนโยบายของ Information Technology Infrastructure Library หรือ ITIL ซึ่งเป็นการดำเนินงานทั้งผู้ใช้บริการคลาวด์และผู้ให้บริการคลาวด์ (หากเป็นผู้ให้บริการคลาวด์ มักจะรับรองมาตรฐาน ISO/IEC 20000-1)
    • การตรวจสอบความปลอดภัยของการใช้งาน เช่น การตรวจสอบช่องโหว่ของซอฟต์แวร์ (Vulnerability Assessment หรือ VA Scan) หรือการตรวจสอบช่องโหว่ (Penetrate Testing หรือ Pen-Test) เป็นต้น
    • การจัดการปัญหาที่เกิดขึ้นต่างๆ เช่น การจัดการช่องโหว่ การจัดการล็อกและการวิเคราะห์ล็อกที่เกิดขึ้น
  6. ด้านกฎหมาย ความเสี่ยงและข้อกำหนดของการใช้งานคลาวด์ (Legal, Risk and Compliance) ในการใช้งานคลาวด์จะต้องไม่ขัดต่อกฎระเบียบ กฎหมายหรือข้อบังคับต่างๆ ที่กำหนดเอาไว้ รวมไปถึงด้านความเป็นส่วนตัว (Privacy) และมาตรฐานที่เกี่ยวข้องเช่น PCI-DSS สำหรับองค์กรที่มีการใช้งานบัตรเครดิต

หัวข้อที่พิจารณาในการใช้งานคลาวด์ที่น่าสนใจ

สำหรับหัวข้อในการพิจารณาใช้งานคลาวด์ ผมขอสรุปออกมาเป็นตารางด้านล่าง

ลำดับที่ หัวข้อ แนวทางการพิจารณา
1 ความรับผิดชอบร่วม
(Shared Responsibility Model)
เลือกรูปแบบการใช้งานคลาวด์ที่เหมาะสมกับงานของเรา ซึ่งไม่ว่าจะเป็นการใช้งานแบบใดจะเป็นการแบ่งความรับผิดชอบร่วมกันระหว่างผู้ให้บริการและผู้ใช้บริการคลาวด์เสมอ
2 การเข้ารหัสข้อมูล
(Data Encryption)
การเข้ารหัสข้อมูลจะพิจารณาทั้งข้อมูลในระหว่างการส่ง (Data in transit) และข้อมูลที่ถูกเก็บเอาไว้ในระบบคลาวด์ (Data at rest) โดยเลือกใช้รูปแบบการเข้ารหัสที่เป็นสากล และบริการจัดการกุญแจในการเข้ารหัสให้ปลอดภัย
3 การควบคุมการเข้าถึง
(Access Control)
การกำหนดสิทธิและผู้ใช้งานให้เหมาะสม ไม่ควรมีการแชร์ชื่อผู้ใช้งาน การยืนยันตัวตนควรจะใช้งานระบบ Multi-Factor Authentication (MFA) การกำหนดสิทธิที่ใช้งานให้มีสิทธิเท่าที่จำเป็นในการใช้งานเท่านั้น (Least Privileges) เป็นต้น
4 การตรวจสอบและบันทึกเหตุการณ์
(Monitoring and Logging)
ต้องมีการเก็บล็อกเอาไว้อย่างสม่ำเสมอ (ตาม พรบ. คอมพิวเตอร์ของประเทศไทย ต้องมีการเก็บล็อกอย่างน้อยน 90 วัน) หากมีระบบที่ใช้ในการตรวจสอบล็อกและภัยคุกคามอัตโนมัติ เช่น ระบบ Security Information and Event Management หรือ SIEM ก็พิจาณาเลือกใช้งานตามความเสี่ยงของข้อมูล เป็นสำคัญ
5 การปฏิบัติตามมาตรฐานและกฎหมาย ปัจจุบันประเทศไทยมีการกำหนดมาตรฐานผู้ให้บริการคลาวด์แล้ว โดยแบ่งตามระดับความเสี่ยงของข้อมูล (ระดับต่ำ ระดับกลางและระดับสูง) รวมไปถึงข้อกำหนดการใช้งานต่างๆ
6 ความเสี่ยงด้านอธิปไตยไซเบอร์
(Sovereign)
การพิจารณาด้านข้อมูลที่เกี่ยวข้อง โดยข้อมูลบางประเภทจะมีข้กำหนดในการเก็บ รวมไปถึงประเทศที่จัดเก็บข้อมูลอีกด้วย
หากสรุปให้ง่ายๆ ก็คือ ก่อนเริ่มใช้งานคลาวด์ให้เราประเมินความสำคัญของข้อมูลก่อน หากเป็นข้อมูลที่สำคัญมาก เช่น แผนกลยุทธ์ของบริษัท ระบบบัญชีของบริษัทฯ ระบบการผลิต จะต้องพิจารณาใช้งานคลาวด์ที่มีความปลอดภัยในระดับสูง ซึ่งก็จะมีค่าใช้จ่ายในการปกป้องข้อมูลที่สูงตามไปด้วย แต่หากเป็นข้อมูลที่ไม่สำคัญ เช่นระบบเว็บไซต์ขององค์กรที่เปิดให้เข้าถึงโดยทั่วไป (Public Access) ก็พิจารณาใช้งานคลาวด์ที่มีความปลอดภัยในระดับต่ำแทน เพื่อประหยัดงบประมาณ เป็นต้น ซึ่งการใช้งานคลาวด์จะเป็นความรับผิดชอบร่วมกันระหว่างผู้ใช้บริการและผู้ให้บริการคลาวด์ หากใช้ระบบคลาวด์ที่มีมาตรฐานสูงแต่การจัดการเราทำได้ไม่ดีก็เป็นความเสี่ยงที่ถูกแฮกได้เช่นเดียวกัน เปรียบเสมือนกับมีเครื่องมือที่ดีแต่เราใช้งานไม่เป็นนั่นเอง

เอกสารอ้างอิง:
  • คลาวด์คอมพิวติ้ง (Cloud Computing) คืออะไร? แตกต่างกันบริการโฮสติ้ง หรือบริการอื่นๆ อย่างไร? https://www.ksc.net/th/km.aspx?id=21
  • เราจะการนำคลาวด์มาใช้ในองค์กรอย่างไรได้บ้าง? มีอะไรต้องคำนึงถึงบ้าง? https://www.ksc.net/th/km.aspx?id=22
  • คลาวด์คอมพิวติ้งแบบไหนที่เหมาะกับองค์กรของเรา? Local Cloud, Regional Cloud และ Global Cloud แตกต่างกันอย่างไร? แบบไหนถึงจะเหมาะสมกับเรา https://www.ksc.net/th/km.aspx?id=23
  • ถ้าองค์กรของเราจะเริ่มต้นใช้งานคลาวด์จะต้องเตรียมตัวอย่างไร? จะเริ่มต้นอย่างไรดี? https://www.ksc.net/th/km.aspx?id=24
  • Global Cloud เจ้าใหญ่ อย่าง Amazon AWS, Microsoft Azure หรือ Google Cloud Platform แตกต่างกันอย่างไร? ควรเลือกใช้งานเจ้าไหน? https://www.ksc.net/TH/km.aspx?id=25
  • นโยบาย "Cloud First Policy" คืออะไร? เกี่ยวข้องกับองค์กรของเราหรือไม่? https://www.ksc.net/TH/km.aspx?id=26
  • CCSP Certification Exam Outline https://www.isc2.org/certifications/ccsp/ccsp-certification-exam-outline