ก่อนเข้าถึงข้อมูล บริการ หรือแอปพลิเคชัน ย่อมถูกปกป้องด้วยขั้นตอนการอนุมัติบางอย่างเสมอ ซึ่งสิ่งที่เห็นได้ชัดเจนที่ทุกท่านนึกถึงได้ทันทีก็คือ ชื่อผู้ใช้และรหัสผ่าน แต่วันนี้โลกของดิจิทัลกว้างขึ้นกว่าที่เคย ไม่เพียงแค่การปฏิสัมพันธ์ระหว่างคนกับระบบ แต่ยังมีระบบกับระบบ ร่วมด้วยมากมาย ด้วยเหตุนี้เองการมีระบบ Secrets Management จึงเป็นเรื่องที่องค์กรไม่ควรมองข้าม ว่าแต่ Secrets คืออะไร? และทุกวันนี้ท่านควรจัดการสิ่งเหล่านั้นอย่างไรที่เรียกได้ว่าเป็นไปตาม Best Practice
ในบทความนี้จะชวนทุกท่านมารู้จักกับแนวทางการบริหารจัดการ Secrets ที่ท่านพึงมีในองค์กร

Secrets คืออะไร
หากไม่นับเรื่องของรหัสผ่าน(Password) ยังมีชิ้นส่วนของข้อมูลหลายอย่างที่ท่านต้องคำนึงถึง ประกอบด้วย API Keys, SSH Keys, Encryption Keys, TLS/SSL Certificates และ Credentials ของบัญชีสิทธิ์ระดับสูง ซึ่งสิ่งเหล่านี้เป็นเรื่องที่เกิดขึ้นได้ทั่วไป โดยเฉพาะแนวทางการพัฒนาแอปพลิเคชันสมัยใหม่ ที่แต่ละแอปถูกแบ่งย่อยเป็นส่วนเล็กๆ ทำให้เกิดการสื่อสารภายใน หรือแนวทางที่หลายแอปพลิเคชันต้องทำงานร่วมกัน
นอกจากนี้ยังมีการเข้ารหัสข้อมูลที่ต้องมีระบบบริหารจัดการกุญแจที่ใช้เข้ารหัส ที่ต้องมีมาตรการที่เหมาะสม ไม่นับรวมการทำงานของ DevOps ที่พวกเขาต้องบูรณาการหลายระบบให้ทำงานร่วมกันผ่านสคิร์ปต์มากมาย มาถึงตรงนี้หลายคนคงพอเห็นเค้าลางความน่ากังวลของ Secrets กันแล้ว
ความท้าทายของ Secrets
จากที่กล่าวมา Secrets เป็นมากกว่าแค่รหัสผ่าน แต่ยังอยู่ภายใต้การทำงานแทบทุกส่วน ในหัวข้อนี้มาลองพิจารณากันให้ลึกว่า ความท้าทายที่เกิดขึ้นจริงมีอะไรบ้าง
- Secrets Sprawl – เหตุการณ์ที่แอปพลิเคชันมีการฝัง Secrets เป็นเรื่องที่พบได้ทั่วไป และมักเป็นสาเหตุให้เกิดการถูกโจมตี ทั้งนี้ไม่ว่าจะเป็นซอฟต์แวร์โอเพ่นซอร์สหรือเชิงพาณิชย์ต่างเกิดเหตุการณ์เช่นนี้ได้ทั้งนั้น รวมถึงในส่วนของ CI/CD ด้วย กล่าวได้ว่าเป็นเรื่องที่แพร่หลายในแอปพลิเคชันจำนวนมาก
- Lack Visibility – เชื่อหรือไม่ ว่าในหนึ่งองค์กรอาจมี SSH Keys ได้นับล้าน แล้วยิ่งการทำงานที่แต่ละทีมจัดการ Secrets ของตัวเอง ยิ่งทำให้องค์กรมีความเสี่ยงเพราะขาดมุมมองในระบบไอทีเหล่านี้จากศูนย์กลาง
- Hardcoded Default Secrets – Default Credentials เป็นเรื่องที่พบได้บ่อยครั้งในแอปพลิเคชันและอุปกรณ์ IoT นำไปสู่การถูก Crack หรือถูกโจมตี นอกจากนี้ยังมีส่วนสคิร์ปต์ที่สร้างความอัตโนมัติด้วย
- DevOps Tools – สภาพแวดล้อมของ DevOps พวกเขาต้องเผชิญกับเครื่องมือมากมาย ทั้งการ Orchrestration และ การคอนฟิค ซึ่งแน่นอนว่าภายใต้ระบบที่ทำงานได้อัตโนมัตินั้น ล้วนแล้วแต่มีฟันเฟืองที่ช่วยสนับสนุนจากสคิร์ปต์จำนวนมากที่ภายในอาจมีการฝัง Secrets ให้ทำงานได้
- Manual Secrets Management – การบริหารจัดการ Secrets ด้วยบุคคลมักกลายเป็นช่องโหว่ที่ก่อให้เกิดความผิดพลาดได้ ดังนั้นช่องว่างเหล่านี้ควรถูกปิดลง
จะเห็นได้ว่า Secrets เป็นเรื่องสำคัญ ซึ่งแฝงอยู่ในทุกการทำงาน หากไร้ซึ่งเครื่องมือที่ดีแล้ว องค์กรคงไม่สามารถติดตาม ตรวจสอบ เรียกคืน ทำลาย Secrets เหล่านี้ได้อย่างมีประสิทธิภาพ แถมการจัดการด้วยคนคงไม่ปลอดภัยมากเพียงพอ ในหัวข้อถัดไปเราจะมาคุยกันถึงแนวทางของ Best Practice ที่ควรนำไปปรับใช้
Secret Management Best Practices
- ออกสำรวจการใช้งาน Secrets ในองค์กรของคุณว่ามีประเภทใดบ้าง คุณจะไม่มีทางรับมือได้เลยหากไม่รู้ว่าขอบเขตของตนมีอะไร
- สร้างนโยบายเพื่อสำหรับการใช้งาน Secrets เช่น ความแข็งแรง ระยะเวลา การเรียกคืน และไม่อนุญาตใช้ Default หรือการ Hardcode
- สร้างการทำงานทั้งหมดให้เกิดขึ้นได้อย่างอัตโนมัติ ตัดขั้นตอนการจัดการด้วยคนออกไป ทั้งการสร้าง จัดการ กระจาย และรักษา Secrets
- ใช้โซลูชัน Key Management กับข้อมูลที่ต้องเข้ารหัส ซึ่งกระบวนการเข้าและถอดรหัสต้องเกิดขึ้นได้อย่างอัตโนมัติ ควรควบคุมได้ถึงระดับของวิธีที่การที่แตกต่างกันในแต่ละชุดข้อมูล
- เปลี่ยน Secrets อย่างสม่ำเสมอ เพื่อป้องกันการถูกแทรกแซง
- แบ่งแยกหน้าที่ระหว่าง Secrets และข้อมูลออกจากกัน เช่น จัดเก็บคนละที่ป้องกันผลกระทบเมื่อถูกโจมตี
- จัดการสิทธิ์ด้วยแนวทาง Least Privilege ให้สิทธิ์ตามความจำเป็น หากหมดหน้าที่แล้วก็ริบคืนสิทธิ์ กรณีที่เซสชันเป็นสิทธิ์ระดับสูงควรถูกติดตามได้
- ตรวจสอบการเข้าถึงที่ไม่ได้รับอนุญาต เพราะเหตุการณ์รั่วไหลเกิดได้เสมอเพียงแค่เมื่อไหร่
- ฝึกฝนให้ความรู้แก่พนักงานทุกคนถึงวิธีจัดการ Secrets ให้ปฏิบัติตาม Best Practice หาทางบังคับใช้นโยบายให้ได้ ลดโอกาสผิดพลาด
จะมองหาโซลูชันที่ช่วยเหลือองค์กรได้อย่างไร
หากมองไปที่ผู้เล่นระดับโลกอย่าง Public Cloud ทุกเจ้าล้วนนำเสนอโซลูชัน Secrets Management แต่ในกรณีที่ท่านเป็นผู้ใช้ Multi-cloud เครื่องที่ไม่ยึดติดกับยี่ห้ออุปกรณ์หรือคลาวด์ย่อมเป็นสิ่งที่เหมาะสมมากกว่า วิธีการที่จะเลือกโซลูชันที่เข้ากับองค์กรก็คือ
- สำรวจความสามารถของเครื่องมือในท้องตลาดทั้งโอเพ่นซอร์สและเชิงพาณิชย์ว่ารองรับการจัดการกับ Secrets ประเภทใดได้บ้าง
- สำรวจความต้องการขององค์กรว่าธุรกิจมีความต้องการอะไร แต่ก็ต้องคำนึงถึงการขยายตัวในแผนอนาคตด้วย เช่น การขยายสู่ภูมิภาคอื่น หรือมีปลั๊กอินเชื่อมต่อกับแอปพลิเคชันอื่นได้
- ง่ายต่อการบูรณาการร่วมกับเครื่องมืออื่นที่ใช้ในองค์กร ไม่ถูกจำกัดจากสภาพแวดล้อม รองรับคลาวด์ต่างๆ
- ช่วยยกระดับความมั่นคงปลอดภัย ช่วยในการหมุนเวียนเปลี่ยน Secrets หรือเข้าถึงได้อย่างทันที การเข้ารหัสรองรับการมาถึงของควอนตัม
- สอดคล้องกับงบประมาณที่กำหนด ให้แน่ใจว่าไม่มีค่าใช้จ่ายแอบแฝงหลังนำมาใช้งาน มีเอกสารสนับสนุนที่ดี
- ตอบโจทย์เงื่อนไขของ Compliance หรือกฏหมาย เช่น เก็บข้อมูลในประเทศ หรืออำนาจควบคุมข้อมูลเป็นของท่านอย่างแท้จริง
- ทดลองก่อนเริ่มใช้งานจริง เพื่อให้มั่นใจได้ว่าจะทำงานได้ตามความคาดหวัง
ที่มา : https://cpl.thalesgroup.com/blog/access-management/enterprise-secrets-management-explained